From owner-freebsd-current@FreeBSD.ORG Mon Jul 12 13:19:26 2004 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 AA77B16A4CE for ; Mon, 12 Jul 2004 13:19:26 +0000 (GMT) Received: from hetzner.co.za (lfw.hetzner.co.za [196.7.18.226]) by mx1.FreeBSD.org (Postfix) with ESMTP id 3F49143D3F for ; Mon, 12 Jul 2004 13:19:26 +0000 (GMT) (envelope-from ianf@hetzner.co.za) Received: from localhost ([127.0.0.1]) by hetzner.co.za with esmtp (Exim 3.36 #1) id 1Bk0iH-0001Mr-00 for current@FreeBSD.org; Mon, 12 Jul 2004 15:19:21 +0200 To: current@FreeBSD.org From: Ian FREISLICH X-Attribution: BOFH Date: Mon, 12 Jul 2004 15:19:21 +0200 Sender: ianf@hetzner.co.za Message-Id: Subject: panic: spin lock held too long 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: Mon, 12 Jul 2004 13:19:26 -0000 Hi I've got this panic on 2 out of 3 make world (-j8) attempts on my SMP system using SCHED_BSD. I'm compiling a kernel with options BREAK_TO_DEBUGGER to see if I can reproduce the panic once again and break into the debugger to force a coredump. It seems to not stop CPU0 because 'spin lock sleepq chain held by xxxx for > 5 seconds' message keeps on appearing after the panic. Any ideas or requests for specific information are welcome. I have private mods to the following files: M sys/dev/usb/uhci_pci.c M sys/kern/kern_synch.c M sys/netinet/ip_fastfwd.c M sys/netinet/ip_fw.h M sys/netinet/ip_fw2.c M sys/netinet/ip_input.c M sys/netinet/ip_output.c The modification to sys/kern/kern_synch.c was suggested by jhb to stop another panic (spin lock held too long) relating to a deadlock in the swapper. USB doesn't work and the rest fixes ipfw tee. I can back these out if people think they might be interfering. Fatal trap 1spin lock sched lock held by 0xc0fc4690 for > 5 seconds panic: spin lock held too long cpuid = 1; Stack backtrace: backtrace(100,c23032a0,3938700,c065f520,4) at backtrace+0x12 panic(c06113fe,c06113d5,c061141c,c0fc4690,c23032a0) at panic+0x11e _mtx_lock_spin(c065f520,2,0,0) at _mtx_lock_spin+0x80 hardclock_process(d1b44c60,bd69f,d1b44cb0,c05c7a20,0) at hardclock_process+0x60 forwarded_hardclock(0) at forwarded_hardclock+0x17 Xhardclock(c065f520,0,0,0) at Xhardclock+0x30 sched_userret(c23032a0) at sched_userret+0x6c userret(c23032a0,d1b44d48,0,1,0) at userret+0x11 syscall(805002f,2f,805002f,8057000,0) at syscall+0x359 Xint0x80_syscall() at Xint0x80_syscall+0x1f --- syscall (0), eip = 0x28107473, esp = 0x805bf80, ebp = 0x805bfbc --- spin lock sched lock held by 0xc0fc4690 for > 5 seconds panic: spin lock held too long cpuid = 1; spin lock sched lock held by 0xc0fc4690 for > 5 seconds panic: spin lock held too long cpuid = 1; .... Ian -- Ian Freislich