kern/134584: [panic] spin lock held too long

Mikolaj Golub to.my.trociny at gmail.com
Tue Jul 28 20:10:03 UTC 2009


The following reply was made to PR kern/134584; it has been noted by GNATS.

From: Mikolaj Golub <to.my.trociny at gmail.com>
To: barbara <barbara.xxx1975 at libero.it>
Cc: bug-followup at FreeBSD.org
Subject: Re: kern/134584: [panic] spin lock held too long
Date: Tue, 28 Jul 2009 23:03:26 +0300

 On Mon, 27 Jul 2009 22:00:05 GMT barbara wrote:
 
  b>  In the meanwhile I've rebuilt my kernel adding WITNESS, KDB, DDB options.=
  b>   Is this what you need?
  b>  I'm not able to work with the debugger. I suppose I have to type the comm=
  b>  ands you asked (ps, show alllocks) when it's panicking and the debbugger =
  b>  starts and write down the output with pen and paper, am I corrent? Or is =
  b>  there a way to redirect or dump the output somewhere?
  b>  Sorry, I'll try reading the chapter in the dev. handbook and I will try t=
  b>  o do my best, but please, tell me if you have some suggestions.
 
 You can use `capture on' command in ddb to record all ddb output to the
 capture buffer. Then you will be able to extract it from core after reboot
 running:
 
 ddb capture print
 
 Also, as it is desktop pc, I suppose you are running X. Then on panic ddb
 console will be unreachable. In this case you can use textdump(4) facility to
 script commands you would like to run automatically on panic. Something like
 this:
 
 ddb script 'kdb.enter.panic=capture on; show pcpu; show allpcpu; bt; ps; show \
  locks; show alllocks; show lockedvnods; alltrace; call doadump; reset'
 
 Please note, alltrace output is rather large and might not fit to capture
 buffer. To be sure all output is stored in the buffer you can increase the
 value of debug.ddb.capture.bufsize sysctl.
 
 See ddb(8) and textdump(4) for details.
 
 -- 
 Mikolaj Golub


More information about the freebsd-bugs mailing list