Port-sun3 archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: Mutex errors after vmlocking2 merge?



On Fri, Jan 11, 2008 at 01:16:41AM +0900, Izumi Tsutsui wrote:

> I get the following panics on sun3 (tme) and sun3x (3/80):
> 
> sun3x:
> ---
> Mutex error: mutex_vector_enter: locking against myself
> 
> lock address : 0x00000000f96a7838
> current cpu  :                  0
> current lwp  : 0x00000000fa5596a0
> owner field  : 0x00000000fa5596a0 wait/spin:                0/0
> 
> panic: lock error
> Stopped in pid 184.1 (amd) at   netbsd:cpu_Debugger+0x6:        unlk    a6
> db> tr
> cpu_Debugger(f96a7838,0,f810b930,fa66fbb0,fa66fbbc) + 6
> panic(f81d0cd5,fa5596a0,f96a7838,f8404a00,fa66fbd4) + 11a
> lockdebug_abort(f96a7838,f81e4cac,f81cf02b,f81cebe8) + 4c
> mutex_abort(f96a7838,f81cf02b,f81cebe8,a000,0) + 28
> mutex_vector_enter(?)
> mutex_enter(f96a7838) + da
> biodone2(f8391d88) + 24
> biodone(f8391d88) + 52
...
> ncr53c9x_intr(f83f3400) + 6c6
...
> It looks splbio is not blocked but I'm afraid
> I missed something on recent new softint changes for sun3.
> 
> Any ideas?

biodone() needs to run with thread context since it takes adaptive mutexes.
It calls cpu_intr_p() and defers to a soft interrupt if it's called from a
hardware interrupt handler. It looks like cpu_intr_p() isn't working
properly.

Cheers,
Andrew



Home | Main Index | Thread Index | Old Index