From owner-freebsd-current Sun Jun 30 13:43:42 2002 Delivered-To: freebsd-current@freebsd.org Received: from mx1.FreeBSD.org (mx1.FreeBSD.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 237D637B405 for ; Sun, 30 Jun 2002 13:43:39 -0700 (PDT) Received: from apollo.backplane.com (apollo.backplane.com [216.240.41.2]) by mx1.FreeBSD.org (Postfix) with ESMTP id 8E99943E13 for ; Sun, 30 Jun 2002 13:43:38 -0700 (PDT) (envelope-from dillon@apollo.backplane.com) Received: from apollo.backplane.com (localhost [127.0.0.1]) by apollo.backplane.com (8.12.4/8.12.3) with ESMTP id g5UKhaT4006419; Sun, 30 Jun 2002 13:43:37 -0700 (PDT) (envelope-from dillon@apollo.backplane.com) Received: (from dillon@localhost) by apollo.backplane.com (8.12.4/8.12.3/Submit) id g5UKha9t006418; Sun, 30 Jun 2002 13:43:36 -0700 (PDT) (envelope-from dillon) Date: Sun, 30 Jun 2002 13:43:36 -0700 (PDT) From: Matthew Dillon Message-Id: <200206302043.g5UKha9t006418@apollo.backplane.com> To: Julian Elischer Cc: Steve Kargl , walt , freebsd-current@FreeBSD.ORG Subject: KSE / interrupt panic References: Sender: owner-freebsd-current@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG Got another one. Different panic, same place. panic: setrunqueue: bad thread state cpuid = 0; lapic.id = 01000000 Debugger("panic") Stopped at Debugger+0x46: xchgl %ebx,in_Debugger.0 db> trace Debugger(c02ec2ba) at Debugger+0x46 panic(c02ec8a9,c6461d80,c6461d80,c6461d80,c01afa30) at panic+0xd6 setrunqueue(c6461d80) at setrunqueue+0x1dd cv_timedwait_end(c6461d80) at cv_timedwait_end+0x36 softclock(0) at softclock+0x159 ithread_loop(c229c700,df3eed48,c22aec00,c01b9c6c,0) at ithread_loop+0x12c fork_exit(c01b9c6c,c229c700,df3eed48) at fork_exit+0xa8 fork_trampoline() at fork_trampoline+0x37 db> gdb ... #0 Debugger (msg=0xc02ec2ba "panic") at /FreeBSD/FreeBSD-current/src/sys/i386/i386/db_interface.c:324 #1 0xc01c878a in panic (fmt=0xc02ec8a9 "setrunqueue: bad thread state") at /FreeBSD/FreeBSD-current/src/sys/kern/kern_shutdown.c:482 #2 0xc01cc6cd in setrunqueue (td=0xc6461d80) at /FreeBSD/FreeBSD-current/src/sys/kern/kern_switch.c:396 #3 0xc01afa66 in cv_timedwait_end (arg=0xc6461d80) at /FreeBSD/FreeBSD-current/src/sys/kern/kern_condvar.c:608 #4 0xc01d22c9 in softclock (dummy=0x0) at /FreeBSD/FreeBSD-current/src/sys/kern/kern_timeout.c:187 #5 0xc01b9d98 in ithread_loop (arg=0xc229c700) at /FreeBSD/FreeBSD-current/src/sys/kern/kern_intr.c:535 #6 0xc01b923c in fork_exit (callout=0xc01b9c6c , arg=0xc229c700, frame=0xdf3eed48) at /FreeBSD/FreeBSD-current/src/sys/kern/kern_fork.c:863 I'm not sure why the panic was 'bad thread state' when gdb seems to show it being stuck on 'unexpected ke present'. Maybe it was an optimization and gdb is confused. The panic is definitely 'bad thread state'. (gdb) print td->td_state $2 = TDS_RUNQ setrunqueue() is being called on a thread which is already on the run queue. -Matt To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message