NetBSD-Bugs archive

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

Re: kern/47881 (kernel diagnostic assertion "c->c_cpu->cc_lwp == curlwp || c->c_cpu->cc_active != c" failed)



Oops. I've got another assertion failure:

panic: kernel diagnostic assertion "(c->c_flags & CALLOUT_PENDING) ==
0" failed: file
"/disk3/home/ozaki-r/git/netbsd-src/sys/kern/kern_timeout.c", line 312
fatal breakpoint trap in supervisor mode
trap type 1 code 0 rip ffffffff80198abd cs 8 rflags 246 cr2
ffff800002f7ffe0 ilevel 6 rsp fffffe8001ce5778
curlwp 0xfffffe80031206e0 pid 9911.1 lowest kstack 0xfffffe8001ce22c0
Stopped in pid 9911.1 (ifconfig) at     netbsd:breakpoint+0x5:  leave
db{0}> bt
breakpoint() at netbsd:breakpoint+0x5
vpanic() at netbsd:vpanic+0x13c
kern_assert() at netbsd:kern_assert+0x4f
callout_destroy() at netbsd:callout_destroy+0xd8
in6_delmulti() at netbsd:in6_delmulti+0x189
in6_leavegroup() at netbsd:in6_leavegroup+0x15
in6_purgeaddr() at netbsd:in6_purgeaddr+0x59
if_purgeaddrs() at netbsd:if_purgeaddrs+0x35
in6_purgeif() at netbsd:in6_purgeif+0x19
udp6_purgeif_wrapper() at netbsd:udp6_purgeif_wrapper+0x35

It seems that callout_schedule is called between callout_halt
and callout_destroy. Should we need mutual execution between
callout_schedule and callout_halt/callout_destroy somehow?

On Tue, Nov 11, 2014 at 5:44 PM, Martin Husemann <martin%duskware.de@localhost> wrote:
>
> On Tue, Nov 11, 2014 at 05:42:56PM +0900, Ryota Ozaki wrote:
> > BTW, there are many callout_stop & callout_destroy. Should we replace them
> > with callout_halt & callout_destroy?
>
>
> IMHO we should - maybe bring this up on tech-kern and do a full tree sweep?

I'll do later.

Thanks,
  ozaki-r


Home | Main Index | Thread Index | Old Index