[Samba] incoherent oplock request/reply
Pierre Dinh-van
pierre at qsdf.org
Fri Jul 29 09:37:08 GMT 2005
Hello,
I'm running a samba 3.0.14a server in production on a fedora core 3 (kernel
2.6.9-1.667smp) with a least 250 clients (XP Pro SP2) (up to 400 sometimes).
A few days ago, a problem appeared with a soft that we are using for a long
time. (Petit Robert, a french dictionnary).
When someone launch the dictionnary, many clients are freezed when they try to
access to the "start menu" (a part of the windows XP menus are stored on the
samba server)
In the logs, we found :
Broken leases in the /var/log/messages :
Jul 29 09:44:06 Karma kernel: lease broken - owner pid = 14556
Jul 29 09:44:28 Karma kernel: lease broken - owner pid = 14556
Jul 29 09:46:47 Karma kernel: lease broken - owner pid = 14138
Jul 29 09:47:25 Karma kernel: lease broken - owner pid = 14138
Jul 29 09:47:25 Karma kernel: lease broken - owner pid = 14138
Jul 29 09:48:07 Karma kernel: lease broken - owner pid = 14795
Jul 29 09:48:42 Karma kernel: lease broken - owner pid = 15014
[...]
If we look at the first incriminated pid (14556), it's a samba process
accessing to the dictionnary.
While looking in the samba logs, we can find various clients blocked by this
pid :
For one workstation it says :
----------------------------------
[2005/07/29 09:43:43, 0] smbd/oplock.c:request_oplock_break(1054)
request_oplock_break: no response received to oplock break request to pid
14556 on port 59668 for dev = 6911, inode = 680216880, file_id = 3491
[2005/07/29 09:43:43, 0] smbd/open.c:open_mode_check(743)
open_mode_check: exlusive oplock left by process 14556 after break ! For
file PC-BIB/PC_BIB.EXE, dev = 6911, inode = 680216880. Deleting it to
continue...
[2005/07/29 09:43:43, 0] smbd/open.c:open_mode_check(747)
open_mode_check: Existent process 14556 left active oplock.
[2005/07/29 09:44:28, 0] smbd/oplock.c:process_local_message(420)
process_local_message: Received unsolicited break reply - dumping info.
[2005/07/29 09:44:28, 0] smbd/oplock.c:process_local_message(435)
process_local_message: unsolicited oplock break reply from pid 14748, port
59668, dev = 6911, inode = 680216880, file_id = 3491
For another one, it says :
------------------------------
[2005/07/29 09:43:21, 0] smbd/oplock.c:request_oplock_break(1054)
request_oplock_break: no response received to oplock break request to pid
14556 on port 59668 for dev = 6811, inode = 2801670, file_id = 3503
[2005/07/29 09:43:21, 0] smbd/open.c:open_mode_check(743)
open_mode_check: exlusive oplock left by process 14556 after break ! For
file Bureautique/WROBERT/CITATION.EXE, dev = 6811, inode = 2801670. Deleting
it to continue...
[...]
[2005/07/29 09:44:28, 0] smbd/oplock.c:process_local_message(420)
process_local_message: Received unsolicited break reply - dumping info.
[2005/07/29 09:44:28, 0] smbd/oplock.c:process_local_message(435)
process_local_message: unsolicited oplock break reply from pid 14978, port
59668, dev = 6811, inode = 2801670, file_id = 3503
The process 14556 is owned by a third user :
-----------------------------------------------------
[2005/07/29 09:08:17, 1] smbd/service.c:make_connection_snum(642)
uc003135 (172.25.11.111) connect to service netlogon initially as user root
(uid=0, gid=100) (pid 14556)
[2005/07/29 09:08:32, 1] smbd/service.c:make_connection_snum(642)
uc003135 (172.25.11.111) connect to service m-tchagaspanian initially as
user m-tchagaspanian (uid=553, gid=100) (pid 14556)
[...]
[2005/07/29 09:42:37, 0] smbd/oplock.c:request_oplock_break(1054)
request_oplock_break: no response received to oplock break request to pid
14402 on port 57594 for dev = 6911, inode = 201422791, file_id = 5454
[2005/07/29 09:42:37, 0] smbd/open.c:open_mode_check(743)
open_mode_check: exlusive oplock left by process 14402 after break ! For
file CDlepetitRobert/PR1Data/PR1.LCK, dev = 6911, inode = 201422791. Deleting
it to continue...
[2005/07/29 09:42:37, 0] smbd/open.c:open_mode_check(747)
open_mode_check: Existent process 14402 left active oplock.
[2005/07/29 09:44:06, 0] smbd/oplock.c:oplock_break(874)
oplock_break: no break received from client within 30 seconds.
oplock_break failed for file (null) (dev = 6811, inode = 2801670, file_id =
3503).
[2005/07/29 09:44:28, 0] smbd/oplock.c:process_local_message(420)
process_local_message: Received unsolicited break reply - dumping info.
[2005/07/29 09:44:28, 0] smbd/oplock.c:process_local_message(435)
process_local_message: unsolicited oplock break reply from pid 14556, port
57594, dev = 6911, inode = 201422791, file_id = 5454
The last 2 messages are strange... Doesn't it looks like a bug ? (such
messages are appearing in my various tests)
Any ideas to solve this problem ?
Thanks in advance
Pierre Dinh-van
PS : sorry for my bad english
More information about the samba
mailing list