Major issues with nfsv4

Konstantin Belousov kostikbel at gmail.com
Sat Dec 12 01:09:00 UTC 2020


On Fri, Dec 11, 2020 at 03:30:29PM -0500, J David wrote:
> On Thu, Dec 10, 2020 at 1:20 PM Konstantin Belousov <kib at freebsd.org> wrote:
> > E means exiting process.  Is it multithreaded ?
> > Show procstat -kk -p <pid> output for it.
> 
> To answer this separately, procstat -kk of an exiting process
> generating huge volumes of getattr requests produces nothing but the
> headers:
> 
> # ps Haxlww | fgrep DNE
>      0 21281 18549  1  20  0  11196  2560 piperd   S+     1
> 0:00.00 fgrep DNE
> 125428  9661     1  0  36 15      0    16 nfsreq   DNE+J   3-
> 3:22.54 job_exec
> # proctstat -kk 9661
>   PID    TID COMM                TDNAME              KSTACK
> 
> This happened while retesting on NFSv4.1.  Although I don't know if
> the process was originally multithreaded, it appears it wasn't even
> single-threaded by the time it got into this state.

Ok, do 'procstat -kk -a' instead.  Exiting processes are not excluded from
the kstack sysctl, might be you just raced with termination.

Or, if you have serial console, enter ddb, then do 'bt <pid>'.

Or if you have kernel built with symbols,
# kgdb /boot/kernel/kernel /dev/mem
(gdb) proc <pid>
(gdb) bt
but this has low chances of work for running process.

procstat -kk -a output might be the most informative anyway.


More information about the freebsd-fs mailing list