Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 25 Nov 2025 11:06:30 -0500
From:      J David <j.david.lists@gmail.com>
To:        freebsd-fs@freebsd.org
Subject:   NFSv4.2 hangs on 14.3
Message-ID:  <CABXB=RQL0tqnE34G6PGLn6AmcwSpapm0-forQZ5vLBQBwcA12Q@mail.gmail.com>

next in thread | raw e-mail | index | archive | help

Hello,

We are still experiencing occasional NFS hangs on FreeBSD 14.3 clients.

The hang begins after a message like this is logged on the client console:

newnfs_request: Wrong session srvslot=0 slot=1
retseq diff 0x70428f95

The relevant filesystem is mounted read-only and has not been modified
on the server side in at least a week.

The fstab flags are:

ro,nfsv4,minorversion=2,tcp,nosuid,noatime,nolockd,noresvport,oneopenown

This happens to one client machine at a time out of dozens. It happens
about once a week at a random time. We set up servers with identical
content running Linux and FreeBSD and have half the clients using one
and half using the other in an attempt to narrow this down. It doesn't
seem to matter which server the clients are connected to.

The procstat -kk of a hanging df process:

21893 100465 df                  -                   mi_switch+0xbd
_sleep+0x1f3 vfs_busy+0x203 kern_getfsstat+0x1e8 sys_getfsstat+0x22
amd64_syscall+0x117 fast_syscall_common+0xf8

The procstat -kk of a hanging ls of the affected mount:

22847 643317 ls                  -                   mi_switch+0xbd
sleeplk+0x10a lockmgr_slock_hard+0x393 nfs_lock+0x29 vop_sigdefer+0x2a
_vn_lock+0x47 vget_finish+0x1e cache_lookup+0x274 nfs_lookup+0x141
vop_sigdefer+0x2a vfs_lookup+0x421 namei+0x23d kern_statat+0xd4
sys_fstatat+0x27 amd64_syscall+0x117 fast_syscall_common+0xf8

The procstat -kk of "nfsstat -m:"

27566 805047 nfsstat             -                   mi_switch+0xbd
sleeplk+0x10a lockmgr_xlock_hard+0x398 nfs_lock+0x29 vop_sigdefer+0x2a
_vn_lock+0x47 vfs_cache_root+0x9d vfs_root_sigdefer+0x35
vfs_lookup_cross_mount+0xd2 vfs_lookup+0x78b namei+0x23d
nfsrv_lookupfilename+0x72 nfssvc_nfscl+0x2d1 sys_nfssvc+0xb8
amd64_syscall+0x117 fast_syscall_common+0xf8

The "df" was the first thing run, so it's possible that it is holding
the lock that the other two are waiting for, which would make its
procstat the most relevant.

Access to NFS mounts from other servers is not affected.

I have run out of ideas for troubleshooting this and would sincerely
appreciate any advice!

Thanks!



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CABXB=RQL0tqnE34G6PGLn6AmcwSpapm0-forQZ5vLBQBwcA12Q>