On Sun, 30 Jun 2002, Matthew Dillon wrote:
> 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 <ithread_loop>,
> 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
well IS it on the run queue?
print td->td_ksegrp->kg_runq->tqh.first
>
> setrunqueue() is being called on a thread which is already on the run
> queue.
>
> -Matt
>
>
> To Unsubscribe: send mail to [EMAIL PROTECTED]
> with "unsubscribe freebsd-current" in the body of the message
>
To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message