panic: stable/10 with Debugging enabled in kern_cons.c:500

Konstantin Belousov kostikbel at gmail.com
Sun Jan 12 03:42:09 UTC 2014


On Sat, Jan 11, 2014 at 02:44:57PM -0800, Sean Bruno wrote:
> On Sat, 2014-01-11 at 14:12 -0800, Sean Bruno wrote:
> > I can't imagine that I'm the first person to run with the following
> > debug options enabled:
> > 
> > http://www.freebsd.org/doc/en_US.ISO8859-1/books/developers-handbook/kerneldebug-deadlocks.html
> > 
> > But, I can't get stable/10 to post on a plain old supermicro box with
> > those debugging symbols enabled.  
> > 
> > 
> > random: unblocking device.
> > panic: mtx_lock_spin: recursed on non-recursive mutex cnputs_mtx
> > @ /usr/src/sys/kern/kern_cons.c:500
> > 
> > cpuid = 0
> > KDB: stack backtrace:
> > db_trace_self_wrapper() at db_trace_self_wrapper+0x2b/frame
> > 0xfffffe1764e681b0
> > kdb_backtrace() at kdb_backtrace+0x39/frame 0xfffffe1764e68260
> > vpanic() at vpanic+0x126/frame 0xfffffe1764e682a0
> > kassert_panic() at kassert_panic+0x136/frame 0xfffffe1764e68310
> > __mtx_lock_spin_flags() at __mtx_lock_spin_flags+0x166/frame
> > 0xfffffe1764e68350
> > cnputs() at cnputs+0x32/frame 0xfffffe1764e68370
> > putchar() at putchar+0x13a/frame 0xfffffe1764e683f0
> > kvprintf() at kvprintf+0xda/frame 0xfffffe1764e684f0
> > vprintf() at vprintf+0x87/frame 0xfffffe1764e685c0
> > printf() at printf+0x43/frame 0xfffffe1764e68620
> > witness_checkorder() at witness_checkorder+0xa99/frame
> > 0xfffffe1764e686b0
> > __mtx_lock_spin_flags() at __mtx_lock_spin_flags+0x95/frame
> > 0xfffffe1764e686f0
> > uart_cnputc() at uart_cnputc+0x3b/frame 0xfffffe1764e68710
> > cnputc() at cnputc+0x7f/frame 0xfffffe1764e68740
> > cnputs() at cnputs+0x58/frame 0xfffffe1764e68760
> > putchar() at putchar+0x13a/frame 0xfffffe1764e687e0
> > kvprintf() at kvprintf+0xda/frame 0xfffffe1764e688e0
> > vprintf() at vprintf+0x87/frame 0xfffffe1764e689b0
> > printf() at printf+0x43/frame 0xfffffe1764e68a10
> > witness_checkorder() at witness_checkorder+0xa99/frame
> > 0xfffffe1764e68aa0
> > __mtx_lock_spin_flags() at __mtx_lock_spin_flags+0x95/frame
> > 0xfffffe1764e68ae0
> > msleep_spin_sbt() at msleep_spin_sbt+0x90/frame 0xfffffe1764e68b70
> > random_kthread() at random_kthread+0x1d0/frame 0xfffffe1764e68bb0
> > fork_exit() at fork_exit+0x84/frame 0xfffffe1764e68bf0
> > fork_trampoline() at fork_trampoline+0xe/frame 0xfffffe1764e68bf0
> > --- trap 0, rip = 0, rsp = 0xfffffe1764e68cb0, rbp = 0 ---
> > KDB: enter: panic
> > [ thread pid 14 tid 100057 ]
> > Stopped at      kdb_enter+0x3e: movq    $0,kdb_why
> 
> 
> Witness induced.  Removed the witness option and this doesn't happen
> (obviously).  Can I get someone familiar with console code to look into
> this?  Kind of crappy when I'm investigating a resource starvation
> issue.

Add
options  	WITNESS_SKIPSPIN
to the kernel config.  This is required now, unfortunately.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 834 bytes
Desc: not available
URL: <http://lists.freebsd.org/pipermail/freebsd-stable/attachments/20140112/8b09084d/attachment.sig>


More information about the freebsd-stable mailing list