panic at turnstile_wait (Re: panic at sched_add_internal)

From: Norikatsu Shigemura <nork_at_FreeBSD.org>
Date: Sat, 17 Jul 2004 03:11:47 +0900 (JST)
On Fri, 16 Jul 2004 08:30:05 +0900 (JST)
Norikatsu Shigemura <nork_at_freebsd.org> wrote:
> > 	Oops, another panic has happend.
> 	Now, I'm using old(?) current kernel:-(.

	Return match.

> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
> [thread 100124]
> Stopped at      turnstile_wait+0x17a:   movl    %eax,0x10(%edx)
> db> trace
> turnstile_wait(c301e340,c0877f40,c36e4420,c0877f40,f9) at turnstile_wait+0x17a
> _mtx_lock_sleep(c0877f40,0,c07bd610,f9,0) at _mtx_lock_sleep+0x125
> _mtx_lock_flags(c0877f40,0,c07bd610,f9,0) at _mtx_lock_flags+0x64
[...]
> -->		LIST_INSERT_HEAD(&ts->ts_free, td->td_turnstile, ts_hash);
> 		MPASS(owner == ts->ts_owner);
> 	}
> 	td->td_turnstile = NULL;
> [...]
> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

	Same panic has happend at same place on new current (+1day).

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
[thread 100303]
Stopped at      turnstile_wait+0x17a:   movl    %eax,0x10(%edx)
db> trace
turnstile_wait(c2b94080,c07b7d20,c3b38160,c07b7d20,14b) at turnstile_wait+0x17a
_mtx_lock_sleep(c07b7d20,0,c07130cd,14b,c4878840) at _mtx_lock_sleep+0x125
_mtx_lock_flags(c07b7d20,0,c07130cd,14b,1) at _mtx_lock_flags+0x64
cv_timedwait_sig(c07e8204,c07e81e0,2,3a6,10) at cv_timedwait_sig+0x2a4
poll(c4878840,e3e7ad14,c,c0735b13,3) at poll+0x45b
syscall(814002f,2f,bfbf002f,8149000,2) at syscall+0x2a0
Xint0x80_syscall() at Xint0x80_syscall+0x1f
--- syscall (209, FreeBSD ELF32, poll), eip = 0x684c28af, esp = 0xbfbfeb1c, ebp = 0xbfbfeb38 ---
db> p %edx
       0
db> gdb
db>
Step to enter the remote GDB backend.
db> n
panic: blockable sleep lock (sleep mutex) process lock _at_ /usr/src/sys/i386/i386/trap.c:702
cpuid = 0;
KDB: enter: panic
[...]
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
$ gdb6 -k kernel.debug
(kgdb) target remote :XXXXX
Remote debugging using :XXXXX
Ignoring packet error, continuing...
warning: Invalid remote reply: 
kdb_enter (msg=???) at /usr/src/sys/kern/subr_kdb.c:228
228     }
warning: Unable to find dynamic linker breakpoint function.
GDB will be unable to debug shared library initializers
and track explicitly loaded dynamic code.
warning: shared library handler failed to enable breakpoint
(kgdb) list *turnstile_wait+0x17a
0xc055b55a is in turnstile_wait (/usr/src/sys/kern/subr_turnstile.c:517).
512                             TAILQ_INSERT_BEFORE(td1, td, td_lockq);
513                     else
514                             TAILQ_INSERT_TAIL(&ts->ts_blocked, td, td_lockq);
515                     mtx_unlock_spin(&td_contested_lock);
516                     MPASS(td->td_turnstile != NULL);
517                     LIST_INSERT_HEAD(&ts->ts_free, td->td_turnstile, ts_hash);
518                     MPASS(owner == ts->ts_owner);
519             }
520             td->td_turnstile = NULL;
521             mtx_unlock_spin(&tc->tc_lock);
(kgdb) where
#0  kdb_enter (msg=???) at /usr/src/sys/kern/subr_kdb.c:228
#1  0xc0536096 in panic (fmt=0xc0717d41 "blockable sleep lock (%s) %s _at_ %s:%d")
    at /usr/src/sys/kern/kern_shutdown.c:529
#2  0xc055c2fe in witness_checkorder (lock=0xc30313e4, flags=9, 
    file=0xc07329c5 "/usr/src/sys/i386/i386/trap.c", line=702)
    at /usr/src/sys/kern/subr_witness.c:698
#3  0xc052c452 in _mtx_lock_flags (m=0xc30313e4, opts=0, 
    file=0xc07329c5 "/usr/src/sys/i386/i386/trap.c", line=702)
    at /usr/src/sys/kern/kern_mutex.c:251
#4  0xc06ce51b in trap_pfault (frame=0xe3e7aab0, usermode=0, eva=16)
    at /usr/src/sys/i386/i386/trap.c:702
#5  0xc06ce23d in trap (frame=
      {tf_fs = -4194280, tf_es = 16, tf_ds = -1065615344, tf_edi = -1028046720, tf_esi = -997750720, tf_ebp = -471356656, tf_isp = -471356708, tf_ebx = 0, tf_edx = 0, tf_ecx = -997750720, tf_eax = -1028049024, tf_trapno = 12, tf_err = 2, tf_eip = -1068124838, tf_cs = 8, tf_eflags = 65794, tf_esp = -1065606464, tf_ss = 0}) at /usr/src/sys/i386/i386/trap.c:417
#6  0xc06badaa in calltrap () at /usr/src/sys/i386/i386/exception.s:140
#7  0xffc00018 in ?? ()
#8  0x00000010 in ?? ()
#9  0xc07c0010 in kseq_cpu ()
#10 0xc2b94080 in ?? ()
#11 0xc4878840 in ?? ()
#12 0xe3e7ab10 in ?? ()
#13 0xe3e7aadc in ?? ()
#14 0x00000000 in ?? ()
#15 0x00000000 in ?? ()
#16 0xc4878840 in ?? ()
#17 0xc2b93780 in ?? ()
#18 0x0000000c in ?? ()
#19 0x00000002 in ?? ()
#20 0xc055b55a in turnstile_wait (ts=0xc2b94080, lock=0xc07b7d20, owner=???)
    at /usr/src/sys/kern/subr_turnstile.c:517
#21 0xc052c815 in _mtx_lock_sleep (m=0xc07b7d20, opts=0, 
    file=0xc07130cd "/usr/src/sys/kern/kern_condvar.c", line=331)
    at /usr/src/sys/kern/kern_mutex.c:542
#22 0xc052c484 in _mtx_lock_flags (m=0xc07b7d20, opts=0, 
    file=0xc07130cd "/usr/src/sys/kern/kern_condvar.c", line=331)
    at /usr/src/sys/kern/kern_mutex.c:253
#23 0xc0510ed4 in cv_timedwait_sig (cvp=0xc07e8204, mp=0xc07e81e0, timo=???)
    at /usr/src/sys/kern/kern_condvar.c:331
#24 0xc055fc8b in poll (td=0xc4878840, uap=0xe3e7ad14)
    at /usr/src/sys/kern/sys_generic.c:937
#25 0xc06ced00 in syscall (frame=
      {tf_fs = 135528495, tf_es = 47, tf_ds = -1078001617, tf_edi = 135565312, tf_esi = 2, tf_ebp = -1077941448, tf_isp = -471356044, tf_ebx = 1748419708, tf_edx = 136998848, tf_ecx = 0, tf_eax = 209, tf_trapno = 22, tf_err = 2, tf_eip = 1749821615, tf_cs = 31, tf_eflags = 642, tf_esp = -1077941476, tf_ss = 47})
    at /usr/src/sys/i386/i386/trap.c:1001
#26 0xc06badff in Xint0x80_syscall () at /usr/src/sys/i386/i386/exception.s:201
#27 0x0814002f in ?? ()
#28 0x0000002f in ?? ()
#29 0xbfbf002f in ?? ()
#30 0x08149000 in ?? ()
#31 0x00000002 in ?? ()
#32 0xbfbfeb38 in ?? ()
#33 0xe3e7ad74 in ?? ()
#34 0x6836c47c in ?? ()
#35 0x082a6fc0 in ?? ()
#36 0x00000000 in ?? ()
#37 0x000000d1 in ?? ()
#38 0x00000016 in ?? ()
#39 0x00000002 in ?? ()
#40 0x684c28af in ?? ()
#41 0x0000001f in ?? ()
#42 0x00000282 in ?? ()
#43 0xbfbfeb1c in ?? ()
#44 0x0000002f in ?? ()
#45 0x00000000 in ?? ()
#46 0x00000000 in ?? ()
#47 0x00000000 in ?? ()
#48 0x00000000 in ?? ()
#49 0x3838f000 in ?? ()
#50 0xc270dc60 in ?? ()
#51 0xc2b98e40 in ?? ()
#52 0xe3e7aa84 in ?? ()
#53 0xe3e7aa64 in ?? ()
#54 0xc4878840 in ?? ()
#55 0xc0549220 in sched_switch (td=0x6836c47c, newtd=0x8149000)
    at /usr/src/sys/kern/sched_ule.c:1171
Previous frame inner to this frame (corrupt stack?)
(kgdb) 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Received on Fri Jul 16 2004 - 16:11:51 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:38:02 UTC