7.0 CURRENT, need help with panic: Trying sleep, but thread
marked as sleeping prohibited
Stefan Krüger
stadtkind2 at gmx.de
Thu Oct 18 11:22:44 PDT 2007
Robert Watson wrote:
> The bug in ipfilter has to do with using a sleepable lock class in an
> interrupt or a software interrupt thread. This can lead to deadlocks,
> although is relatively unlikely to do so, so is reported by invariants
> testing as a fatal condition. The panic won't turn up without
> invariants enabled, and in practice the deadlock is quite unlikely, but
> reflects a violation of the assumptions under which kernel
> synchronization is designed to work. Switching to a non-sleepable lock
> class doesn't provide an instant solution because the non-sleepable lock
> will then be held over a potentially sleepable path for managing the
> firewall from user space (if a copyin/copyout results in a page fault
> that sleeps waiting on disk I/O, or worse, network I/O from
> network-backed swap, which could lead directly to the deadlock).
> Chances are, this is relatively easy to fix, but someone needs to do
> that -- ideally someone very familiar with ipfilter. :-)
this someone could take a look at
http://www.freebsd.org/cgi/query-pr.cgi?pr=117182
(FreeBSD 7.0-PRERELEASE w/ ipfilter, sleeping thread panic)
More information about the freebsd-current
mailing list