Bug 517 - printing.tdb corruption; printers not available from win32 (using CUPS backend)
Summary: printing.tdb corruption; printers not available from win32 (using CUPS backend)
Status: RESOLVED WONTFIX
Alias: None
Product: Samba 2.2
Classification: Unclassified
Component: Printing (show other bugs)
Version: 2.2.3a
Hardware: Other other
: P3 major
Target Milestone: ---
Assignee: Gerald (Jerry) Carter (dead mail address)
QA Contact:
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2003-09-26 08:35 UTC by Christian Reis
Modified: 2003-11-25 11:46 UTC (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Christian Reis 2003-09-26 08:35:33 UTC
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
Comment 1 Christian Reis 2003-09-26 08:37:34 UTC
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.
Comment 2 Gerald (Jerry) Carter (dead mail address) 2003-11-25 11:19:15 UTC
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
Comment 3 Christian Reis 2003-11-25 11:46:23 UTC
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)