RELENG_5 panic
Robin P. Blanchard
robin.blanchard at gactr.uga.edu
Mon May 23 11:28:04 PDT 2005
> Oh another of these wonderful races... can you go to that
> frame and "print ts"? If its NULL then someone has ripped
> out the ts out from under us since it was checked for NULL in
> the previous line!
Maybe this is a more useful kgdb session (I'm hoping)
# kgdb kernel.debug /usr/local/var/adm/crash/vmcore.44
[GDB will not be able to debug user-mode threads: /usr/lib/libthread_db.so:
Undefined symbol "ps_pglobal_lookup"]
GNU gdb 6.1.1 [FreeBSD]
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for details.
This GDB was configured as "i386-marcel-freebsd".
#0 doadump () at pcpu.h:160
160 __asm __volatile("movl %%fs:0,%0" : "=r" (td));
(kgdb) l *0xc0504808
0xc0504808 is in turnstile_wait (/usr/src/sys/kern/subr_turnstile.c:245).
240 /*
241 * Pick up the lock that td is blocked on.
242 */
243 ts = td->td_blocked;
244 MPASS(ts != NULL);
245 tc = TC_LOOKUP(ts->ts_lockobj);
246 mtx_lock_spin(&tc->tc_lock);
247
248 /*
249 * This thread may not be blocked on this turnstile
anymore
(kgdb) bt
#0 doadump () at pcpu.h:160
#1 0xc04dd58c in boot (howto=260) at /usr/src/sys/kern/kern_shutdown.c:410
#2 0xc04ddccd in panic (fmt=0xc066e594 "%s") at
/usr/src/sys/kern/kern_shutdown.c:566
#3 0xc0641e92 in trap_fatal (frame=0xc7ac0bc8, eva=36) at
/usr/src/sys/i386/i386/trap.c:817
#4 0xc0642535 in trap (frame=
{tf_fs = 24, tf_es = -1066598384, tf_ds = -1066532848, tf_edi =
-1053916800, tf_esi = -1049515008, tf_ebp = -945025988, tf_isp = -945026060,
tf_ebx = -1053916800, tf_edx = -1053937024, tf_ecx = 56, tf_eax = 0,
tf_trapno = 12, tf_err = 0, tf_eip = -1068480504, tf_cs = 8, tf_eflags =
65683, tf_esp = -1053914880, tf_ss = 582}) at
/usr/src/sys/i386/i386/trap.c:255
#5 0xc062da3a in calltrap () at /usr/src/sys/i386/i386/exception.s:140
#6 0x00000018 in ?? ()
#7 0xc06d0010 in ipq ()
#8 0xc06e0010 in sc_buffer.3 ()
#9 0xc12e8180 in ?? ()
#10 0xc171ac00 in ?? ()
#11 0xc7ac0c3c in ?? ()
#12 0xc7ac0bf4 in ?? ()
#13 0xc12e8180 in ?? ()
#14 0xc12e3280 in ?? ()
#15 0x00000038 in ?? ()
#16 0x00000000 in ?? ()
#17 0x0000000c in ?? ()
#18 0x00000000 in ?? ()
#19 0xc0504808 in turnstile_wait (ts=0xc12e3280, lock=0xc06d022c,
owner=0xc171ac00)
at /usr/src/sys/kern/subr_turnstile.c:243
#20 0xc04d2b7f in _mtx_lock_sleep (m=0xc06d022c, td=0xc12e8180, opts=0,
file=0x0, line=0)
at /usr/src/sys/kern/kern_mutex.c:552
#21 0xc058a592 in tcp_isn_tick (xtp=0x0) at
/usr/src/sys/netinet/tcp_subr.c:1380
#22 0xc04ed069 in softclock (dummy=0x0) at
/usr/src/sys/kern/kern_timeout.c:279
#23 0xc04c460a in ithread_loop (arg=0xc12fd500) at
/usr/src/sys/kern/kern_intr.c:547
#24 0xc04c32c2 in fork_exit (callout=0xc04c4550 <ithread_loop>, arg=0x0,
frame=0x0)
at /usr/src/sys/kern/kern_fork.c:791
#25 0xc062da9c in fork_trampoline () at
/usr/src/sys/i386/i386/exception.s:209
(kgdb) frame 19
#19 0xc0504808 in turnstile_wait (ts=0xc12e3280, lock=0xc06d022c,
owner=0xc171ac00)
at /usr/src/sys/kern/subr_turnstile.c:243
243 ts = td->td_blocked;
(kgdb) list
238 ts->ts_lockobj->lo_name));
239
240 /*
241 * Pick up the lock that td is blocked on.
242 */
243 ts = td->td_blocked;
244 MPASS(ts != NULL);
245 tc = TC_LOOKUP(ts->ts_lockobj);
246 mtx_lock_spin(&tc->tc_lock);
247
(kgdb) print ts
$1 = (struct turnstile *) 0xc12e3280
(kgdb) up
#20 0xc04d2b7f in _mtx_lock_sleep (m=0xc06d022c, td=0xc12e8180, opts=0,
file=0x0, line=0)
at /usr/src/sys/kern/kern_mutex.c:552
552 turnstile_wait(ts, &m->mtx_object, mtx_owner(m));
(kgdb) list
547 #endif
548
549 /*
550 * Block on the turnstile.
551 */
552 turnstile_wait(ts, &m->mtx_object, mtx_owner(m));
553 }
554
555 #ifdef KTR
556 if (cont_logged) {
(kgdb) print ts
$2 = (struct turnstile *) 0x0
(kgdb)
---------------------------------------
Robin P. Blanchard
Systems Integration Specialist
Georgia Center for Continuing Education
fon: 706.542.2404 < > fax: 706.542.6546
---------------------------------------
More information about the freebsd-stable
mailing list