root@samba:/var/log/samba# smbd -V Version 2.2.3a-12.3 for Debian (I realize this woody carries an old version of samba; however, I've been unable to see any real solution to this problem discussed before, so it may still be relevant -- if not, please tell me to upgrade :-) I'm seeing corruption in printing.tdb that seems to occur when we have smbd already running and CUPS servers start coming up. This is pretty easy to reproduce on our set up -- every morning it happens, though it goes away if I erase printing.tdb and restart smbd (which causes clients to drop -- bad workaround!) Some log output follows: [2003/09/26 08:30:13, 0] tdb/tdbutil.c:tdb_log(475) tdb(/var/cache/samba/printing.tdb): remove_from_freelist: not on list at off=122688 [2003/09/26 08:30:13, 0] tdb/tdbutil.c:tdb_log(475) tdb(/var/cache/samba/printing.tdb): tdb_free: left free failed at 122688 [2003/09/26 08:30:23, 0] tdb/tdbutil.c:tdb_log(475) tdb(/var/cache/samba/printing.tdb): remove_from_freelist: not on list at off=122688 [2003/09/26 08:30:23, 0] tdb/tdbutil.c:tdb_log(475) tdb(/var/cache/samba/printing.tdb): tdb_free: left free failed at 122688 [2003/09/26 08:30:33, 0] tdb/tdbutil.c:tdb_log(475) tdb(/var/cache/samba/printing.tdb): remove_from_freelist: not on list at off=122688 [2003/09/26 08:30:33, 0] tdb/tdbutil.c:tdb_log(475) tdb(/var/cache/samba/printing.tdb): tdb_free: left free failed at 122688 [2003/09/26 08:30:43, 0] tdb/tdbutil.c:tdb_log(475) tdb(/var/cache/samba/printing.tdb): remove_from_freelist: not on list at off=122688 [2003/09/26 08:30:43, 0] tdb/tdbutil.c:tdb_log(475) tdb(/var/cache/samba/printing.tdb): tdb_free: left free failed at 122688
Some references to similar problems: http://www.faqchest.com/linux/samba-l/smb-02/smb-0211/smb-021109/smb02110709_14875.html http://groups.google.com/groups?hl=en&lr=&ie=UTF-8&oe=UTF-8&safe=off&th=c288daa53fcaa500&rnum=2 http://lists.samba.org/pipermail/samba/2003-January/088179.html Oh, I forgot to mention -- it seems that (at least some) printers are unreachable during the period this corruption is being logged.
This is fixed in 3.0 by automatically deleting the tdb when the open fails due to corruption. We aren't planning on backporting this to 2.2
Is there at least a known workaround for 2.2 that doesn't involve restarting samba (which causes users that have applications using files on win-mounted drives to be dropped)