Bug 39853 - Linux NFS client process lockup to Solaris NFS server
Summary: Linux NFS client process lockup to Solaris NFS server
Status: CLOSED WORKSFORME
Alias: None
Product: Red Hat Linux
Classification: Retired
Component: nfs-utils   
(Show other bugs)
Version: 7.1
Hardware: All
OS: Linux
high
high
Target Milestone: ---
Assignee: Pete Zaitcev
QA Contact: David Lawrence
URL:
Whiteboard:
Keywords:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2001-05-09 12:12 UTC by Colin Simpson
Modified: 2005-10-31 22:00 UTC (History)
0 users

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


Attachments (Terms of Use)

Description Colin Simpson 2001-05-09 12:12:17 UTC
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 16:07:11 UTC
> 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 16:47:07 UTC
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-22 01:30:48 UTC
Staled out.



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