Samba 2_2 CVS w/ Linux 2.4.18 Oplock Hangup... Help!

Richard Bollinger rabollinger at attbi.com
Thu Jun 6 12:44:05 GMT 2002


Test scenerio:

Server:  Samba 2_2 CVS as of morning of 6/4/2002.  Linux 2.4.18 ext2 file system.  AMD Athlon
processor.

On PC...
    net use f: \\server\share
    type hi.txt

On Server...
    smbstatus        shows the file oplocked
    cat hi.txt            hangs until control C hit

On PC...
    net use f: /d

On Server...
    smbstatus        shows the connection still in effect and file still oplocked!
    cat hi.txt            still hangs until control C hit

smbstatus output:

Samba version 2.2.5-pre #1 Tue Jun 4 14:03:39 EDT 2002
Service      uid      gid      pid     machine
----------------------------------------------
u_tmp        rab      tcs      30240   p139     (128.1.3.139) Thu Jun  6 15:22:51 2002

Locked files:
Pid    DenyMode   Access      R/W        Oplock           Name
--------------------------------------------------------------
30240  DENY_NONE  0x1         RDONLY     EXCLUSIVE+BATCH  /u/tmp/hi.txt   Thu Jun  6 15:23:28 2002



debug session to see where it is:


root at LS04:/u/tmp/samba_2_2/samba-2.2.5-pre/source.Linux# gdb bin/smbd
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 "i386-slackware-linux"...
(gdb) attach 30240
Attaching to program: /usr/local/tmp/samba_2_2/samba-2.2.5-pre/source.Linux/bin/smbd, Pid 30240
0x4012cd8e in ?? ()
(gdb) where
#0  0x4012cd8e in ?? ()
#1  0x8149c46 in receive_local_message (buffer=0x401c9009 "",
    buffer_len=131137, timeout=1) at smbd/oplock.c:100
#2  0x80a0355 in async_processing (buffer=0x401c9009 "", buffer_len=131137)
    at smbd/process.c:121
#3  0x80a05fe in receive_message_or_smb (buffer=0x401c9009 "",
    buffer_len=131137, timeout=60000) at smbd/process.c:245
#4  0x80a17c6 in smbd_process () at smbd/process.c:1250
#5  0x806a098 in main (argc=2, argv=0xbffffae4) at smbd/server.c:835
#6  0x400842eb in ?? ()
(gdb) quit
The program is running.  Quit anyway (and detach it)? (y or n) s y
Detaching from program: /usr/local/tmp/samba_2_2/samba-2.2.5-pre/source.Linux/bin/smbd, Pid 30240



strace oddly enough just loops???


root at LS04:/u/tmp/samba_2_2/samba-2.2.5-pre/source.Linux# strace -p 30240
select(21, [12 20], NULL, NULL, {0, 10000}) = 0 (Timeout)
select(21, [5 12 20], NULL, NULL, {60, 0}) = 1 (in [5], left {60, 0})
time(NULL)                              = 1023392251
select(21, [12 20], NULL, NULL, {0, 1000}) = 0 (Timeout)
select(21, [5 12 20], NULL, NULL, {60, 0}) = 1 (in [5], left {60, 0})
time(NULL)                              = 1023392251
select(21, [12 20], NULL, NULL, {0, 1000}) = 0 (Timeout)
select(21, [5 12 20], NULL, NULL, {60, 0}) = 1 (in [5], left {60, 0})
time(NULL)                              = 1023392251
select(21, [12 20], NULL, NULL, {0, 1000}) = 0 (Timeout)
select(21, [5 12 20], NULL, NULL, {60, 0}) = 1 (in [5], left {60, 0})
time(NULL)                              = 1023392251
select(21, [12 20], NULL, NULL, {0, 1000}) = 0 (Timeout)
select(21, [5 12 20], NULL, NULL, {60, 0}) = 1 (in [5], left {60, 0})
time(NULL)                              = 1023392251
select(21, [12 20], NULL, NULL, {0, 1000}) = 0 (Timeout)
select(21, [5 12 20], NULL, NULL, {60, 0}) = 1 (in [5], left {60, 0})
time(NULL)                              = 1023392251
select(21, [12 20], NULL, NULL, {0, 1000}) = 0 (Timeout)
select(21, [5 12 20], NULL, NULL, {60, 0}) = 1 (in [5], left {60, 0})
time(NULL)                              = 1023392251






More information about the samba-technical mailing list