kern/68442: panic - acquiring duplicate lock of same type: "sleepq chain"

John Baldwin jhb at
Tue Jun 29 18:38:27 PDT 2004

On Tuesday 29 June 2004 03:31 pm, Daniel Lang wrote:
> Hi again,
> I installed gdb6 from ports, which works.
> It just confirms the addr2line result:
> (kgdb) l *0xc053932b
> 0xc053932b is in witness_checkorder (/usr/src/sys/kern/subr_witness.c:898).
> Brian Fundakowski Feldman wrote on Tue, Jun 29, 2004 at 02:49:46PM -0400:
> [..]
> > > (What hurts most, is, that in one occasion I had a ddb prompt
> > > and could call doadump() successfully. But after reboot, damn
> > > /var was full, so savecore could not write it to disk, argl!).
> >
> > You can make /var/crash a symlink to a directory with more space.
> Yes, I usually have enough space there. It was an ill coincidence. :-/
> Don:
> Thanks for the hint to run savecore later on. I should have guessed
> as long as there is not much going on and swap did not need to used
> yet, I would have gotten a good core. Unfortunately it is to late
> for now. I'll keep it in mind, though.
> John:
> Ok, mutex/witness confusion is maybe going on. How would you suggest
> to proceed. I am a little reluctant to boot the machine to multi-user
> and wait for the next crash (which most of the time does not
> produce a dump or ddb prompt), since I would have to hit the
> reset button and right now, I'm at home now and have only remote
> access.

Unfortunately, I don't have any good ideas off the top of my head.  If you 
have a crashdump and a working gdb binary of some sort then you can try 
looking at the sleepq_chains[] hash table in the core file to look for a 
mutex that is corrupted.

John Baldwin <jhb at>  <><
"Power Users Use the Power to Serve"  =

More information about the freebsd-current mailing list