Hi

I received this panic whilst terminating program sem_d (src/lib/libpthread/test) with Ctrl+C. sem_d seems to stall after the first block of threads have been completed: the system only panics upon issuing a Ctrl+C to sem_d. sem_d successfully ran to completion when compiled with -pthread.

My system was cvsup'ed and generated Mar 21.

If there is anything else I can provide ...

--

Regards

Peter

As always the organisation disavows knowledge of this email

Script started on Sun Mar 23 14:31:13 2003
GNU gdb 5.2.1 (FreeBSD)
Copyright 2002 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-undermydesk-freebsd"...
panic: mi_switch: switch in a critical section
panic messages:
---
panic: blockable sleep lock (sleep mutex) process lock @ 
/mnt/cvs/FreeBSD/usr/src/sys/i386/i386/trap.c:728

syncing disks, buffers remaining... 3863 3863 panic: mi_switch: switch in a critical 
section
Uptime: 1h32m24s
Dumping 511 MB
ata0: resetting devices ..
ata0: pre reset mask=03 ostat0=50 ostat2=50
ad0: ATAPI 00 00
ad1: ATAPI 00 00
ata0: after reset mask=03 stat0=50 stat1=50
ad0: ATA 01 a5
ad1: ATA 01 a5
ata0: devices=03
ad1: success setting BIOSPIO on Intel ICH4 chip
ad0: success setting UDMA100 on Intel ICH4 chip
done
[CTRL-C to abort] [CTRL-C to abort] [CTRL-C to abort]  16 32 48 64 80 96 112 128 144 
160 176 192 208 224 240 256 272 288 304 320 336 352 368 384 400 416 432 448 464 480 496
---
Reading symbols from 
/usr/obj/mnt/cvs/FreeBSD/usr/src/sys/EVA/modules/mnt/cvs/FreeBSD/usr/src/sys/modules/linux/linux.ko.debug...
done.
Loaded symbols for 
/usr/obj/mnt/cvs/FreeBSD/usr/src/sys/EVA/modules/mnt/cvs/FreeBSD/usr/src/sys/modules/linux/linux.ko.debug
Reading symbols from 
/usr/obj/mnt/cvs/FreeBSD/usr/src/sys/EVA/modules/mnt/cvs/FreeBSD/usr/src/sys/modules/acpi/acpi.ko.debug...done.
Loaded symbols for 
/usr/obj/mnt/cvs/FreeBSD/usr/src/sys/EVA/modules/mnt/cvs/FreeBSD/usr/src/sys/modules/acpi/acpi.ko.debug
Reading symbols from 
/usr/obj/mnt/cvs/FreeBSD/usr/src/sys/EVA/modules/mnt/cvs/FreeBSD/usr/src/sys/modules/linprocfs/linprocfs.ko.debug...done.
Loaded symbols for 
/usr/obj/mnt/cvs/FreeBSD/usr/src/sys/EVA/modules/mnt/cvs/FreeBSD/usr/src/sys/modules/linprocfs/linprocfs.ko.debug
#0  doadump () at /mnt/cvs/FreeBSD/usr/src/sys/kern/kern_shutdown.c:239
/mnt/cvs/FreeBSD/usr/src/sys/kern/kern_shutdown.c:239:6799:beg:0xc02397eb
(kgdb) bt
#0  doadump () at /mnt/cvs/FreeBSD/usr/src/sys/kern/kern_shutdown.c:239
#1  0xc0239e13 in boot (howto=260) at 
/mnt/cvs/FreeBSD/usr/src/sys/kern/kern_shutdown.c:371
#2  0xc023a113 in panic () at /mnt/cvs/FreeBSD/usr/src/sys/kern/kern_shutdown.c:542
#3  0xc0240731 in mi_switch () at /mnt/cvs/FreeBSD/usr/src/sys/kern/kern_synch.c:466
#4  0xc0239aff in boot (howto=256) at 
/mnt/cvs/FreeBSD/usr/src/sys/kern/kern_shutdown.c:311
#5  0xc023a113 in panic () at /mnt/cvs/FreeBSD/usr/src/sys/kern/kern_shutdown.c:542
#6  0xc025bb2f in witness_lock (lock=0xc28ae268, flags=8, file=0xc03e12df 
"/mnt/cvs/FreeBSD/usr/src/sys/i386/i386/trap.c", line=728)
    at /mnt/cvs/FreeBSD/usr/src/sys/kern/subr_witness.c:574
#7  0xc02304a1 in _mtx_lock_flags (m=0xc2299500, opts=0, file=0xc03e12df 
"/mnt/cvs/FreeBSD/usr/src/sys/i386/i386/trap.c", 
    line=-1031085464) at /mnt/cvs/FreeBSD/usr/src/sys/kern/kern_mutex.c:336
#8  0xc03868ed in trap_pfault (frame=0xd8cb5914, usermode=0, eva=220) at 
/mnt/cvs/FreeBSD/usr/src/sys/i386/i386/trap.c:728
#9  0xc038658d in trap (frame=
      {tf_fs = -1069219816, tf_es = -1069219824, tf_ds = -1069219824, tf_edi = 0, 
tf_esi = 216, tf_ebp = -657761948, tf_isp = -657761984, tf_ebx = 26, tf_edx = 
-1037462272, tf_ecx = -1040471136, tf_eax = -1069425608, tf_trapno = 12, tf_err = 2, 
tf_eip = -1071385900, tf_cs = 8, tf_eflags = 66118, tf_esp = -1040471136, tf_ss = 
-1040471136}) at /mnt/cvs/FreeBSD/usr/src/sys/i386/i386/trap.c:444
#10 0xc0376e48 in calltrap () at {standard input}:96
#11 0xc024be4f in sched_rem (ke=0x1a) at 
/mnt/cvs/FreeBSD/usr/src/sys/kern/sched_ule.c:252
#12 0xc023efe0 in setrunqueue (td=0x1a) at 
/mnt/cvs/FreeBSD/usr/src/sys/kern/kern_switch.c:345
#13 0xc024b95c in sched_wakeup (td=0xc28af200) at 
/mnt/cvs/FreeBSD/usr/src/sys/kern/sched_ule.c:604
#14 0xc02409d0 in setrunnable (td=0xc28af200) at 
/mnt/cvs/FreeBSD/usr/src/sys/kern/kern_synch.c:582
#15 0xc024044f in abortsleep (td=0xc28af2ec) at 
/mnt/cvs/FreeBSD/usr/src/sys/kern/kern_synch.c:363
#16 0xc023cb5a in tdsignal (td=0xc28af2ec, sig=2, action=0xc28af200) at 
/mnt/cvs/FreeBSD/usr/src/sys/kern/kern_sig.c:1606
#17 0xc023c8c6 in psignal (p=0xc28af200, sig=2) at 
/mnt/cvs/FreeBSD/usr/src/sys/kern/kern_sig.c:1491
#18 0xc023c359 in pgsignal (pgrp=0xc25a6800, sig=2, checkctty=1) at 
/mnt/cvs/FreeBSD/usr/src/sys/kern/kern_sig.c:1252
#19 0xc026952d in ttyinput (c=3, tp=0xc25edc30) at 
/mnt/cvs/FreeBSD/usr/src/sys/kern/tty.c:424
#20 0xc026f990 in ptcwrite (dev=0x0, uio=0xd8cb5c7c, flag=8323089) at 
/mnt/cvs/FreeBSD/usr/src/sys/kern/tty_pty.c:607
#21 0xc02023e0 in spec_write (ap=0xd8cb5be0) at 
/mnt/cvs/FreeBSD/usr/src/sys/fs/specfs/spec_vnops.c:311
#22 0xc0201ce8 in spec_vnoperate (ap=0x0) at 
/mnt/cvs/FreeBSD/usr/src/sys/fs/specfs/spec_vnops.c:123
#23 0xc029a3fe in vn_write (fp=0xc2311708, uio=0xd8cb5c7c, active_cred=0xc25d3c00, 
flags=0, td=0xc2299500) at vnode_if.h:417
#24 0xc025e568 in dofilewrite (td=0xc2299500, fp=0xc2311708, fd=0, buf=0x8061dc0, 
nbyte=0, offset=0, flags=0) at file.h:239
#25 0xc025e3a9 in write (td=0xc2299500, uap=0xd8cb5d10) at 
/mnt/cvs/FreeBSD/usr/src/sys/kern/sys_generic.c:329
#26 0xc038701e in syscall (frame=
      {tf_fs = 47, tf_es = 47, tf_ds = 47, tf_edi = 1, tf_esi = -1077937904, tf_ebp = 
-1077938200, tf_isp = -657760908, tf_ebx = 1, tf_edx = 1, tf_ecx = 134618560, tf_eax = 
4, tf_trapno = 12, tf_err = 2, tf_eip = 672785795, tf_cs = 31, tf_eflags = 643, tf_esp 
= -1077938228, tf_ss = 47}) at /mnt/cvs/FreeBSD/usr/src/sys/i386/i386/trap.c:1030
#27 0xc0376e9d in Xint0x80_syscall () at {standard input}:138
---Can't read userspace from dump, or kernel process---

(kgdb) up 11
#11 0xc024be4f in sched_rem (ke=0x1a) at 
/mnt/cvs/FreeBSD/usr/src/sys/kern/sched_ule.c:252
/mnt/cvs/FreeBSD/usr/src/sys/kern/sched_ule.c:252:8496:beg:0xc024be4f
(kgdb) l
247     }
248     static __inline void
249     kseq_rem(struct kseq *kseq, struct kse *ke)
250     {
251             kseq->ksq_load--;
252             runq_remove(ke->ke_runq, ke);
253     #ifdef SMP
254             kseq->ksq_rslices -= ke->ke_slice;
255     #endif
256     }
(kgdb) up 1
#12 0xc023efe0 in setrunqueue (td=0x1a) at 
/mnt/cvs/FreeBSD/usr/src/sys/kern/kern_switch.c:345
/mnt/cvs/FreeBSD/usr/src/sys/kern/kern_switch.c:345:10789:beg:0xc023efe0
(kgdb) l
340                             ke = tda->td_kse;
341                             tda->td_kse = NULL;
342                             ke->ke_thread = NULL;
343                             tda = kg->kg_last_assigned =
344                                 TAILQ_PREV(tda, threadqueue, td_runq);
345                             sched_rem(ke);
346                     }
347             } else {
348                     /* 
349                      * Temporarily disassociate so it looks like the other cases.
(kgdb) l -10
335                             kg->kg_idle_kses--;
336                     } else if (tda && (tda->td_priority > td->td_priority)) {
337                             /*
338                              * None free, but there is one we can commandeer.
339                              */
340                             ke = tda->td_kse;
341                             tda->td_kse = NULL;
342                             ke->ke_thread = NULL;
343                             tda = kg->kg_last_assigned =
344                                 TAILQ_PREV(tda, threadqueue, td_runq);
(kgdb) p ke
$1 = (struct kse *) 0x0
(kgdb) q

Script done on Sun Mar 23 14:33:44 2003

Reply via email to