Bug 112529 - NFS over TCP under load hangs with "impossible packet length"
Summary: NFS over TCP under load hangs with "impossible packet length"
Status: Closed FIXED
Alias: None
Product: Base System
Classification: Unclassified
Component: amd64 (show other bugs)
Version: 6.2-RELEASE
Hardware: Any Any
: Normal Affects Only Me
Assignee: freebsd-amd64 (Nobody)
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2007-05-08 20:40 UTC by Seraphi
Modified: 2007-05-08 22:12 UTC (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Seraphi 2007-05-08 20:40:04 UTC
NFS over UDP will hang under load and throw the following errors to syslog:
May  8 14:36:55 nfsclient05 kernel: impossible packet length (13050202) from nfs server 192.168.101.12:/store22
May  8 14:36:56 nfsclient05 kernel: impossible packet length (1669907873) from nfs server 192.168.101.12:/store22
May  8 14:37:01 nfsclient05 kernel: impossible packet length (46381) from nfs server 192.168.101.12:/store22

I have tried many mount options, but here is one set that will have this problem:
192.168.101.12:/store22       /s22           nfs     ro,-i,-b,-3,-T,-r=16384,-w=16384 0 0

To get the error to occur, I simply copy a multi-gig file from NFS to a local drive. It happens very frequently.  I have only tried this on gigabit networks.

The error goes away if I use UDP, which is what I am using until this is fixed.

I have tried this on FreeBSD 6.1 as well and had the same problem. I have also tried a different NFS server running a different OS on a different network with a different configuration on different hardware. It did not help. I have tried updating with freebsd-update but the status is unchanged.

Fix: 

Use UDP:
192.168.101.12:/store22       /s22           nfs     ro,-i,-b,-3,-U,-r=16384,-w=16384 0 0
How-To-Repeat: Put an NFS client and server on a gigabit network. Mount the server using TCP:
192.168.101.12:/store22       /s22           nfs     ro,-i,-b,-3,-T,-r=16384,-w=16384 0 0

Copy a large file (1GB+) from the NFS mount to a local drive. Do this a couple of times, then check /var/log/messages
Comment 1 Seraphi 2007-05-08 21:02:56 UTC
This is a duplicate of 112528. This can be removed.

On 5/8/07, FreeBSD-gnats-submit@freebsd.org <
FreeBSD-gnats-submit@freebsd.org> wrote:
>
> Thank you very much for your problem report.
> It has the internal identification `amd64/112529'.
> The individual assigned to look at your
> report is: freebsd-amd64.
>
> You can access the state of your problem report at any time
> via this link:
>
> http://www.freebsd.org/cgi/query-pr.cgi?pr=112529
>
> >Category:       amd64
> >Responsible:    freebsd-amd64
> >Synopsis:       NFS over TCP under load hangs with "impossible packet
> length"
> >Arrival-Date:   Tue May 08 19:40:04 GMT 2007
>
Comment 2 John-Mark Gurney freebsd_committer freebsd_triage 2007-05-08 22:11:48 UTC
State Changed
From-To: open->closed

dup of 112528 per submitter