Date: Mon, 09 Dec 2002 12:54:14 -0500 (EST) From: John Baldwin <jhb@FreeBSD.org> To: Dag-Erling Smorgrav <des@ofug.org> Cc: current@freebsd.org Subject: RE: panic in ithread_loop() Message-ID: <XFMail.20021209125414.jhb@FreeBSD.org> In-Reply-To: <xzpsmx81so6.fsf@flood.ping.uio.no>
next in thread | previous in thread | raw e-mail | index | archive | help
On 08-Dec-2002 Dag-Erling Smorgrav wrote: > 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. This is where it faulted for some reason or another. It was running a registered interrupt handler. Do you have any kernel modules in this system? > (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 -- John Baldwin <jhb@FreeBSD.org> <>< http://www.FreeBSD.org/~jhb/ "Power Users Use the Power to Serve!" - http://www.FreeBSD.org/ To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?XFMail.20021209125414.jhb>