Re: -CURRENT panics in NFS

From: Rick Macklem <rmacklem_at_uoguelph.ca>
Date: Sat, 27 Feb 2021 15:53:15 +0000
I reproduced the problem and the attached trivial patch
seems to fix it. Please test the patch if you can.

Mateusz, I assume the directory shouldn't try and add
a cache entry for itself?
I don't test NFSv3 much and I don't test "rdirplus"
much, so it slipped through the cracks.

Thanks for reporting it, rick

________________________________________
From: owner-freebsd-current_at_freebsd.org <owner-freebsd-current_at_freebsd.org> on behalf of Juraj Lutter <otis_at_FreeBSD.org>
Sent: Saturday, February 27, 2021 9:31 AM
To: freebsd-current
Subject: Re: -CURRENT panics in NFS

CAUTION: This email originated from outside of the University of Guelph. Do not click links or open attachments unless you recognize the sender and know the content is safe. If in doubt, forward suspicious emails to IThelp_at_uoguelph.ca


And a kgdb backtrace:

(kgdb) bt
#0  __curthread () at /usr/src/sys/amd64/include/pcpu_aux.h:55
#1  doadump (textdump=textdump_at_entry=0) at /usr/src/sys/kern/kern_shutdown.c:399
#2  0xffffffff804c7b2a in db_dump (dummy=<optimized out>, dummy2=<unavailable>, dummy3=<unavailable>, dummy4=<unavailable>) at /usr/src/sys/ddb/db_command.c:575
#3  0xffffffff804c78ee in db_command (last_cmdp=<optimized out>, cmd_table=<optimized out>, dopager=dopager_at_entry=1) at /usr/src/sys/ddb/db_command.c:482
#4  0xffffffff804c762d in db_command_loop () at /usr/src/sys/ddb/db_command.c:535
#5  0xffffffff804cac36 in db_trap (type=<optimized out>, code=<optimized out>) at /usr/src/sys/ddb/db_main.c:270
#6  0xffffffff80c59d04 in kdb_trap (type=type_at_entry=3, code=code_at_entry=0, tf=<optimized out>, tf_at_entry=0xfffffe00d01c3d40) at /usr/src/sys/kern/subr_kdb.c:727
#7  0xffffffff810bc1ee in trap (frame=0xfffffe00d01c3d40) at /usr/src/sys/amd64/amd64/trap.c:576
#8  <signal handler called>
#9  kdb_enter (why=0xffffffff812accc9 "panic", msg=<optimized out>) at /usr/src/sys/kern/subr_kdb.c:506
#10 0xffffffff80c0d5d2 in vpanic (fmt=<optimized out>, ap=<optimized out>, ap_at_entry=0xfffffe00d01c3ea0) at /usr/src/sys/kern/kern_shutdown.c:907
#11 0xffffffff80c0d363 in panic (fmt=0xffffffff81e9a178 <cnputs_mtx> "\177\256&\201\377\377\377\377") at /usr/src/sys/kern/kern_shutdown.c:843
#12 0xffffffff80cd6d74 in cache_enter_time (dvp=0xfffff80079321e00, vp=0xfffff80079321e00, cnp=cnp_at_entry=0xfffffe00d01c4030, tsp=tsp_at_entry=0xfffffe00d01c40e0, dtsp=<optimized out>)
    at /usr/src/sys/kern/vfs_cache.c:2274
#13 0xffffffff80ae2bd6 in nfsrpc_readdirplus (vp=<optimized out>, vp_at_entry=0xfffff80079321e00, uiop=<optimized out>, uiop_at_entry=0xfffffe00d01c4540,
    cookiep=cookiep_at_entry=0xfffffe00d01c44e0, cred=cred_at_entry=0xfffff80079307e00, p=<optimized out>, p_at_entry=0xfffffe00de06be00, nap=nap_at_entry=0xfffffe00d01c4400,
    attrflagp=0xfffffe00d01c44f0, eofp=0xfffffe00d01c44f4, stuff=0x0) at /usr/src/sys/fs/nfsclient/nfs_clrpcops.c:3766
#14 0xffffffff80aed4ec in ncl_readdirplusrpc (vp=vp_at_entry=0xfffff80079321e00, uiop=uiop_at_entry=0xfffffe00d01c4540, cred=0xfffff80079307e00, td=td_at_entry=0xfffffe00de06be00)
    at /usr/src/sys/fs/nfsclient/nfs_clvnops.c:2490
#15 0xffffffff80afdc93 in ncl_doio (vp=vp_at_entry=0xfffff80079321e00, bp=bp_at_entry=0xfffffe000ee1c610, cr=0xfffffe00d01c3d00, cr_at_entry=0xfffff80079307e00, td=td_at_entry=0xfffffe00de06be00,
    called_from_strategy=called_from_strategy_at_entry=0) at /usr/src/sys/fs/nfsclient/nfs_clbio.c:1686
#16 0xffffffff80afce3c in ncl_bioread (vp=<optimized out>, vp_at_entry=0xfffff80079321e00, uio=<optimized out>, ioflag=ioflag_at_entry=0, cred=<optimized out>)
    at /usr/src/sys/fs/nfsclient/nfs_clbio.c:604
#17 0xffffffff80af1baf in nfs_readdir (ap=ap_at_entry=0xfffffe00d01c4918) at /usr/src/sys/fs/nfsclient/nfs_clvnops.c:2383
#18 0xffffffff80ce490f in vop_sigdefer (vop=<optimized out>, a=0xfffffe00d01c4918) at /usr/src/sys/kern/vfs_default.c:1471
#19 0xffffffff81181f38 in VOP_READDIR_APV (vop=0xffffffff81af00d8 <newnfs_vnodeops>, a=a_at_entry=0xfffffe00d01c4918) at vnode_if.c:1939
#20 0xffffffff80d0b23b in VOP_READDIR (vp=0xfffff80079321e00, uio=0xfffffe00d01c48d0, cred=<optimized out>, eofflag=0xfffffe00d01c48cc, ncookies=0x0, cookies=0x0) at ./vnode_if.h:985
#21 kern_getdirentries (td=<optimized out>, fd=<optimized out>, buf=0x801851000 <error: Cannot access memory at address 0x801851000>, count=4096, basep=basep_at_entry=0xfffffe00d01c49b0,
    residp=residp_at_entry=0x0, bufseg=UIO_USERSPACE) at /usr/src/sys/kern/vfs_syscalls.c:4142
#22 0xffffffff80d0b449 in sys_getdirentries (td=0xffffffff81e9a178 <cnputs_mtx>, uap=0xfffffe00de06c1e8) at /usr/src/sys/kern/vfs_syscalls.c:4089
#23 0xffffffff810bd00e in syscallenter (td=<optimized out>) at /usr/src/sys/amd64/amd64/../../kern/subr_syscall.c:189
#24 amd64_syscall (td=0xfffffe00de06be00, traced=0) at /usr/src/sys/amd64/amd64/trap.c:1156
#25 <signal handler called>
#26 0x00000008012a83fa in ?? ()
Backtrace stopped: Cannot access memory at address 0x7fffffffd928

—
Juraj Lutter
XMPP: juraj (at) lutter.sk
GSM: +421907986576

> On 27 Feb 2021, at 15:18, Juraj Lutter <otis_at_FreeBSD.org> wrote:
>
> Reliably reproducible:
>

_______________________________________________
freebsd-current_at_freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscribe_at_freebsd.org"

Received on Sat Feb 27 2021 - 14:53:19 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:41:27 UTC