Re: Mutex errors after vmlocking2 merge?
Andrew Doran <[email protected]> Thu, 10 Jan 2008 23:44:59 +0000
| Newsgroups | gmane.os.netbsd.ports.sun3 |
|---|---|
| Message-ID | <[email protected]> |
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