John Baldwin wrote:
> 
> On 06-Feb-01 Jim Bloom wrote:
> > Which kernel do you want me to try this with?  I have tried two
> > different kernels with two different errors.  (Both have been sent at
> > different times in the past couple days.)  The registers listed here
> > from the second kernel (with WITNESS, INVARIANTS, INVARIANT_SUPPORT,
> > MUTEX_DEBUG).  As such the addresses disagree (sw1b has 8 more bytes for
> > invariants), but the text segment was correct.
> 
> You'll have to turn off WITNESS to get it to die in cpu_switch(), but you'll
> want to leave the others on for now.

I turned off WITNESS and still received the mutex error.  A little
reading of the code showed that mutex assertions are inclued with ifdef
INVARIANTS.

> 
> > Without debug, I get the trap 9.  With debug, I get a trap 12
> > immediately followed by a panic with mutex shced lock recursion.
> >
> > I rebuilt the kernel with out the debugging and check the state of
> > things.  The code is correct and the esi register had the expected
> > value.
> 
> Hmmmmmmmm.  Ok, try with debugging minus WITNESS (and you don't want
> MUTEX_DEBUG, that slows things down a _lot_).  Then see if %esi is
> still 0x100 instead of 0x20.  If so, then check the instructions to make sure
> they aren't hosed.

With INVARIANTS turned off and WITNESS on, I received a trap 27 (stack
fault) at sw1b+0x77.  The instructions are fine and %esi was 0x20 as it
should be.  I won't worry about MUTEX_DEBUG being slow just yet.  I am
only around the start of /etc/rc when the machine dies.

Do you have any other ideas on things that I can try to diagnose this
problem?

Jim Bloom
[EMAIL PROTECTED]


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message

Reply via email to