INVARIANTS panic in -stable

Kenneth D. Merry ken at kdm.org
Fri Aug 29 06:52:58 PDT 2003


On Fri, Aug 29, 2003 at 17:21:08 +0400, Maxim Konovalov wrote:
> Something committed between 2003.08.24.00.00.00 and
> 2003.08.25.00.00.00 GMT triggers a panic:
> 
> ...
> lpt0: <Printer> on ppbus0
> lpt0: Interrupt-driven port
> ppi0: <Parallel I/O> on ppbus0
> Waiting 10 seconds for SCSI devices to settle
> panic: malloc(M_WAITOK) in interrupt context
> Debugger("panic")
> Stopped at      Debugger+0x34:  movb    $0,in_Debugger.429
> 
> db> trace
> Debugger(c0250f5b) at Debugger+0x34
> panic(c024f6a0,c02b2bc8,c1383470,c1383000,80286) at panic+0x70
> malloc(2c,c0286100,0,c0279888,c1383470) at malloc+0x27
> sysctl_add_oid(c1383470,c02b2bc8,ffffffff,c0279838,80000001) at
> sysctl_add_oid+0x7e
> daregister(c1382b80,c0279a9c,6c0800,c0279a9c,80) at daregister+0x18a

Yes, this is a known problem.

I'm planning to fix it by adding a task queue that runs in a thread context
(instead of a software interrupt context) and using that taskqueue to add
the sysctl variables.  I haven't gotten it working yet, though.

Ken
-- 
Kenneth Merry
ken at kdm.org


More information about the freebsd-stable mailing list