[linux-cifs-client] 2.6.16-rc: CIFS reproducibly freezes the computer

Steven French sfrench at us.ibm.com
Tue Feb 14 16:01:59 GMT 2006








> I'm connecting to a Samba server.
>
> Copying data to the server works without any problems.
>
> When trying to copy some GB from the server, my computer completely
> frezzes after some 100 MB. This is reproducible.
>
> "Complete freeze" is:
> - no reaction to any input, even when I was in the console the magic
>   SysRq key is not working
> - if XMMS was playing, the approx. half a second of the song that was
>   playing at the time when it happened is played in an endless loop by
>   the sound chip
>
> I once switched to the console waiting for the crash, and I saw the
> following messages:
>   CIFS VFS: No response to cmd 46 mid 5907
>   CIFS VFS: Send error in read = -11
>
> There are no other CIFS messages in my logs, and the messages above
> didn't make it into the logs (there's nothing recorded in the logs at
> the time of the crashes).
>
> I tried kernel 2.6.16-rc2 and 2.6.16-rc3.
>
> CIFS options in my kernel:
> CONFIG_CIFS=y
> # CONFIG_CIFS_STATS is not set
> # CONFIG_CIFS_XATTR is not set
> # CONFIG_CIFS_EXPERIMENTAL is not set
>
> I'm mounting with (slightly anonymized):
> mount -t cifs -o user="foo",ip=11.22.33.44 //DAT/bar bar
>
> I'm using the smbfs 3.0.21a-4 package from Debian.
>
> It doesn't occur in 2.6.15.4, because with this kernel (and AFAIR also
> with older kernels) my computer refuses to mount this share.
>
> Mounting the same share with smbfs works without big problems (on some
> rare occassions the connection might become stale and I have to umount
> and remount the share, but this is rare and it never affects the
> stability of my computer).
>
> I'm using an e100 network card with a 10 MBit/s connection.
>
> Any other information I can provide for helping to debug this problem?
>
> TIA
> Adrian

Command 46 is an SMB Read.  IIRC send error in read -11 is EAGAIN which
could
indicate that the socket is congested and stayed congested but normally
that would be accompanied by a "sends on socket stuck for x seconds"

Could you check /proc/fs/cifs/DebugData and see if the number of
reconnections
is non-zero (indicating that the tcp session to the server died).

Any chance you could do an ethereal network trace of the failure (perhaps
on the server, if the client is hanging) so we could see the
last request (presumably a read) that the client sent (and whether the
server responded).

Also is it possible to build your kernel with some of the debugging options
turned on (e.g. "Debug Memory allocations" and "mutex debugging, deadlock
detection" and
"detect soft lockups") to see if we are overwritting memory and hitting an
obscure
deadlock.

It would also be helpful, if the problem turns out to be non-obvious, to
track this via a new bug # in bugzilla.samba.org

Steve French
Senior Software Engineer
Linux Technology Center - IBM Austin
phone: 512-838-2294
email: sfrench at-sign us dot ibm dot com
-------------- next part --------------
HTML attachment scrubbed and removed


More information about the linux-cifs-client mailing list