Samba 2.2.0 locking problem (long)

David Collier-Brown davecb at canada.sun.com
Wed May 30 12:03:05 GMT 2001


Tony Jago wrote:
> if I do a truss on one of these processes is produces this:
> 
> # truss -p 8751
>     *** SUID: ruid/euid/suid = 0 / 12444 / 12444  ***
>     *** SGID: rgid/egid/sgid = 0 / 50 / 50  ***
> fcntl(13, F_SETLKW, 0xFFBEF218)                 = 0
> fcntl(13, F_SETLKW, 0xFFBEF218)                 = 0

	Try adding "-d -v fcntl" to the truss command to
	see some more detail, somewhat like this: 
23261:   0.3352 fcntl(5, F_SETLKW, 0xFFBEECFC)                  = 0
23261:          typ=F_WRLCK  whence=SEEK_SET start=0     len=1    
sys=0  pid=0
23261:   0.3355 fcntl(5, F_SETLKW, 0xFFBEECFC)                  = 0
23261:          typ=F_RDLCK  whence=SEEK_SET start=4     len=1    
sys=0  pid=0
23261:   0.3360 fcntl(5, F_SETLKW, 0xFFBEECFC)                  = 0
23261:          typ=F_UNLCK  whence=SEEK_SET start=0     len=1    
sys=168 pid=0
23262:   0.3990 fcntl(6, F_SETLK64, 0xFFBEEE80)                 = 0
23262:          typ=F_WRLCK  whence=SEEK_SET start=0     len=1    
sys=8192 pid=0
23262:   0.4001 fcntl(7, F_SETLKW, 0xFFBEF104)                  = 0
23262:          typ=F_WRLCK  whence=SEEK_SET start=0     len=1    
sys=4281800412 pid=0
23262:   0.4005 fcntl(7, F_SETLK, 0xFFBEF104)                   Err#11
EAGAIN
23262:          typ=F_WRLCK  whence=SEEK_SET start=4     len=1    
sys=4281800412 pid=0
23262:   0.4008 fcntl(7, F_SETLKW, 0xFFBEF104)                  = 0
23262:          typ=F_RDLCK  whence=SEEK_SET start=4     len=1    
sys=4281800412 pid=0
23262:   0.4014 fcntl(7, F_SETLKW, 0xFFBEF104)                  = 0
23262:          typ=F_UNLCK  whence=SEEK_SET start=0     len=1    
sys=168 pid=0

	If you can start smbd from scratch, try running apptrace
	with a command like 
		apptrace -f -o output-file -t fcntl -v fcntl smbd -D
	This should report something like:
  23296:smbd     -> libc.so.1:open(0xffbeee50, 0x102, 0x180)
  23296:smbd     -> libc.so.1:fcntl(0xe, 0x7, 0xffbeec14)
  23296:smbd     -> libc.so.1:fcntl(0xe, 0x7, 0xffbeec14)
  23296:smbd     -> libc.so.1:read(fildes = 0xe, buf = 0xffbeed3c,
nbyte = 0xa8)
 = 0xa8
  23296:smbd     -> libc.so.1:strcmp(s1 = "TDB file
", s2 = "TDB file


--dave
-- 
David Collier-Brown,           | Always do right. This will gratify 
Performance & Engineering Team | some people and astonish the rest.
Americas Customer Engineering  |                      -- Mark Twain
(905) 415-2849                 | davecb at canada.sun.com




More information about the samba-technical mailing list