TDB on OpenBSD problem.

Jeremy Allison jeremy at
Wed May 2 19:52:52 GMT 2001

Jason Coene wrote:
> Jeremy,
> It is not starting at such a high number. The log files overflow
> (and log.smbd.old is created, then its replaced by another old, etc. etc.)
> before i can stop the smbd process (and children). I always delete the
> /var/spool/lock/* files (thats where my tdb files go), and the log files
> before testing a new build.

Set max log size = 0

in the [global] section of your smb.conf. This will allow infinite log file

> I do have some more information about the error.
> It seems to happen when two computers connect. A Typical Scenario:
> 1) computer JASON WIN2K (not domain member) connects to server ESKIMO.
>    Reads lots of files, everything works great.
> 2) computer BILLY NT40W (not domain member) connects to server ESKIMO.
>    Before eskimo gives a share listing, it spits all the TDB information.
> 3) smbd forks multiple times, and when killing the parent PID,
>    the children do NOT die immediately. It takes multiple kill -9's to the
>    children to fix the error.
> I tried capping the size (if tdb->max_size >= MAX_SIZE_I_DECLARE)
> return -1 in tdb_expand, it worked. Clients can connect, until
> it starts logging "no more connections allowed". After 2 pc's connect
> to 3 shares each, the max. connections are used. The MAX_SIZE_I_DECLARE
> was around 1600KB. The PC # and share # are very rough, i only tried this
> in a few diff. scenarios. 6 seems to be the magic number of shares, though,
> not including 1 connect to each pc.
> tdb_expand runs nicely a few times, all expanding to 8192 until it goes
> berzerk.

We need to see what the tdb->map_size value is on entry to
tdb_expand(), also instrument the tdb_oob() function to
print out the tdb->map_size value. This will help track when
it goes haywire.


Buying an operating system without source is like buying
a self-assembly Space Shuttle with no instructions.

More information about the samba-technical mailing list