Subject: Re: SIR Reset with todays sources
To: Martin Husemann <martin@duskware.de>
From: Tobias Nygren <tnn+nbsd@nygren.pp.se>
List: port-sparc64
Date: 02/23/2007 21:59:54
Martin Husemann wrote:
> On Sat, Feb 24, 2007 at 06:13:10AM +1100, matthew green wrote:
>
>> from this 'ok' prompt type 'ctrace' - it will give you the stack
>> trace, including the offending pc...
>>
>
> Also, please check which of the following options you can add without
> the problem going away: LOCKDEBUG, DEBUG, DIAGNOSTIC.
>
> There are three new assembler routines, two of which are not used if
> LOCKDEBUG is enabled. DEBUG adds some window handling changes, which could
> hide bugs, and also DEBUG and DIAGNOSTIC (to different degrees) modify
> the timing, which could affect race conditions.
>
> One of my regular test machines is broken right now (disk to be replaced
> on monday), the other one seems to work fine (it has just done a native
> build.sh) - but maybe I'm lucky, or using some magic combination of options
> that hides the bug.
>
>
> Martin
>
Here's what I've pieced together from what the firmware spits out after SIR
ctx_free+0x0 (save %sp, -192, %sp)
causes a trap. We eventually end up in
kdb_trap+0x268 (ldsw [ %g2 + 0x58 ], %o1)
here we take another trap, leading to
winfault+0x38 ( sir )
Is ctx_free() is somehow called on an invalid stack?
-Tobias