RHEL6.9: NFSv3 client TCP connection stuck in FIN-WAIT-2 state forever after NFSv3 idle timer expires and NFS server's TCP FIN never arrives at the NFS client (TCP half-close)

Solution In Progress - Updated -

Issue

After the NFSv3 5 minute idle timer expires, the NFS client drops the connection and a "FIN,ACK" is sent to the NFS server. For some reason, the NFS server only responds with an 'ACK' which means the TCP connection is "half-closed". At this point, no other traffic is seen and the NFS client is hung with the TCP connection in FIN_WAIT_2 state indefinitely. This looks identical to the NFSv4 issue described in https://access.redhat.com/solutions/3053801 but it is happening on NFSv3 with the TCP keepalive patch that fixes that issue.

Environment

  • Red Hat Enterprise Linux 6 (NFSv3 client)
    • seen once on kernel-2.6.32-696.8.1.el6 (has the TCP keepalive patch for the analogous NFSv4 issue)
  • NFSv3
  • seen with a 32-bit RHEL5.5 NFS server
  • NOTE: A necessary condition for this failure is the NFS server does a TCP half-close (i.e. never sends a final FIN), which is likely due to either a bug on the NFS server (i.e. NFS server crash, etc), or some networking environment such as a firewall that strips a FIN from the TCP teardown sequence.

Subscriber exclusive content

A Red Hat subscription provides unlimited access to our knowledgebase, tools, and much more.

Current Customers and Partners

Log in for full access

Log In

New to Red Hat?

Learn more about Red Hat subscriptions

Using a Red Hat product through a public cloud?

How to access this content