Bug 203133 - [nfs] [lor] newnfs/proctree lock order reversal
Summary: [nfs] [lor] newnfs/proctree lock order reversal
Status: New
Alias: None
Product: Base System
Classification: Unclassified
Component: kern (show other bugs)
Version: 10.2-BETA2
Hardware: Any Any
: --- Affects Only Me
Assignee: freebsd-fs (Nobody)
URL:
Keywords:
: 203134 (view as bug list)
Depends on:
Blocks:
 
Reported: 2015-09-15 17:57 UTC by Gavin Atkinson
Modified: 2015-09-20 21:41 UTC (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Gavin Atkinson freebsd_committer freebsd_triage 2015-09-15 17:57:55 UTC
Host is 10.2-BETA2 running r285810.  Host has four NFS mounts from two separate NetApp filers.  One of those filers was rebooted, and a client got this:

Sep 15 07:13:36 client kernel: NLM: failed to contact remote rpcbind, stat = 5, port = 28416
Sep 15 07:14:01 client kernel: NLM: failed to contact remote rpcbind, stat = 5, port = 28416
Sep 15 07:14:26 client kernel: NLM: failed to contact remote rpcbind, stat = 5, port = 28416
Sep 15 07:14:28 client kernel: lock order reversal:
Sep 15 07:14:28 client kernel: 1st 0xfffff801b48639a0 newnfs (newnfs) @ /space/freebsd/stable/10/sys/kern/vfs_vnops.c:1332
Sep 15 07:14:28 client kernel: 2nd 0xffffffff81c69458 proctree (proctree) @ /space/freebsd/stable/10/sys/kern/subr_prf.c:205
Sep 15 07:14:28 client kernel: newnfs server netapp:/vol/filestore: not responding
Sep 15 07:14:28 client kernel: KDB: stack backtrace:
Sep 15 07:14:28 client kernel: newnfs server netapp:/vol/filestore: not responding
Sep 15 07:14:28 client kernel: newnfs server netapp:/vol/filestore: not responding
Sep 15 07:14:28 client kernel: db_trace_self_wrapper() at db_trace_self_wrapper+0x2b/frame 0xfffffe0469134f40
Sep 15 07:14:28 client kernel: kdb_backtrace() at kdb_backtrace+0x39/frame 0xfffffe0469134ff0
Sep 15 07:14:28 client kernel: witness_checkorder() at witness_checkorder+0xe24/frame 0xfffffe0469135080
Sep 15 07:14:28 client kernel: _sx_slock() at _sx_slock+0x76/frame 0xfffffe04691350c0
Sep 15 07:14:28 client kernel: vtprintf() at vtprintf+0x3d/frame 0xfffffe0469135140
Sep 15 07:14:28 client kernel: tprintf() at tprintf+0x3b/frame 0xfffffe04691351a0
Sep 15 07:14:28 client kernel: nfs_feedback() at nfs_feedback+0x232/frame 0xfffffe04691351e0
Sep 15 07:14:28 client kernel: clnt_reconnect_call() at clnt_reconnect_call+0x556/frame 0xfffffe0469135290
Sep 15 07:14:28 client kernel: newnfs_request() at newnfs_request+0x947/frame 0xfffffe04691353e0
Sep 15 07:14:28 client kernel: nfscl_request() at nfscl_request+0x72/frame 0xfffffe0469135430
Sep 15 07:14:28 client kernel: nfsrpc_getattr() at nfsrpc_getattr+0xbb/frame 0xfffffe0469135580
Sep 15 07:14:28 client kernel: nfs_getattr() at nfs_getattr+0x12e/frame 0xfffffe0469135740
Sep 15 07:14:28 client kernel: VOP_GETATTR_APV() at VOP_GETATTR_APV+0xf1/frame 0xfffffe0469135770
Sep 15 07:14:28 client kernel: vn_stat() at vn_stat+0x81/frame 0xfffffe0469135870
Sep 15 07:14:28 client kernel: vn_statfile() at vn_statfile+0x4f/frame 0xfffffe04691358c0
Sep 15 07:14:28 client kernel: kern_fstat() at kern_fstat+0xa2/frame 0xfffffe0469135910
Sep 15 07:14:28 client kernel: sys_fstat() at sys_fstat+0x17/frame 0xfffffe04691359a0
Sep 15 07:14:28 client kernel: amd64_syscall() at amd64_syscall+0x25a/frame 0xfffffe0469135ab0
Sep 15 07:14:28 client kernel: Xfast_syscall() at Xfast_syscall+0xfb/frame 0xfffffe0469135ab0
Sep 15 07:14:28 client kernel: --- syscall (189, FreeBSD ELF64, sys_fstat), rip = 0x80bec274a, rsp = 0x7fffddbc9f58, rbp = 0x7fffddbc9ff0 ---

On reconnect, I got a second (different) lock order reversal, I'll open a second PR about that as I believe it to be unrelated.
Comment 1 Rick Macklem freebsd_committer freebsd_triage 2015-09-20 21:41:08 UTC
*** Bug 203134 has been marked as a duplicate of this bug. ***