[Samba] Samba 3.2.7 server loses printer - driver assignment - aditional info

Remy Zandwijk remy.zandwijk at falw.vu.nl
Wed Jan 21 08:54:03 GMT 2009


Jeremy Allison wrote:
> On Tue, Jan 20, 2009 at 05:07:33PM +0100, Remy Zandwijk wrote:
>>> Our Samba/CUPS based printserver loses the info of which driver belongs 
>>> to a certain printer. The server is running Samba 3.2.7 on Solaris 9.
>> The workstation from which printerdrivers are uploaded runs from a VMware 
>> server VM (XP) which is reverted to the last snapshot every time, to have 
>> a clean machine. The smb log shows:
>>
>> [2009/01/20 16:30:50,  0] lib/fault.c:(40)
>>   ===============================================================
>> [2009/01/20 16:30:50,  0] lib/fault.c:(41)
>>   INTERNAL ERROR: Signal 10 in pid 20404 (3.2.7)
>>   Please read the Trouble-Shooting section of the Samba3-HOWTO
>> [2009/01/20 16:30:50,  0] lib/fault.c:(43)
>>
>>   From: http://www.samba.org/samba/docs/Samba3-HOWTO.pdf
>> [2009/01/20 16:30:50,  0] lib/fault.c:(44)
>>   ===============================================================
>> [2009/01/20 16:30:50,  0] lib/util.c:(1663)
>>   PANIC (pid 20404): internal error
>> [2009/01/20 16:30:50,  0] lib/util.c:(1817)
>>   unable to produce a stack trace on this platform
>> [2009/01/20 16:30:50,  0] lib/fault.c:(201)
>>   dumping core in /var/log/samba/cores/smbd
>>
>>
>> I guess this is bad....Unfortunately, there is no core dump in that directory.
>>
>> Any comments?
> 
> Can you compile with -g and then add the following to
> your smb.conf [global] section please ?
> 
> panic action = "/bin/sleep 99999"
> 
> when you reproduce the crash smbd should be stuck
> waiting for the sleep process to finish. Attach to
> the parent of the sleep process (the crashed smbd)
> with gdb and get a backtrace (the "bt" command).
> 
> This should tell us more about where the problem
> happens.

OK, we have a backtrace (using dbx from Sun Studio):


/opt/SUNWspro/bin/dbx -I /var/tmp/source -S /opt/samba/sbin/smbd 24586
Reading smbd
Reading ld.so.1
Reading libthread.so.1
Reading libldap.so.5
Reading libcups.so.2
Reading libz.so.1
Reading libpthread.so.1
Reading libresolv.so.2
Reading libnsl.so.1
Reading libsocket.so.1
Reading libm.so.1
Reading libsec.so.1
Reading libsendfile.so.1
Reading libdl.so.1
Reading libtalloc.so.1
Reading libtdb.so.1
Reading libwbclient.so.0
Reading libc.so.1
Reading librt.so.1
Reading libmd5.so.1
Reading libmp.so.2
Reading libaio.so.1
Reading libc_psr.so.1
Reading UTF-16LE%CP850.so
Reading CP850%UTF-16LE.so
Reading nss_files.so.1
Reading nss_ldap.so.1
Reading libsldap.so.1
Reading libdoor.so.1
Attached to process 24586
t at 1 (l at 1) stopped in _waitid at 0xffffffff7d1a8788
0xffffffff7d1a8788: _waitid+0x0008:     ta       %icc,0x0000000000000040
Current function is smb_panic (optimized)
dbx: warning: File `util.c' has been modified more recently than `smbd'
  1669                   result = system(cmd);
(dbx) where
current thread: t at 1
   [1] _waitid(0x0, 0x600b, 0xffffffff7fffee40, 0x103, 0x0, 0x0), at 
0xffffffff7d1a8788
   [2] _libc_waitpid(0x600b, 0xffffffff7ffff000, 0x100, 0xfffffffffffffff8, 
0x0, 0xffffffff7ffff071), at 0xffffffff7d1603a0
   [3] system(0x100862200, 0x100862200, 0x10060f770, 0x1, 0x684, 0x1007b43d0), 
at 0xffffffff7d19e744
=>[4] smb_panic(why = ???) (optimized), at 0x100318de4 (line ~1669) in "util.c"
   [5] cups_pcap_load_async(pfd = ???) (optimized), at 0x1002d26e4 (line ~393) 
in "print_cups.c"
   [6] cups_cache_reload() (optimized), at 0x1002d2e24 (line ~522) in 
"print_cups.c"
   [7] pcap_cache_reload() (optimized), at 0x1002d0e4c (line ~149) in "pcap.c"
   [8] reload_printers() (optimized), at 0x10058dbb8 (line ~799) in "server.c"
   [9] check_reload(t = ???) (optimized), at 0x100100b98 (line ~1887) in 
"process.c"
   [10] timeout_processing(select_timeout = ???, last_timeout_processing_time 
= ???) (optimized), at 0x100100c00 (line ~1908) in "process.c"
   [11] smbd_process() (optimized), at 0x1001010b0 (line ~2078) in "process.c"
   [12] main(argc = ???, argv = ???) (optimized), at 0x10058f180 (line ~1450) 
in "server.c"
(dbx)


 From the logfile:

[2009/01/21 08:57:01,  0] lib/util_tdb.c:(682)
   tdb(/var/opt/samba/locks/printing/st-compacta.tdb): tdb_reopen: file 
dev/inode has changed!
[2009/01/21 08:57:01,  0] lib/util.c:(1050)
   tdb_reopen_all failed.
[2009/01/21 08:57:01,  0] printing/print_cups.c:(392)
   cups_pcap_load_async: reinit_after_fork() failed
[2009/01/21 08:57:01,  0] lib/util.c:(1663)
   PANIC (pid 24586): cups_pcap_load_async: reinit_after_fork() failed
[2009/01/21 08:57:01,  0] lib/util.c:(1817)
   unable to produce a stack trace on this platform
[2009/01/21 08:57:01,  0] lib/util.c:(1668)
   smb_panic(): calling panic action [/usr/bin/sleep 99999]
[2009/01/21 08:57:06,  0] smbd/service.c:(1366)
   pc08-992 (130.37.80.247) couldn't find service 
::{2227a280-3aea-1069-a2de-08002b30309d}



-Remy


More information about the samba mailing list