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