From owner-freebsd-current@FreeBSD.ORG Thu Nov 20 11:52:51 2003 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id D7F1716A4CE for ; Thu, 20 Nov 2003 11:52:51 -0800 (PST) Received: from rwcrmhc13.comcast.net (rwcrmhc13.comcast.net [204.127.198.39]) by mx1.FreeBSD.org (Postfix) with ESMTP id 5F87243FBF for ; Thu, 20 Nov 2003 11:52:50 -0800 (PST) (envelope-from rodrigc@crodrigues.org) Received: from h00609772adf0.ne.client2.attbi.com ([66.31.45.197]) by comcast.net (rwcrmhc13) with ESMTP id <2003112019524901500bkphte>; Thu, 20 Nov 2003 19:52:49 +0000 Received: from h00609772adf0.ne.client2.attbi.com (localhost.crodrigues.org [127.0.0.1])hAKJrbOw047019; Thu, 20 Nov 2003 14:53:37 -0500 (EST) (envelope-from rodrigc@h00609772adf0.ne.client2.attbi.com) Received: (from rodrigc@localhost)hAKJradW047018; Thu, 20 Nov 2003 14:53:36 -0500 (EST) (envelope-from rodrigc) Date: Thu, 20 Nov 2003 14:53:32 -0500 From: Craig Rodrigues To: Kris Kennaway Message-ID: <20031120195332.GA47010@crodrigues.org> References: <20031120190342.GA87876@xor.obsecurity.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20031120190342.GA87876@xor.obsecurity.org> User-Agent: Mutt/1.4.1i cc: current@FreeBSD.org Subject: Re: spin lock sched lock held by 0xc25a8640 for > 5 seconds X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 20 Nov 2003 19:52:52 -0000 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@crodrigues.org Script started on Thu Nov 20 14:50:14 2003 [root@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 , 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@dibbler /opt/crash]% exit Script done on Thu Nov 20 14:50:32 2003