[Bug 195262] New: [lor] Possibly two LORs: entropy harvest mutex and scrlock, and entropy harvest mutex and sleepq chain
bugzilla-noreply at freebsd.org
bugzilla-noreply at freebsd.org
Fri Nov 21 20:58:53 UTC 2014
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=195262
Bug ID: 195262
Summary: [lor] Possibly two LORs: entropy harvest mutex and
scrlock, and entropy harvest mutex and sleepq chain
Product: Base System
Version: 10.1-RELEASE
Hardware: amd64
OS: Any
Status: Needs Triage
Severity: Affects Many People
Priority: ---
Component: kern
Assignee: freebsd-bugs at FreeBSD.org
Reporter: ellisw at panasas.com
I get the following output from WITNESS detecting a LOR for possibly two LORs
relating to the harvest mutex on bootup. This is an almost perfectly standard
boot of 10.1-RELEASE with the exception that I've enabled WITNESS. Please note
that I have NOT enabled WITNESS_SKIPSPIN. That seems to be the widely accepted
band-aid for issues that look like this. Such a solution, if you can call it
such, is not acceptable at my company. I'm happy to do the fix for this bug,
but I wanted to open this at least so it's on people's radars, and to solicit
feedback from the community if this is an absolutely unavoidable LOR (and why
we can't just mark the lock BLESSED if so).
Selected output from my VM running 10.1 with WITNESS:
<snip>
atrtc0: <AT realtime clock> at port 0x70 irq 8 on isa0
Event timer "RTC" frequency 32768 Hz quality 0
ppc0: cannot reserve I/O port range
Timecounters tick every 10.000 msec
pcm0: measured ac97 link rate at 30976 Hz
lock order reversal:
lock order reversal:
1st 0xffffffff81633d88 entropy harvest mutex (entropy harvest mutex) @
/usr/src/sys/dev/random/random_harvestq.c:198
2nd 0xffffffff813b6208 scrlock (scrlock) @
/usr/src/sys/dev/syscons/syscons.c:2682
KDB: stack backtrace:
#0 0xffffffff808b6c40 at kdb_backtrace+0x60
#1 0xffffffff808ca56a at witness_checkorder+0xb8a
#2 0xffffffff808714ae at __mtx_lock_spin_flags+0x4e
#3 0xffffffff806db7d0 at sc_puts+0xb0
#4 0xffffffff806dee55 at sc_cnputc+0xe5
#5 0xffffffff80842c7f at cnputc+0x7f
#6 0xffffffff80842f18 at cnputs+0x58
#7 0xffffffff808bba57 at putchar+0x137
#8 0xffffffff808ba7ea at kvprintf+0xda
#9 0xffffffff808bc057 at vprintf+0x87
#10 0xffffffff808bbfc3 at printf+0x43
#11 0xffffffff808ca35e at witness_checkorder+0x97e
#12 0xffffffff808714ae at __mtx_lock_spin_flags+0x4e
#13 0xffffffff8088a29b at msleep_spin_sbt+0x5b
#14 0xffffffff8063f0b8 at random_kthread+0x78
#15 0xffffffff80858b11 at fork_exit+0x71
#16 0xffffffff80c2143e at fork_trampoline+0xe
1st 0xffffffff81633d88 entropy harvest mutex (entropy harvest mutex) @
/usr/src/sys/dev/random/random_harvestq.c:198
2nd 0xffffffff81424bb8 sleepq chain (sleepq chain) @
/usr/src/sys/kern/subr_sleepqueue.c:240
KDB: stack backtrace:
#0 0xffffffff808b6c40 at kdb_backtrace+0x60
#1 0xffffffff808ca56a at witness_checkorder+0xb8a
#2 0xffffffff808714ae at __mtx_lock_spin_flags+0x4e
#3 0xffffffff8088a29b at msleep_spin_sbt+0x5b
#4 0xffffffff8063f0b8 at random_kthread+0x78
#5 0xffffffff80858b11 at fork_exit+0x71
#6 0xffffffff80c2143e at fork_trampoline+0xe
usbus0: 12Mbps Full Speed USB v1.0
ugen0.1: <Apple> at usbus0
uhub0: <Apple OHCI root HUB, class 9/0, rev 1.00/1.00, addr 1> on usbus0
ada0 at ata0 bus 0 scbus0 target 0 lun 0
ada0: <VBOX HARDDISK 1.0> ATA-6 device
ada0: Serial Number VB96c35aac-e62dbb5d
ada0: 33.300MB/s transfers (UDMA2, PIO 65536bytes)
ada0: 20480MB (41943040 512 byte sectors: 16H 63S/T 16383C)
ada0: Previously was known as ad0
<snip>
I have it panicking into DDB now, so if there are suggestions on best
strategies for tackling LORs I'm all ears.
--
You are receiving this mail because:
You are the assignee for the bug.
More information about the freebsd-bugs
mailing list