The Samba-Bugzilla – Bug 4120
smbd crash on large file transfer from WinXP client
Last modified: 2006-09-23 02:26:53 UTC
When I try to download a large file from my samba server, using a WinXPPro client, smbd aborts silently in the middle of the transfer. The Win client reports: "The specified network name is no longer available".
This happens rather randomly, sometimes at the beginning of the transfer, sometimes after 1 or two minutes.
This happens only on my XP-Pro SP2 clients with most recent Microsoft updates. Older XP-Pro SP2 clients download successfully.
I digged a bit in the issue using gdb on an "smbd -i" process: smbd dies after a handful of readX when it gets the first SIG36 signal. It apparently processes the SIG36 correctly, but then dies on SIGIO (which a process should not receive directly... or do I miss smth?).
From there I added the options "kernel oplocks = false" and "fake oplocks = true": this makes all tranfers successful, but is not so nice of course in terms of multi-user file access.
That's all I can report so far, but dont hesitate to ask for more.
Thanks for your time and patience.
This is actually a bug in the linux kernel.
They broke the "lease" code by sending SIGIO instead of a POSIX realtime signal.
What vendor kernel are you running so I can track this ?
The only fix for a broken kernel like this is to set "kernel oplocks = no".
I'm marking the bug INVALID as it's a Linux kernel bug, not a Samba bug, but please add kernel and distribution info here.
The incriminated Linux version is a 2.6.17-r4.
I just moved to newer 2.6.18, problem seems to be solved. I say *seems* since I was not able to perform lots of tests: the latest sky2 driver used by the server tends to hang on bulk transfers.