Crashes with the current -HEAD

C. Jayachandran c.jayachandran at gmail.com
Fri Apr 23 15:38:16 UTC 2010


On Fri, Apr 23, 2010 at 8:48 PM, Randall Stewart <rrs at lakerest.net> wrote:
> JC:
>
> My crash is different... hmmm I have not tried one without SMP... need
> to do that.
>
> What I am seeing is a spin lock held to long..

I could fix this, but I hit the crash I reported immediately after
that. So I reverted my changes to the HEAD and the crash was still
there without the changes.

I've attached a fix for the smp_rendezvous hang - in the LMEM macros,
the pmap_invalidate_page will call smp_rendezvous with interrupts
disabled. If two threads do this it hangs beacuse smp_rendezvous needs
interrupts enabled so that it can do IPI.

(patch also at http://sites.google.com/site/cjayachandran/files).

> sh /usr/src/lib/ncurses/ncurses/../../../contrib/ncurses/include/edit_cfg.sh
> /usr/src/lib/ncurses/ncurses/ncurses_cfg.h term.h.new
> ** edit: HAVE_TCGETATTR 1
> spin lock 0x804c91f4 (smp rendezvous) held by 0xcb943270 (tid 100205) too
> long
> panic: spin lock held too long
> cpuid = 2
> KDB: enter: panic
> ~~
>
> I think this is probably a different issue... It smells like a recursive
> call
> to the spin lock... possibly.. but I have not had time to dig too deep into
> it... and for some reason we don't enter DDB... even though I manually
> entered it before starting the buildworld to make sure it would
> work ;-o
>
> I will have to find the specific panic and put an enter DDB in there and
> see if that will work ;-)

JC.


More information about the freebsd-mips mailing list