Solaris fcntl CPU/Lock update

Pierre Belanger pbelang1 at oss.cantel.rogers.com
Thu Feb 27 15:42:53 GMT 2003


Did you try to compile using OpenLDAP? I think that can
be a "quick" fix.

Otherwise, open a ticket with Sun?

Pierre B.

Jeff Mandel wrote:
>>
>>
>>> 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
>>>   
>>
>>
>> This is a much more interesting backtrace than the
>> other. Why is smbd linking in pthread libraries ?
>> smbd is *NOT* a threaded program.
>>
>> The backtrace you have here shows smbd trying to get
>> a fcntl lock on behalf of a client and failing to get it
>> instantaneously, so going into the lock spin code. It
>> will try 3 times, sleeping for 10 usec between each attempt,
>> and then return a fail to the client. This is not in itself
>> a spinning bug or problem, smbd is meant to do this.
>>
>> I'm worried about the interaction between the Solaris lwp
>> libc code and smbd.... smbd should be a simple program
>> with only one thread of execution.
>>
>> Jeremy.
>>
>>  
>>
> Since it seems that libthread shows up because nss_ldap (padl's) is 
> used, does anyone have suggestions for dealing with this at the nss_ldap 
> level?
> 
> Jeff
> 




More information about the samba-technical mailing list