panic: stable/10 with Debugging enabled in kern_cons.c:500
Konstantin Belousov
kostikbel at gmail.com
Sun Jan 12 21:33:43 UTC 2014
On Sun, Jan 12, 2014 at 01:10:37PM -0800, Sean Bruno wrote:
> On Sun, 2014-01-12 at 05:42 +0200, Konstantin Belousov wrote:
> > 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.
>
>
> Confirmed. Thank you.
>
> It looks like the machine becomes seriously unuseable with this much
> debugging on. After a few hours of testing. I cannot run "svn up" any
> more and the system seems sluggish.
>
> root at redbuild03:/usr/src # svn up -r 260075
> Updating '.':
> load: 2.06 cmd: svn 12480 [*kmem arena] 624.87r 0.35u 434.25s 0% 11672k
> load: 2.06 cmd: svn 12480 [*kmem arena] 625.71r 0.35u 434.25s 0% 11672k
> load: 2.06 cmd: svn 12480 [*kmem arena] 625.91r 0.35u 434.25s 0% 11672k
> load: 2.06 cmd: svn 12480 [*kmem arena] 626.09r 0.35u 434.25s 0% 11672k
> load: 2.06 cmd: svn 12480 [*kmem arena] 626.27r 0.35u 434.25s 0% 11672k
> load: 2.06 cmd: svn 12480 [*kmem arena] 626.45r 0.35u 434.25s 0% 11672k
> load: 2.06 cmd: svn 12480 [*kmem arena] 626.61r 0.35u 434.25s 0% 11672k
> load: 2.06 cmd: svn 12480 [*kmem arena] 626.79r 0.35u 434.25s 0% 11672k
> load: 2.06 cmd: svn 12480 [*kmem arena] 626.95r 0.35u 434.25s 0% 11672k
> load: 2.06 cmd: svn 12480 [*kmem arena] 627.13r 0.35u 434.25s 0% 11672k
>
>
> Is this a symptom of the level of debugging or am I starting to come
> close to a problem that needs investigation?
This is a DIAGNOSTIC option, I think. Set sysctl debug.enable_vmem_check=0;
I thought that the default was changed in HEAD long time ago, but apparently
it was not.
-------------- 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/b58002d2/attachment.sig>
More information about the freebsd-stable
mailing list