[Bug 244878] Kernel panic due to spin lock held too long

bugzilla-noreply at freebsd.org bugzilla-noreply at freebsd.org
Tue Mar 24 23:15:34 UTC 2020


https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=244878

Jason A. Harmening <jah at FreeBSD.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |jah at FreeBSD.org

--- Comment #3 from Jason A. Harmening <jah at FreeBSD.org> ---
Not a lot to go on from the backtrace.   One thing that can cause this panic is
if a thread calls smp_rendezvous_cpus() with local interrupts disabled: if
another thread holds smp_ipi_mtx and is trying to IPI the first thread's CPU,
the two threads can livelock.

It doesn't look like the timer callout+in6 route expiration path that panicked
should ever call smp_rendezvous_cpus() with interrupts disabled, but I think
it's also possible that this thread could have been the victim of two other
threads that were livelocked.

r357308 added a check to HEAD (INVARIANTS kernels only) that panics if a thread
enters smp_rendezvous_cpus() with interrupts disabled.  If this is at all
reproducible, it might be worth trying a kernel with that check backported.

Also worth noting: in6_mtutimo() was completely removed from HEAD in 355888.

-- 
You are receiving this mail because:
You are the assignee for the bug.


More information about the freebsd-bugs mailing list