LOR kqueue / sleep mtxpool for LOR list
Jeff Roberson
jroberson at chesapeake.net
Tue Dec 18 12:19:32 PST 2007
On Tue, 18 Dec 2007, Ed Maste wrote:
> I just saw this LOR during startup of an application while testing
> 8-CURRENT on a dev box. I've done no investigation yet.
>
> FreeBSD TPC-D13-08.phaedrus 8.0-CURRENT FreeBSD 8.0-CURRENT #0: Mon Dec 17 16:27:54 EST 2007 emaste at bsd-build3.phaedrus:/d2/emaste/HEAD/obj/d2/emaste/HEAD/src/sys/GENERIC i386
>
> lock order reversal:
> 1st 0xc42b7580 kqueue (kqueue) @ /d2/emaste/HEAD/src/sys/kern/kern_event.c:1397
> 2nd 0xc3ece8e0 sleep mtxpool (sleep mtxpool) @ /d2/emaste/HEAD/src/sys/kern/sys_generic.c:1255
> KDB: stack backtrace:
> db_trace_self_wrapper(c0b08871,e683aaa4,c079cafe,c0b0ade3,c3ece8e0,...) at db_trace_self_wrapper+0x26
> kdb_backtrace(c0b0ade3,c3ece8e0,c0b043d7,c0b043d7,c0b0b09a,...) at kdb_backtrace+0x29
> witness_checkorder(c3ece8e0,9,c0b0b09a,4e7,c42b7580,...) at witness_checkorder+0x6de
> _mtx_lock_flags(c3ece8e0,0,c0b0b09a,4e7,40,...) at _mtx_lock_flags+0xbc
> selrecord(c4474220,c42b75ac,c0b01a8d,575,c42b7580,...) at selrecord+0x9d
> kqueue_poll(c4341cf0,40,c46f4000,c4474220,e683ab74,...) at kqueue_poll+0x65
> poll(c4474220,e683acfc,c,e683ad38,c0bb84b8,...) at poll+0x2cc
> syscall(e683ad38) at syscall+0x2b3
> Xint0x80_syscall() at Xint0x80_syscall+0x20
> --- syscall (209, FreeBSD ELF32, poll), eip = 0x287451db, esp = 0x8672f3c, ebp = 0x8672f98 ---
>
Thanks, this is interesting. The mtxpool should always be the leaf. The
opposite order is the bug. Can you add them to the static order list and
tell me where the reverse order is observed?
Thanks,
Jeff
> -Ed
> _______________________________________________
> freebsd-current at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-current
> To unsubscribe, send any mail to "freebsd-current-unsubscribe at freebsd.org"
>
More information about the freebsd-current
mailing list