spin lock sched lock held by 0xc25a8640 for > 5 seconds
Craig Rodrigues
rodrigc at crodrigues.org
Thu Nov 20 11:52:52 PST 2003
On Thu, Nov 20, 2003 at 11:03:42AM -0800, Kris Kennaway wrote:
> c052e000 t propagate_priority
> c052e360 T init_turnstiles
Is your crash similar to the one I saw on my system yesterday?
--
Craig Rodrigues
http://crodrigues.org
rodrigc at crodrigues.org
Script started on Thu Nov 20 14:50:14 2003
[root at dibbler /opt/crash]% gdb -k /usr/obj/usr/src/sys/MYKERNEL1/kernel.debug vmcore.
0
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: page fault
panic messages:
---
Fatal trap 12: page fault while in kernel mode
cpuid = 0; apic id = 00
fault virtual address = 0x6300040
fault code = supervisor read, page not present
instruction pointer = 0x8:0xc083611e
stack pointer = 0x10:0xd3383a24
frame pointer = 0x10:0xd3383a34
code segment = base 0x0, limit 0xfffff, type 0x1b
= DPL 0, pres 1, def32 1, gran 1
processor eflags = interrupt enabled, resume, IOPL = 0
current process = 75969 (tcpdump)
trap number = 12
panic: page fault
cpuid = 0;
syncing disks, buffers remaining... panic: sleeping thread (pid 75969) owns a non-sleepable lock
cpuid = 0;
Uptime: 8h54m17s
Dumping 255 MB
16 32 48 64 80 96 112 128 144 160 176 192 208 224 240
---
Reading symbols from /usr/obj/usr/src/sys/MYKERNEL1/modules/usr/src/sys/modules/linux/linux.ko.debug...done.
Loaded symbols for /usr/obj/usr/src/sys/MYKERNEL1/modules/usr/src/sys/modules/linux/linux.ko.debug
#0 doadump () at /usr/src/sys/kern/kern_shutdown.c:240
240 dumping++;
(kgdb) where
#0 doadump () at /usr/src/sys/kern/kern_shutdown.c:240
#1 0xc069249b in boot (howto=260) at /usr/src/sys/kern/kern_shutdown.c:372
#2 0xc069289d in panic () at /usr/src/sys/kern/kern_shutdown.c:550
#3 0xc06b7fcb in propagate_priority (td=0xc3153b40)
at /usr/src/sys/kern/subr_turnstile.c:176
#4 0xc06b8a1d in turnstile_wait (ts=0xc16bbc00, lock=0xc2d8fe6c, owner=0xc3153b40)
at /usr/src/sys/kern/subr_turnstile.c:509
#5 0xc0688f25 in _mtx_lock_sleep (m=0xc2d8fe6c, opts=0,
file=0xc08cf467 "/usr/src/sys/pci/if_sis.c", line=1835)
at /usr/src/sys/kern/kern_mutex.c:476
#6 0xc0688a88 in _mtx_lock_flags (m=0xc2d8fe6c, opts=0,
file=0xc08cf467 "/usr/src/sys/pci/if_sis.c", line=1835)
at /usr/src/sys/kern/kern_mutex.c:218
#7 0xc07b2835 in sis_intr (arg=0xc2d8fc00) at /usr/src/sys/pci/if_sis.c:1835
#8 0xc067ea32 in ithread_loop (arg=0xc16c0880) at /usr/src/sys/kern/kern_intr.c:544
#9 0xc067d9e4 in fork_exit (callout=0xc067e8a0 <ithread_loop>, arg=0x0, frame=0x0)
at /usr/src/sys/kern/kern_fork.c:793
(kgdb) frame 7
#7 0xc07b2835 in sis_intr (arg=0xc2d8fc00) at /usr/src/sys/pci/if_sis.c:1835
1835 SIS_LOCK(sc);
(kgdb) l
1830 u_int32_t status;
1831
1832 sc = arg;
1833 ifp = &sc->arpcom.ac_if;
1834
1835 SIS_LOCK(sc);
1836 #ifdef DEVICE_POLLING
1837 if (ifp->if_flags & IFF_POLLING)
1838 goto done;
1839 if (ether_poll_register(sis_poll, ifp)) { /* ok, disable interrupts */
(kgdb) frame 3
#3 0xc06b7fcb in propagate_priority (td=0xc3153b40)
at /usr/src/sys/kern/subr_turnstile.c:176
176 KASSERT(!TD_IS_SLEEPING(td),
(kgdb) l
171 * first thread to grab a slock of a sx lock. In that case
172 * it is possible for us to be at SSLEEP or some other
173 * weird state. We should probably just return if the state
174 * isn't SRUN or SLOCK.
175 */
176 KASSERT(!TD_IS_SLEEPING(td),
177 ("sleeping thread (pid %d) owns a non-sleepable lock",
178 td->td_proc->p_pid));
179
180 /*
(kgdb) quit
[root at dibbler /opt/crash]% exit
Script done on Thu Nov 20 14:50:32 2003
More information about the freebsd-current
mailing list