[Samba] Samba 3.2.6 upgrade -> smbd panic in printing.

Pedro at creativetools.se Pedro at creativetools.se
Tue Dec 16 18:08:55 GMT 2008


> On Tue, Dec 16, 2008 at 08:57:14AM +0100, Pedro Rodrigues wrote:
>> Hello,
>>
>> upgraded to Samba 3.2.6, and immediately printing went into coma.
>> Observed
>> that printers lose their configurations (driver models, locations, etc).
>> And if I reset the printer drivers on each share, eventually they will
>> be
>> lost again.
>>
>> Looking at the logs we are getting panics like this:
>>
>> ---
>> [2008/12/16 05:12:51,  0] lib/util_tdb.c:tdb_log(682)
>>   tdb(/var/lib/samba/printing/CanonC1.tdb): tdb_reopen: file dev/inode
>> has
>> changed!
>> [2008/12/16 05:12:51,  0] lib/util.c:reinit_after_fork(1050)
>>   tdb_reopen_all failed.
>> [2008/12/16 05:12:51,  0]
>> printing/print_cups.c:cups_pcap_load_async(392)
>>   cups_pcap_load_async: reinit_after_fork() failed
>> [2008/12/16 05:12:51,  0] lib/util.c:smb_panic(1663)
>>   PANIC (pid 2590): cups_pcap_load_async: reinit_after_fork() failed
>> [2008/12/16 05:12:51,  0] lib/util.c:log_stack_trace(1767)
>>   BACKTRACE: 11 stack frames:
>>    #0 smbd(log_stack_trace+0x2d) [0x479c2f]
>>    #1 smbd(smb_panic+0x84) [0x479d71]
>>    #2 smbd(cups_cache_reload+0x299) [0x440d2c]
>>    #3 smbd(pcap_cache_reload+0x107) [0x43d189]
>>    #4 smbd(reload_printers+0x31) [0x6c477a]
>>    #5 smbd(check_reload+0x130) [0x2c6510]
>>    #6 smbd [0x2c655f]
>>    #7 smbd(smbd_process+0xc92) [0x2c8a76]
>>    #8 smbd(main+0x212c) [0x6c70ec]
>>    #9 /lib/libc.so.6(__libc_start_main+0xdc) [0xdd9dec]
>>    #10 smbd [0x24c061]
>> [2008/12/16 05:12:51,  0] lib/fault.c:dump_core(201)
>>   dumping core in /var/log/samba/cores/smbd
>> ---
>>
>> These didn't exist before.  I've already checked the tdb files for
>> corruption and cleaned some of them (the ones I can), with no luck.
>>
>> We are running Centos 5.2, by the way. Any ideas?
>
> This message is the key :
>
>>   tdb(/var/lib/samba/printing/CanonC1.tdb): tdb_reopen: file dev/inode
>>   has
>> changed!
>> [2008/12/16 05:12:51,  0] lib/util.c:reinit_after_fork(1050)
>>   tdb_reopen_all failed.
>
> which causes a deliberate panic in the code here :
>
>         /* Child. */
>         if (!reinit_after_fork(smbd_messaging_context(), true)) {
>                 DEBUG(0,("cups_pcap_load_async: reinit_after_fork()
> failed\n"));
>                 smb_panic("cups_pcap_load_async: reinit_after_fork()
> failed");
>         }
>
> How many printers do you have ? Do you have some sort of a batch
> job running that may delete printing tdb's ?
>
> Jeremy.
>

There are five printers, four of which with p&p drivers. And no, no batch
running, nothing that even touches the tdb files.

A ten minuet session of lsof shows only smbd accesses those tdb files. I
would be surprised if it was otherwise, since only Windows clients ever
hit this server.

/Pedro




More information about the samba mailing list