Comment 51 for bug 661294

Revision history for this message
Stefan Bader (smb) wrote : Re: System lock-up when receiving large files (big data amount) from NFS server

Ok, several high level interruptions later...

@Bill, the current build is always the latest and greatest (if that happens to build). It can be a starting point for testing. If it consistently works with that, then you could go back to the latest release and see there. If it breaks between two releases then you could try the rc versions of the next. That way, if it has been fixed, we could narrow down roughly since when. If it still does hang on the current daily, then it is something still broken and at some point we probably need to ask upstream for help.

I recently saw a bunch of NFS bugfixes been sent to stable and upstream. This would hit the current daily first.

@David, so for debugging further: beside of Wireshark, there may be the option of turning on debugging in rpc and nfs, too. All of the options produce a lot of output (and there is always a chance that things are slowed down enough for the problem to disappear). And probably it is a good idea to check with the latest mainline build to make sure the problem has not magically be fixed there. In that case it would be better to find out the when.

1. rpc/nfs debugging

First make sure the nfs module is loaded on the client. Then run:
    sudo sh -c 'echo 32767 >/proc/sys/sunprc/nfs_debug'
for nfs and/or
    sudo sh -c 'echo 32767 >/proc/sys/sunprc/rpc_debug'
for rpc debugging. Both will result in a lot of output going into /var/log/syslog. In order to have as much backlog as possible I would ssh into the client and run a 'tail -f /var/log/syslog' over the net. Maybe that looses some when hanging but on the other hand there might be some loss even when running locally. At least you retain some history and you can cut and paste from there.

2. Wireshark

Just install the wireshark package on any machine which is in the same segment (connected to the same switch) as the client. Then run "sudo wireshark" (Careful, it will complain about this being a security risk and so on in a little pop-up that happens to hide quite often behind the main window for me). I would add a "ip.addr == <clients ip address>" in the filter section and hit apply. Then select the network interface and start the trace (in that case I would not do the ssh rpc debugging cause that will add a lot of ssh traffic).