Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 28 Feb 2008 14:12:22 +0300
From:      Yuri Pankov <yuri.pankov@gmail.com>
To:        freebsd-hackers@freebsd.org
Subject:   pfind() in ithread handler
Message-ID:  <20080228111222.GE92245@mail.irbisnet.ru>

next in thread | raw e-mail | index | archive | help
Hi,

I'm trying to understand the cause of following panic. 

panic: Trying sleep, but thread marked as sleeping prohibited
cpuid = 0
KDB: stack backtrace:
db_trace_self_wrapper() at db_trace_self_wrapper+0x2a
panic() at panic+0x17d
sleepq_add() at sleepq_add+0x2e1
_sx_slock_hard() at _sx_slock_hard+0x15d
_sx_slock() at _sx_slock+0xc1
pfind() at pfind+0x24
saa_intr() at saa_intr+0x313
ithread_loop() at ithread_loop+0xda
fork_exit() at fork_exit+0x12a
fork_trampoline() at fork_trampoline+0xe
--- trap 0, rip = 0, rsp = 0xffffffffac3c0d30, rbp = 0 ---

Can someone enlighten me on what is causing the panic and is it ok to
use pfind() in interrupt handler (I have very limited understanding of
kernel internals)?

Code in question (taken from saa driver
http://freebsd.ricin.com/ports/distfiles/kbtv-1.92.tbz) can be found at
http://www.pastebin.ca/921830


TIA,
Yuri



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20080228111222.GE92245>