Re: sleepable after non-sleepable LORs

From: Hiroki Sato <hrs_at_FreeBSD.org>
Date: Tue, 06 May 2008 01:34:53 +0900 (JST)
Henrik Brix Andersen <brix_at_freebsd.org> wrote
  in <20080502233857.GA24200_at_tirith.brixandersen.dk>:

br> Hi,
br>
br> I'm seeing a few LORs in -CURRENT from today when VFS attempts to
br> mount the root filesystem.

I also got the same LORs in 2008/05/05 8-CURRENT kernel.  No
panic/deadlock here.

----(from here)----
Copyright (c) 1992-2008 The FreeBSD Project.
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
        The Regents of the University of California. All rights reserved.
FreeBSD is a registered trademark of The FreeBSD Foundation.
FreeBSD 8.0-CURRENT #0: Tue May  6 00:37:37 JST 2008
    hrs_at_re.allbsd.org:/usr/obj/usr/src/sys/RE
WARNING: WITNESS option enabled, expect reduced performance.
Timecounter "i8254" frequency 1193182 Hz quality 0
CPU: Dual-Core AMD Opteron(tm) Processor 1210 (1800.01-MHz 686-class CPU)
  Origin = "AuthenticAMD"  Id = 0x40f33  Stepping = 3
  Features=0x178bfbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CLFLUSH,MMX,FXSR,SSE,SSE2,HTT>
  Features2=0x2001<SSE3,CX16>
  AMD Features=0xea500800<SYSCALL,NX,MMX+,FFXSR,RDTSCP,LM,3DNow!+,3DNow!>
  AMD Features2=0x1f<LAHF,CMP,SVM,ExtAPIC,CR8>
  Cores per package: 2
real memory  = 1073676288 (1023 MB)
avail memory = 1038135296 (990 MB)
ACPI APIC Table: <HP     ML115 G1>
FreeBSD/SMP: Multiprocessor System Detected: 2 CPUs
 cpu0 (BSP): APIC ID:  0
 cpu1 (AP): APIC ID:  1
ioapic0 <Version 1.1> irqs 0-23 on motherboard

.......

 CPU #1 Launched!
WARNING: WITNESS option enabled, expect reduced performance.
lock order reversal: (sleepable after non-sleepable)
 1st 0xc41ce020 struct mount mtx (struct mount mtx) _at_ /usr/src/sys/kern/vfs_subr.c:343
 2nd 0xc41ce000 vfslock (vfslock) _at_ /usr/src/sys/kern/vfs_subr.c:370
KDB: stack backtrace:
db_trace_self_wrapper(c0b185bc,e287cb6c,c07afdfe,c0b1acae,c41ce000,...) at db_trace_self_wrapper+0x26
kdb_backtrace(c0b1acae,c41ce000,c0b20b0e,c0b20b0e,c0b210ab,...) at kdb_backtrace+0x29
witness_checkorder(c41ce000,1,c0b210ab,172,4,...) at witness_checkorder+0x6de
__lockmgr_args(c41ce000,200100,c41ce020,0,0,...) at __lockmgr_args+0x220
vfs_busy(c41ce000,200,0,c3e24cc0,1,...) at vfs_busy+0x1bc
vfs_mount_alloc(0,c0bccac0,c0b20e51,c3e24cc0,c07ed750,...) at vfs_mount_alloc+0x78
vfs_mountroot(c0c3d390,4,c0b101c6,264,0,...) at vfs_mountroot+0x26c
start_init(0,e287cd38,c0b11b3b,30d,c3e22cf8,...) at start_init+0x65
fork_exit(c073be80,0,e287cd38) at fork_exit+0xb8
fork_trampoline() at fork_trampoline+0x8
--- trap 0, eip = 0, esp = 0xe287cd70, ebp = 0 ---
lock order reversal: (sleepable after non-sleepable)
 1st 0xc41d02a8 vnode interlock (vnode interlock) _at_ /usr/src/sys/fs/devfs/devfs_vnops.c:197
 2nd 0xc41d0288 devfs (devfs) _at_ /usr/src/sys/kern/vfs_subr.c:2044
KDB: stack backtrace:
db_trace_self_wrapper(c0b185bc,e287ca98,c07afdfe,c0b1acae,c41d0288,...) at db_trace_self_wrapper+0x26
kdb_backtrace(c0b1acae,c41d0288,c0b0bb79,c0b0bb79,c0b210ab,...) at kdb_backtrace+0x29
witness_checkorder(c41d0288,9,c0b210ab,7fc,c41d0288,...) at witness_checkorder+0x6de
__lockmgr_args(c41d0288,80100,c41d02a8,0,0,...) at __lockmgr_args+0x777
vop_stdlock(e287cb90,c0b0bd56,c0b0eedd,80100,c41d0230,...) at vop_stdlock+0x62
VOP_LOCK1_APV(c0bccb40,e287cb90,c0c0bc80,c41d0230,80100,...) at VOP_LOCK1_APV+0xa5
_vn_lock(c41d0230,80100,c0b210ab,7fc,c0b0bd56,...) at _vn_lock+0x5e
vget(c41d0230,80100,c3e24cc0,c6,c41a6c94,...) at vget+0x9c
devfs_allocv(c41a4b80,c41ce000,e287cc20,c3e24cc0,c3e24d64,...) at devfs_allocv+0x11d
devfs_root(c41ce000,80000,c0c8fcb8,c3e24cc0,4,...) at devfs_root+0x51
set_rootvnode(c0c8fca0,0,c0b20a10,5f6,c07ed750,...) at set_rootvnode+0x2d
vfs_mountroot(c0c3d390,4,c0b101c6,264,0,...) at vfs_mountroot+0x34c
start_init(0,e287cd38,c0b11b3b,30d,c3e22cf8,...) at start_init+0x65
fork_exit(c073be80,0,e287cd38) at fork_exit+0xb8
fork_trampoline() at fork_trampoline+0x8
--- trap 0, eip = 0, esp = 0xe287cd70, ebp = 0 ---
lock order reversal:
 1st 0xc41d0288 devfs (devfs) _at_ /usr/src/sys/kern/vfs_subr.c:2044
 2nd 0xc41a6c94 devfsmount (devfsmount) _at_ /usr/src/sys/fs/devfs/devfs_vnops.c:201
KDB: stack backtrace:
db_trace_self_wrapper(c0b185bc,e287cbb4,c07afdfe,c0b1acae,c41a6c94,...) at db_trace_self_wrapper+0x26
kdb_backtrace(c0b1acae,c41a6c94,c0b0bd15,c0b0bd15,c0b0bd56,...) at kdb_backtrace+0x29
witness_checkorder(c41a6c94,9,c0b0bd56,c9,c7,...) at witness_checkorder+0x6de
_sx_xlock(c41a6c94,0,c0b0bd56,c9,c41a6c94,...) at _sx_xlock+0x7d
devfs_allocv(c41a4b80,c41ce000,e287cc20,c3e24cc0,c3e24d64,...) at devfs_allocv+0x142
devfs_root(c41ce000,80000,c0c8fcb8,c3e24cc0,4,...) at devfs_root+0x51
set_rootvnode(c0c8fca0,0,c0b20a10,5f6,c07ed750,...) at set_rootvnode+0x2d
vfs_mountroot(c0c3d390,4,c0b101c6,264,0,...) at vfs_mountroot+0x34c
start_init(0,e287cd38,c0b11b3b,30d,c3e22cf8,...) at start_init+0x65
fork_exit(c073be80,0,e287cd38) at fork_exit+0xb8
fork_trampoline() at fork_trampoline+0x8
--- trap 0, eip = 0, esp = 0xe287cd70, ebp = 0 ---
Trying to mount root from ufs:/dev/ad4s1a
lock order reversal: (sleepable after non-sleepable)
 1st 0xc40c6ee8 bufobj interlock (bufobj interlock) _at_ /usr/src/sys/kern/vfs_bio.c:2442
 2nd 0xd7e7d088 bufwait (bufwait) _at_ /usr/src/sys/kern/vfs_bio.c:2456
KDB: stack backtrace:
db_trace_self_wrapper(c0b185bc,e287c790,c07afdfe,c0b1acae,d7e7d088,...) at db_trace_self_wrapper+0x26
kdb_backtrace(c0b1acae,d7e7d088,c0b1fa02,c0b1fa02,c0b1efb1,...) at kdb_backtrace+0x29
witness_checkorder(d7e7d088,9,c0b1efb1,998,4,...) at witness_checkorder+0x6de
__lockmgr_args(d7e7d088,81900,c40c6ee8,c0b1f95e,50,...) at __lockmgr_args+0x777
getblk(c40c6e38,0,0,800,0,...) at getblk+0x153
breadn(c40c6e38,0,0,800,0,...) at breadn+0x44
bread(c40c6e38,0,0,800,0,...) at bread+0x4c
ffs_blkatoff(c40c6e38,0,0,0,e287c9a8,...) at ffs_blkatoff+0xd1
ufs_lookup(e287c9ec,c40c6e38,e287cb50,c40c6e38,e287ca0c,...) at ufs_lookup+0x2b5
VOP_CACHEDLOOKUP_APV(c0bf3600,e287c9ec,e287cb50,e287cb3c,c3e29800,...) at VOP_CACHEDLOOKUP_APV+0xa5
vfs_cache_lookup(e287ca6c,e287ca6c,500000c,80000,c40c6e38,...) at vfs_cache_lookup+0xd0
VOP_LOOKUP_APV(c0bf3600,e287ca6c,c0b207be,1b0,e287cb3c,...) at VOP_LOOKUP_APV+0xa5
lookup(e287cb24,c0b207be,d8,c0,c3df422c,...) at lookup+0x56e
namei(e287cb24,e287cb28,c07af5dc,c0766d4c,c0c8f4d8,...) at namei+0x44b
kern_unlinkat(c3e24cc0,ffffff9c,c0b20e4d,1,e287cc5c,...) at kern_unlinkat+0x46
kern_unlink(c3e24cc0,c0b20e4d,1,631,0,...) at kern_unlink+0x27
vfs_mountroot_try(c0b21007,c0b0eedf,c0b0798f,1,c07ed750,...) at vfs_mountroot_try+0x472
vfs_mountroot(c0c3d390,4,c0b101c6,264,0,...) at vfs_mountroot+0x40e
start_init(0,e287cd38,c0b11b3b,30d,c3e22cf8,...) at start_init+0x65
fork_exit(c073be80,0,e287cd38) at fork_exit+0xb8
fork_trampoline() at fork_trampoline+0x8
--- trap 0, eip = 0, esp = 0xe287cd70, ebp = 0 ---
----(end here)----

--
| Hiroki SATO

Received on Mon May 05 2008 - 14:38:52 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:30 UTC