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 of over 48,000 articles and solutions.

Current Customers and Partners

Log in for full access

Log In