Solaris fcntl CPU/Lock update

Jeff Mandel jeff.mandel at probes.com
Mon Feb 3 15:38:31 GMT 2003


Here's gdb with bt from two processes 12279 and 12327

root at reiger# gdb /usr/local/samba/bin/smbd 12279
GNU gdb 5.0
Copyright 2000 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain 
conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "sparc-sun-solaris2.8"...
"/tmp/12279" is not a core dump: File truncated
Attaching to program `/usr/local/samba/bin/smbd', process 12279
Reading symbols from /usr/lib/libsec.so.1...done.
Loaded symbols for /usr/lib/libsec.so.1
Reading symbols from /usr/lib/libgen.so.1...done.
Loaded symbols for /usr/lib/libgen.so.1
Reading symbols from /usr/lib/libsocket.so.1...done.
Loaded symbols for /usr/lib/libsocket.so.1
Reading symbols from /usr/lib/libnsl.so.1...done.
Loaded symbols for /usr/lib/libnsl.so.1
Reading symbols from /usr/lib/libdl.so.1...done.
Loaded symbols for /usr/lib/libdl.so.1
Reading symbols from /usr/lib/libpopt.so.0...done.
Loaded symbols for /usr/lib/libpopt.so.0
Reading symbols from /usr/lib/libc.so.1...done.
Loaded symbols for /usr/lib/libc.so.1
Reading symbols from /usr/lib/libmp.so.2...done.
Loaded symbols for /usr/lib/libmp.so.2
Reading symbols from 
/usr/platform/SUNW,Sun-Fire-280R/lib/libc_psr.so.1...done.
Loaded symbols for /usr/platform/SUNW,Sun-Fire-280R/lib/libc_psr.so.1
Reading symbols from /usr/lib/nss_files.so.1...done.
Loaded symbols for /usr/lib/nss_files.so.1
Reading symbols from /usr/lib/nss_ldap.so.1...done.
Loaded symbols for /usr/lib/nss_ldap.so.1
Reading symbols from /usr/lib/libpthread.so.1...done.
Loaded symbols for /usr/lib/libpthread.so.1
Reading symbols from /usr/local/ldapsdk5/lib/libldap50.so...done.
Loaded symbols for /usr/local/ldapsdk5/lib/libldap50.so
Reading symbols from /usr/local/ldapsdk5/lib/libssldap50.so...done.
Loaded symbols for /usr/local/ldapsdk5/lib/libssldap50.so
Reading symbols from /usr/local/ldapsdk5/lib/libssl3.so...done.
Loaded symbols for /usr/local/ldapsdk5/lib/libssl3.so
---Type <return> to continue, or q <return> to quit---
Reading symbols from /usr/local/ldapsdk5/lib/libnss3.so...done.
Loaded symbols for /usr/local/ldapsdk5/lib/libnss3.so
Reading symbols from /usr/local/ldapsdk5/lib/libnspr4.so...done.
Loaded symbols for /usr/local/ldapsdk5/lib/libnspr4.so
Reading symbols from /usr/local/ldapsdk5/lib/libprldap50.so...done.
Loaded symbols for /usr/local/ldapsdk5/lib/libprldap50.so
Reading symbols from /usr/local/ldapsdk5/lib/libplc4.so...done.
Loaded symbols for /usr/local/ldapsdk5/lib/libplc4.so
Reading symbols from /usr/local/ldapsdk5/lib/libplds4.so...done.
Loaded symbols for /usr/local/ldapsdk5/lib/libplds4.so
Reading symbols from /usr/lib/libdb-3.3.so...done.
Loaded symbols for /usr/lib/libdb-3.3.so
Reading symbols from /usr/lib/libresolv.so.2...done.
Loaded symbols for /usr/lib/libresolv.so.2
Reading symbols from /usr/lib/libthread.so.1...done.
Loaded symbols for /usr/lib/libthread.so.1
Reading symbols from /usr/lib/librt.so.1...done.
Loaded symbols for /usr/lib/librt.so.1
Reading symbols from /usr/lib/libaio.so.1...done.
Loaded symbols for /usr/lib/libaio.so.1
sol-thread active.
Retry #1:
Retry #2:
Retry #3:
Retry #4:
[New LWP    1        ]
[New Thread 1 (LWP 1)]
Symbols already loaded for /usr/lib/libsec.so.1
Symbols already loaded for /usr/lib/libgen.so.1
Symbols already loaded for /usr/lib/libsocket.so.1
Symbols already loaded for /usr/lib/libnsl.so.1
Symbols already loaded for /usr/lib/libdl.so.1
Symbols already loaded for /usr/lib/libpopt.so.0
Symbols already loaded for /usr/lib/libc.so.1
Symbols already loaded for /usr/lib/libmp.so.2
Symbols already loaded for 
/usr/platform/SUNW,Sun-Fire-280R/lib/libc_psr.so.1
Symbols already loaded for /usr/lib/nss_files.so.1
Symbols already loaded for /usr/lib/nss_ldap.so.1
Symbols already loaded for /usr/lib/libpthread.so.1
Symbols already loaded for /usr/local/ldapsdk5/lib/libldap50.so
Symbols already loaded for /usr/local/ldapsdk5/lib/libssldap50.so
Symbols already loaded for /usr/local/ldapsdk5/lib/libssl3.so
Symbols already loaded for /usr/local/ldapsdk5/lib/libnss3.so
Symbols already loaded for /usr/local/ldapsdk5/lib/libnspr4.so
Symbols already loaded for /usr/local/ldapsdk5/lib/libprldap50.so
Symbols already loaded for /usr/local/ldapsdk5/lib/libplc4.so
Symbols already loaded for /usr/local/ldapsdk5/lib/libplds4.so
Symbols already loaded for /usr/lib/libdb-3.3.so
Symbols already loaded for /usr/lib/libresolv.so.2
Symbols already loaded for /usr/lib/libthread.so.1
Symbols already loaded for /usr/lib/librt.so.1
Symbols already loaded for /usr/lib/libaio.so.1
[Switching to Thread 1 (LWP 1)]
<signal handler called>
(gdb) bt
#0  <signal handler called>
#1  0xfecd9794 in __sigprocmask () from /usr/lib/libthread.so.1
#2  0xfecce148 in _sigon () from /usr/lib/libthread.so.1
#3  0xfecd05bc in thr_sigsetmask () from /usr/lib/libthread.so.1
#4  <signal handler called>
#5  0x65646974 in ?? ()
#6  0xfecdb1f0 in usleep () from /usr/lib/libthread.so.1
#7  0xf7d1c in do_lock_spin (fsp=0x27d450, conn=0x26e760, lock_pid=0, 
count=1,
    offset=2147483538, lock_type=WRITE_LOCK) at locking/locking.c:175
#8  0x58bb4 in reply_lockingX (conn=0x26e760, inbuf=0x2173c9 "",
    outbuf=0x237819 "", length=75, bufsize=16644) at smbd/reply.c:4714
#9  0x739bc in switch_message (type=36, inbuf=0x2173c9 "", 
outbuf=0x237819 "",
    size=75, bufsize=16644) at smbd/process.c:774
#10 0x73a48 in construct_reply (inbuf=0x2173c9 "", outbuf=0x237819 "",
    size=75, bufsize=16644) at smbd/process.c:803
#11 0x73cf4 in process_smb (inbuf=0x2173c9 "", outbuf=0x237819 "")
    at smbd/process.c:897
#12 0x74814 in smbd_process () at smbd/process.c:1294
#13 0x314b4 in main (argc=0, argv=0xffbefeac) at smbd/server.c:832
(gdb) The program is running.  Quit anyway (and detach it)? (y or n) y

trace from 12327:
(gdb) bt
#0  0xfecd9794 in __sigprocmask () from /usr/lib/libthread.so.1
#1  0xfecce1e8 in _deliversigs () from /usr/lib/libthread.so.1
#2  0xfecd05c4 in thr_sigsetmask () from /usr/lib/libthread.so.1
#3  <signal handler called>
#4  0xb in ?? ()
#5  0xfecdb1f0 in usleep () from /usr/lib/libthread.so.1
#6  0xf7d1c in do_lock_spin (fsp=0x26da48, conn=0x257c68, lock_pid=0,
    count=20, offset=2147483559, lock_type=WRITE_LOCK) at 
locking/locking.c:175
#7  0x58bb4 in reply_lockingX (conn=0x257c68, inbuf=0x2173c9 "",
    outbuf=0x237819 "", length=75, bufsize=16644) at smbd/reply.c:4714
#8  0x739bc in switch_message (type=36, inbuf=0x2173c9 "", 
outbuf=0x237819 "",
    size=75, bufsize=16644) at smbd/process.c:774
#9  0x73a48 in construct_reply (inbuf=0x2173c9 "", outbuf=0x237819 "",
    size=75, bufsize=16644) at smbd/process.c:803
#10 0x73cf4 in process_smb (inbuf=0x2173c9 "", outbuf=0x237819 "")
    at smbd/process.c:897
#11 0x74814 in smbd_process () at smbd/process.c:1294
#12 0x314b4 in main (argc=0, argv=0xffbefeac) at smbd/server.c:832
(gdb) The program is running.  Quit anyway (and detach it)? (y or n) y

jra at dp.samba.org wrote:

>On Fri, Jan 31, 2003 at 09:07:23AM -0800, Jeff Mandel wrote:
>  
>
>>I have followed this fcntl bug closely, and I just applied a T-patch for 
>>solaris 8 which brought the kernel 108528-19. This includes the fix for 
>>4735093. This has not fixed the problem of smbd growing to consume all 
>>available CPU.
>>Environment is SunOS reiger 5.8 Generic_108528-19 sun4u sparc 
>>SUNW,Sun-Fire-280R
>>nss_ldap-203
>>pam_ldap-137
>>
>>Here's an excerpt of the truss I've used to diagnose this with sun.
>>
>>24495/1:            *** SUID: ruid/euid/suid = 0 / 3007 / 3007  ***
>>24495/1:            *** SGID: rgid/egid/sgid = 0 / 125 / 125  ***
>>Base time stamp:  1041263328.3198  [ Mon Dec 30 16:48:48 CET 2002 ]
>>24495/1:        psargs: /usr/local/samba/bin/smbd -D 
>>-s/usr/local/samba/lib/smb.
>>conf
>>24495/1:         0.0012 sigprocmask(SIG_SETMASK, 0xFED2AD70, 0xFFBEDF10) = 0
>>24495/1:                 set = 0xFFBFFEFF 0x00001FFF 0 0
>>24495/1:                oset = 0 0 0 0
>>24495/1:         0.0016 lwp_kill(1, SIGUSR1)                            = 0
>>24495/1:         0.0018 sigprocmask(SIG_SETMASK, 0xFFBEDF10, 0x00000000) = 0
>>24495/1:                 set = 0 0 0 0
>>24495/1:         0.0019     Received signal #16, SIGUSR1 [caught]
>>24495/1:              siginfo: SIGUSR1 pid=24495 uid=0 code=-1
>>24495/1:         0.0021 setcontext(0xFFBED9C8)
>>24495/1:         0.0022 sigprocmask(SIG_SETMASK, 0xFED2AD70, 0xFFBEDEB0) = 0
>>24495/1:                 set = 0xFFBFFEFF 0x00001FFF 0 0
>>24495/1:                oset = 0 0 0 0
>>24495/1:         0.0025 lwp_kill(1, SIGUSR1)                            = 0
>>    
>>
>
>Please ensure the smbd process is compiled with debug symbols (-g)
>and then attach to it with gdb and please send in a stack backtrace
>(bt command in gdb).
>
>Thanks,
>
>	Jeremy.
>
>  
>
>>*** Repeats continuously ***
>>
>>Any suggestions?
>>    
>>




More information about the samba-technical mailing list