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