[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
kern/41918: pppoe BROKEN: panic:kernel diagnostic assertion "!cpu_softintr_p()" ... subr_kmem.c
>Synopsis: pppoe reconnects break with panic
>Arrival-Date: Sat Aug 22 11:40:00 +0000 2009
>Originator: Frank Kardel
>Release: NetBSD 5.99.15
System: NetBSD pip 5.99.15 NetBSD 5.99.15 (PIP) #0: Sat Aug 22 11:09:52 MEST
2009 kardel@pip:/src/obj.i386/sys/arch/i386/compile/PIP i386
pppoe reconnect reliably panic the kernel.
hand copied stack trace (because of kern/41095 still being there):
panic:kernel diagnostic assertion "!cpu_softintr_p()" failed: file
".../sys/kern/subr_kmem.c", line 194
The violation of calling kmem_zalloc() (likely in
in6_ifaddrs_schedule()) from a softint seems clear. Possibly pppoe shouldn't
call in6_ifattach from softint.
Currently this leads to a reliable panic every 24h with german DSL
providers that think forceful disconnection every 24h is a bright idea.
pick a -current (e. g. 20090822060000Z) kernel. fire up pppoe, let it
connect, disconnect network cable, wait for lcp echo to time out (phase=dead),
re-connect network cable, wait for reconnect via pppoe, enjoy panic.
may change the way pppoe handles the re-connect.
Main Index |
Thread Index |