Bug 39853 - Linux NFS client process lockup to Solaris NFS server
Linux NFS client process lockup to Solaris NFS server
Status: CLOSED WORKSFORME
Product: Red Hat Linux
Classification: Retired
Component: nfs-utils (Show other bugs)
7.1
All Linux
high Severity high
: ---
: ---
Assigned To: Pete Zaitcev
David Lawrence
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2001-05-09 08:12 EDT by Colin Simpson
Modified: 2005-10-31 17:00 EST (History)
0 users

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2004-01-21 20:30:48 EST
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Description Colin Simpson 2001-05-09 08:12:17 EDT
From Bugzilla Helper:
User-Agent: Mozilla/4.61 [en] (X11; I; SunOS 5.7 sun4u)

Description of problem:
When you mount a Solaris NFS filesystem (automounted or manually) any
writes to this filesystem (of a decent size a few MBs say) the client
program on Linux locks up.

A very unsatisfactory workaround is to mount with options -o
rsize=512,wsize=512
but this hurts performance. 

A Solaris "snoop" of the network traffic indicates a WRITE3 NFS call then
constant retransmits. (see below for snoop output)

The client machine logs errors like this:
May  4 12:17:51 testma kernel: nfs: server patton not responding, still
trying
May  4 12:17:51 testma kernel: nfs: server patton not responding, still
trying
May  4 12:19:40 testma kernel: nfs: task 3337 can't get a request slot
May  4 12:19:40 testma kernel: nfs: task 3338 can't get a request slot
May  4 12:19:40 testma kernel: nfs: task 3339 can't get a request slot
May  4 12:19:40 testma kernel: nfs: task 3340 can't get a request slot


How reproducible:
Always

Steps to Reproduce:
1.mount solserver:/disk1 /mnt/tmpmnt
2.cd /mnt/tmpmnt
3.cp testfile1 testfile2

	

Actual Results:  cp will never return (or not in a resonable time).
Destination file size will remain at 0 bytes. 



Expected Results:  cp should create a copy of testfile1 as testfile2.

Additional info:

Snoop output of an NFS cp. WRITE3 NFS call just seems to keep retrying. 

       solserver -> lintest NFS R ACCESS3 OK (lookup)
lintest -> solserver         NFS C ACCESS3
FH=218Blookup,modify,extend,delete (lookup,modify,extend,delete)
        solserver -> lintest NFS R ACCESS3 OK (lookup,modify,extend,delete)
lintest -> solserver         NFS C CREATE3 FH=218B (UNCHECKED) csop1
        solserver -> lintest NFS R CREATE3 OK FH=A537
lintest -> solserver         NFS C ACCESS3 FH=A537 ()
        solserver -> lintest NFS R ACCESS3 OK ()
lintest -> solserver         NFS C READ3 FH=55D7 at 0 for 32768
        solserver -> lintest NFS R READ3 OK (32768 bytes)
        solserver -> lintest UDP continuation ID=9587
        solserver -> lintest UDP continuation ID=9587
        solserver -> lintest UDP continuation ID=9587
        solserver -> lintest UDP continuation ID=9587
        solserver -> lintest UDP continuation ID=9587
        solserver -> lintest UDP continuation ID=9587
        solserver -> lintest UDP continuation ID=9587
        solserver -> lintest UDP continuation ID=9587
        solserver -> lintest UDP continuation ID=9587
        solserver -> lintest UDP continuation ID=9587
        solserver -> lintest UDP continuation ID=9587
        solserver -> lintest UDP continuation ID=9587
        solserver -> lintest UDP continuation ID=9587
        solserver -> lintest UDP continuation ID=9587
        solserver -> lintest UDP continuation ID=9587
        solserver -> lintest UDP continuation ID=9587
        solserver -> lintest UDP continuation ID=9587
        solserver -> lintest UDP continuation ID=9587
        solserver -> lintest UDP continuation ID=9587
        solserver -> lintest UDP continuation ID=9587
        solserver -> lintest UDP continuation ID=9587
        solserver -> lintest UDP continuation ID=9587
lintest -> solserver         NFS C READ3 FH=55D7 at 32768 for 32768
lintest -> solserver         NFS C READ3 FH=55D7 at 65536 for 32768
        solserver -> lintest NFS R READ3 OK (32768 bytes)
        solserver -> lintest UDP continuation ID=9588
        solserver -> lintest UDP continuation ID=9588
        solserver -> lintest UDP continuation ID=9588
        solserver -> lintest UDP continuation ID=9588
        solserver -> lintest UDP continuation ID=9588
        solserver -> lintest UDP continuation ID=9588
        solserver -> lintest UDP continuation ID=9588
        solserver -> lintest UDP continuation ID=9588
        solserver -> lintest UDP continuation ID=9588
        solserver -> lintest UDP continuation ID=9588
        solserver -> lintest UDP continuation ID=9588
        solserver -> lintest UDP continuation ID=9588
        solserver -> lintest UDP continuation ID=9588
        solserver -> lintest UDP continuation ID=9588
        solserver -> lintest UDP continuation ID=9588
        solserver -> lintest UDP continuation ID=9588
        solserver -> lintest UDP continuation ID=9588
        solserver -> lintest UDP continuation ID=9588
        solserver -> lintest UDP continuation ID=9588
        solserver -> lintest UDP continuation ID=9588
        solserver -> lintest UDP continuation ID=9588
        solserver -> lintest UDP continuation ID=9588
        solserver -> lintest NFS R READ3 OK (32768 bytes)
        solserver -> lintest UDP continuation ID=9589
        solserver -> lintest UDP continuation ID=9589
        solserver -> lintest UDP continuation ID=9589
        solserver -> lintest UDP continuation ID=9589
        solserver -> lintest UDP continuation ID=9589
        solserver -> lintest UDP continuation ID=9589
        solserver -> lintest UDP continuation ID=9589
        solserver -> lintest UDP continuation ID=9589
        solserver -> lintest UDP continuation ID=9589
lintest -> solserver         UDP continuation ID=48535
lintest -> solserver         UDP continuation ID=48535
        solserver -> lintest UDP continuation ID=9589
lintest -> solserver         UDP continuation ID=48535
lintest -> solserver         UDP continuation ID=48535
        solserver -> lintest UDP continuation ID=9589
lintest -> solserver         UDP continuation ID=48535
lintest -> solserver         UDP continuation ID=48535
        solserver -> lintest UDP continuation ID=9589
lintest -> solserver         NFS C WRITE3 FH=A537 at 0 for 32768 (ASYNC)
lintest -> solserver         NFS C READ3 FH=55D7 at 98304 for 32768
lintest -> solserver         UDP continuation ID=48535
lintest -> solserver         UDP continuation ID=48535
        solserver -> lintest UDP continuation ID=9589
lintest -> solserver         UDP continuation ID=48535
lintest -> solserver         UDP continuation ID=48535
lintest -> solserver         UDP continuation ID=48535
        solserver -> lintest UDP continuation ID=9589
lintest -> solserver         UDP continuation ID=48535
lintest -> solserver         UDP continuation ID=48535
lintest -> solserver         UDP continuation ID=48535
        solserver -> lintest UDP continuation ID=9589
lintest -> solserver         UDP continuation ID=48535
lintest -> solserver         UDP continuation ID=48535
lintest -> solserver         UDP continuation ID=48535
lintest -> solserver         UDP continuation ID=48535
        solserver -> lintest UDP continuation ID=9589
lintest -> solserver         UDP continuation ID=48537
lintest -> solserver         UDP continuation ID=48537
lintest -> solserver         UDP continuation ID=48537
lintest -> solserver         UDP continuation ID=48537
lintest -> solserver         NFS C WRITE3 FH=A537 at 65536 for 32768
(ASYNC)
        solserver -> lintest UDP continuation ID=9591
        solserver -> lintest UDP continuation ID=9591
        solserver -> lintest UDP continuation ID=9591
        solserver -> lintest UDP continuation ID=9591
        solserver -> lintest UDP continuation ID=9591
        solserver -> lintest UDP continuation ID=9591
        solserver -> lintest UDP continuation ID=9591
        solserver -> lintest UDP continuation ID=9591
        solserver -> lintest UDP continuation ID=9591
        solserver -> lintest UDP continuation ID=9591
lintest -> solserver         UDP continuation ID=48538
lintest -> solserver         UDP continuation ID=48538
lintest -> solserver         UDP continuation ID=48538
lintest -> solserver         UDP continuation ID=48538
lintest -> solserver         UDP continuation ID=48538
lintest -> solserver         UDP continuation ID=48538
lintest -> solserver         NFS C WRITE3 FH=A537 at 0 for 32768 (ASYNC)
(retransmit)
lintest -> solserver         UDP continuation ID=48539
lintest -> solserver         UDP continuation ID=48539
lintest -> solserver         UDP continuation ID=48539
lintest -> solserver         UDP continuation ID=48539
lintest -> solserver         UDP continuation ID=48539
lintest -> solserver         UDP continuation ID=48539
lintest -> solserver         NFS C WRITE3 FH=A537 at 32768 for 32768
(ASYNC)
lintest -> solserver         UDP continuation ID=48539
lintest -> solserver         UDP continuation ID=48539
lintest -> solserver         UDP continuation ID=48539
lintest -> solserver         UDP continuation ID=48539
lintest -> solserver         UDP continuation ID=48539
lintest -> solserver         UDP continuation ID=48539
lintest -> solserver         UDP continuation ID=48539
lintest -> solserver         UDP continuation ID=48539
lintest -> solserver         UDP continuation ID=48539
lintest -> solserver         UDP continuation ID=48539
lintest -> solserver  UDP continuation ID=48539
lintest -> solserver         UDP continuation ID=48539
lintest -> solserver         UDP continuation ID=48539
lintest -> solserver         UDP continuation ID=48539
lintest -> solserver         UDP continuation ID=48539
lintest -> solserver         NFS C WRITE3 FH=A537 at 32768 for 32768
(ASYNC) (retransmit)
lintest -> solserver         UDP continuation ID=48539
lintest -> solserver         UDP continuation ID=48539
lintest -> solserver         UDP continuation ID=48539
lintest -> solserver         UDP continuation ID=48539
lintest -> solserver         UDP continuation ID=48539
lintest -> solserver         UDP continuation ID=48539
lintest -> solserver         UDP continuation ID=48539
lintest -> solserver         UDP continuation ID=48539
lintest -> solserver         UDP continuation ID=48539
lintest -> solserver         UDP continuation ID=48539
lintest -> solserver         UDP continuation ID=48539
lintest -> solserver         UDP continuation ID=48539
lintest -> solserver         UDP continuation ID=48539
lintest -> solserver         UDP continuation ID=48539
lintest -> solserver         UDP continuation ID=48539
lintest -> solserver         NFS C WRITE3 FH=A537 at 32768 for 32768
(ASYNC) (retransmit)
lintest -> solserver         UDP continuation ID=48540
lintest -> solserver         UDP continuation ID=48540
lintest -> solserver         UDP continuation ID=48540
lintest -> solserver         UDP continuation ID=48540
lintest -> solserver         UDP continuation ID=48540
lintest -> solserver         UDP continuation ID=48540
lintest -> solserver         NFS C WRITE3 FH=A537 at 65536 for 32768
(ASYNC) (retransmit)
lintest -> solserver         UDP continuation ID=48540
lintest -> solserver         UDP continuation ID=48540
lintest -> solserver         UDP continuation ID=48540
lintest -> solserver         UDP continuation ID=48540
lintest -> solserver         UDP continuation ID=48540
lintest -> solserver         UDP continuation ID=48540
lintest -> solserver         UDP continuation ID=48540
lintest -> solserver         UDP continuation ID=48540
lintest -> solserver         UDP continuation ID=48540
lintest -> solserver         UDP continuation ID=48540
lintest -> solserver         UDP continuation ID=48540
lintest -> solserver         UDP continuation ID=48540
lintest -> solserver         UDP continuation ID=48540
lintest -> solserver         UDP continuation ID=48540
lintest -> solserver         UDP continuation ID=48540
lintest -> solserver         NFS C WRITE3 FH=A537 at 65536 for 32768
(ASYNC) (retransmit)
lintest -> solserver         UDP continuation ID=48541
lintest -> solserver         UDP continuation ID=48541
lintest -> solserver         UDP continuation ID=48541
lintest -> solserver         UDP continuation ID=48541
lintest -> solserver         UDP continuation ID=48541
lintest -> solserver         UDP continuation ID=48541
lintest -> solserver         NFS C WRITE3 FH=A537 at 0 for 32768 (ASYNC)
(retransmit)
lintest -> solserver         UDP continuation ID=48542
lintest -> solserver         UDP continuation ID=48542
lintest -> solserver         UDP continuation ID=48542
lintest -> solserver         UDP continuation ID=48542
lintest -> solserver         UDP continuation ID=48542
lintest -> solserver         UDP continuation ID=48542
lintest -> solserver         NFS C WRITE3 FH=A537 at 32768 for 32768
(ASYNC) (retransmit)
lintest -> solserver         UDP continuation ID=48542
lintest -> solserver         UDP continuation ID=48542
lintest -> solserver         UDP continuation ID=48542
lintest -> solserver         UDP continuation ID=48542
lintest -> solserver         UDP continuation ID=48542
lintest -> solserver         UDP continuation ID=48542
lintest -> solserver         UDP continuation ID=48542
lintest -> solserver         UDP continuation ID=48542
lintest -> solserver         UDP continuation ID=48542
lintest -> solserver         UDP continuation ID=48542
lintest -> solserver         UDP continuation ID=48542
lintest -> solserver         UDP continuation ID=48542
lintest -> solserver         UDP continuation ID=48542
lintest -> solserver         UDP continuation ID=48542
lintest -> solserver         UDP continuation ID=48542
lintest -> solserver         NFS C WRITE3 FH=A537 at 32768 for 32768
(ASYNC) (retransmit)
lintest -> solserver         UDP continuation ID=48542
lintest -> solserver         UDP continuation ID=48542
(retransmits continue)
Comment 1 Bob Matthews 2001-05-09 12:07:11 EDT
> May  4 12:19:40 testma kernel: nfs: task 3337 can't get a request slot

This RPC debug message usually indicates either network congestion, or a buggy
network card/driver.  Which NIC is the Linux client using?  Does trying another
brand of NIC help?
Comment 2 Colin Simpson 2001-05-09 12:47:07 EDT
Replacing the Ethernet card which is a Dell shipped Davicom card (using the
dmfe.o kernel module) with a 3Com Etherlink 3C905C-TX-M (using 3C59x.o) works
FINE with NFS !!

This card used to work with RH7.0 NFS. Does this mean the dmfe.o driver has been
broken in the 2.4.x series kernels ? We also seem to be having the same problem
with a DLink dfe650 PC Card (PCMCIA) on a Laptop ?



Comment 3 Pete Zaitcev 2004-01-21 20:30:48 EST
Staled out.

Note You need to log in before you can comment on or make changes to this bug.