From owner-freebsd-current Sun Dec 8 6:39:26 2002 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 37B4B37B401 for ; Sun, 8 Dec 2002 06:39:24 -0800 (PST) Received: from flood.ping.uio.no (flood.ping.uio.no [129.240.78.31]) by mx1.FreeBSD.org (Postfix) with ESMTP id 8832C43E4A for ; Sun, 8 Dec 2002 06:39:23 -0800 (PST) (envelope-from des@ofug.org) Received: by flood.ping.uio.no (Postfix, from userid 2602) id 9D4F65375; Sun, 8 Dec 2002 15:39:21 +0100 (CET) X-URL: http://www.ofug.org/~des/ X-Disclaimer: The views expressed in this message do not necessarily coincide with those of any organisation or company with which I am or have been affiliated. To: current@freebsd.org Subject: panic in ithread_loop() From: Dag-Erling Smorgrav Date: Sun, 08 Dec 2002 15:39:21 +0100 Message-ID: Lines: 60 User-Agent: Gnus/5.090007 (Oort Gnus v0.07) Emacs/21.2 (i386--freebsd) MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Sender: owner-freebsd-current@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG This is 100% reproducible with a top-of-tree kernel, but didn't happen with Wednesday's sources: Fatal trap 12: page fault while in kernel mode fault virtual address = 0xc01e8d fault code = supervisor write, page not present instruction pointer = 0x8:0xc045dc80 stack pointer = 0x10:0xd536dce4 frame pointer = 0x10:0xd536dd00 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 = 12 (swi6: tty:sio clock) kernel: type 12 trap, code=0 Stopped at 0xc045dc80: movb %al,0xc01e8d db> trace _end(0) at 0xc045dc80 ithread_loop(c152ab00,d536dd48,c1537b60,c01d3d80,0) at ithread_loop+0x11c fork_exit(c01d3d80,c152ab00,d536dd48) at fork_exit+0x8f fork_trampoline() at fork_trampoline+0x1a --- trap 0x1, eip = 0, esp = 0xd536dd7c, ebp = 0 --- and according to gdb: (gdb) list _end No line number known for _end. (gdb) list *0xc045dc80 No source file for address 0xc045dc80. (gdb) l *(ithread_loop + 0x11c) 0xc01d3e9c is in ithread_loop (../../../kern/kern_intr.c:536). 531 goto restart; 532 } 533 if ((ih->ih_flags & IH_MPSAFE) == 0) 534 mtx_lock(&Giant); 535 ih->ih_handler(ih->ih_argument); 536 if ((ih->ih_flags & IH_MPSAFE) == 0) 537 mtx_unlock(&Giant); 538 } 539 } 540 (gdb) l *(fork_exit+0x8f) 0xc01d326f is in fork_exit (../../../kern/kern_fork.c:872). 867 868 /* 869 * Check if a kernel thread misbehaved and returned from its main 870 * function. 871 */ 872 PROC_LOCK(p); 873 if (p->p_flag & P_KTHREAD) { 874 PROC_UNLOCK(p); 875 mtx_lock(&Giant); 876 printf("Kernel thread \"%s\" (pid %d) exited prematurely.\n", (gdb) l *(fork_trampoline+0x1a) 0xc02db94e is at {standard input}:152. 147 {standard input}: No such file or directory. in {standard input} DES -- Dag-Erling Smorgrav - des@ofug.org To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message