From owner-freebsd-current Sun Nov 3 12:21:36 1996 Return-Path: owner-current Received: (from root@localhost) by freefall.freebsd.org (8.7.5/8.7.3) id MAA19690 for current-outgoing; Sun, 3 Nov 1996 12:21:36 -0800 (PST) Received: from frmug.org (frmug-gw.frmug.org [193.56.58.252]) by freefall.freebsd.org (8.7.5/8.7.3) with ESMTP id MAA19683 for ; Sun, 3 Nov 1996 12:21:31 -0800 (PST) Received: (from uucp@localhost) by frmug.org (8.8.2/8.8.2/frmug-1.2) with UUCP id VAA23023 for current@FreeBSD.org; Sun, 3 Nov 1996 21:21:06 +0100 (MET) Received: from localhost (localhost [127.0.0.1]) by xp11.frmug.org (8.8.2/8.7.3/xp11-uucp-1.1) with ESMTP id VAA01052 for ; Sun, 3 Nov 1996 21:17:08 +0100 (MET) Message-Id: <199611032017.VAA01052@xp11.frmug.org> To: current@FreeBSD.org Subject: panic: page fault Date: Sun, 03 Nov 1996 21:17:06 +0100 From: "Philippe Charnier" Sender: owner-current@FreeBSD.org X-Loop: FreeBSD.org Precedence: bulk Hello, I got this with a current kernel (last friday, cvs-cur #2646). Fatal trap 12: page fault while in kernel mode fault virtual address = 0x1000024 fault code = supervisor read, page not present instruction pointer = 0x8:0xf01ba1a3 stack pointer = 0x10:0xf01daff4 frame pointer = 0x10:0xf01daff8 code segment = base 0x0, limit 0xfffff, type 0x1b = DPL 0, pres 1, def32 1, gran 1 processor eflags = resume, IOPL = 0 current process = Idle interrupt mask = panic: page fault xp11# gdb -k GDB is free software and you are welcome to 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. GDB 4.13 (i386-unknown-freebsd), Copyright 1994 Free Software Foundation, Inc. (kgdb) symbol-file /usr/trash/kernels.debug/kernel.2646 Reading symbols from /usr/trash/kernels.debug/kernel.2646...done. (kgdb) exec-file /usr/trash/crash/kernel.8 (kgdb) core-file /usr/trash/crash/vmcore.8 IdlePTD 22b000 current pcb at 0x1e66e0 panic: page fault #0 boot (howto=256) at ../../kern/kern_shutdown.c:243 243 dumppcb.pcb_cr3 = rcr3(); (kgdb) bt #0 boot (howto=256) at ../../kern/kern_shutdown.c:243 #1 0xf0114f23 in panic (fmt=0xf01b8cef "page fault") at ../../kern/kern_shutdown.c:367 #2 0xf01b9883 in trap_fatal (frame=0xf01dafb8) at ../../i386/i386/trap.c:741 #3 0xf01b9364 in trap_pfault (frame=0xf01dafb8, usermode=0) at ../../i386/i386/trap.c:652 #4 0xf01b8ff7 in trap (frame={tf_es = 16, tf_ds = -266665968, tf_edi = 0, tf_esi = -255372288, tf_ebp = -266489864, tf_isp = -266489888, tf_ebx = 16777216, tf_edx = 1, tf_ecx = 0, tf_eax = 16777216, tf_trapno = 12, tf_err = -266534912, tf_eip = -266624605, tf_cs = 8, tf_eflags = 65542, tf_esp = -266445016, tf_ss = 0}) at ../../i386/i386/trap.c:311 #5 0xf01ba1a3 in vm_page_zero_idle () at ../../i386/i386/vm_machdep.c:842 (kgdb) up 4 #4 0xf01b8ff7 in trap (frame={tf_es = 16, tf_ds = -266665968, tf_edi = 0, tf_esi = -255372288, tf_ebp = -266489864, tf_isp = -266489888, tf_ebx = 16777216, tf_edx = 1, tf_ecx = 0, tf_eax = 16777216, tf_trapno = 12, tf_err = -266534912, tf_eip = -266624605, tf_cs = 8, tf_eflags = 65542, tf_esp = -266445016, tf_ss = 0}) at ../../i386/i386/trap.c:311 311 (void) trap_pfault(&frame, FALSE); (kgdb) up 1 #5 0xf01ba1a3 in vm_page_zero_idle () at ../../i386/i386/vm_machdep.c:842 842 if ((cnt.v_free_count > cnt.v_interrupt_free_min) && (kgdb) list 837 */ 838 int 839 vm_page_zero_idle() { 840 vm_page_t m; 841 static int free_rover = 0; 842 if ((cnt.v_free_count > cnt.v_interrupt_free_min) && 843 (m = vm_page_list_find(PQ_FREE, free_rover))) { 844 --(*vm_page_queues[m->queue].lcnt); 845 TAILQ_REMOVE(vm_page_queues[m->queue].pl, m, pageq); 846 enable_intr(); (kgdb) print cnt $1 = {v_swtch = 286553, v_trap = 591536, v_syscall = 11028453, v_intr = 7327267, v_soft = 161029, v_vm_faults = 510152, v_cow_faults = 271432, v_zfod = 132442, v_swapin = 977, v_swapout = 1983, v_swappgsin = 2452, v_swappgsout = 3758, v_vnodein = 2082, v_vnodeout = 0, v_vnodepgsin = 7637, v_vnodepgsout = 0, v_intrans = 13, v_reactivated = 7419, v_pdwakeups = 201, v_pdpages = 454533, v_dfree = 127, v_pfree = 319938, v_tfree = 504874, v_page_size = 4096, v_page_count = 3633, v_free_reserved = 94, v_free_target = 427, v_free_min = 111, v_free_count = 250, v_wire_count = 996, v_active_count = 1680, v_inactive_target = 653, v_inactive_count = 325, v_cache_count = 381, v_cache_min = 305, v_cache_max = 1222, v_pageout_free_min = 10, v_interrupt_free_min = 2} (kgdb) print m $2 = (struct vm_page *) 0x1000000 (kgdb) print *m Cannot access memory at address 0x1000000. (kgdb) Note that I have default setting (don't know which one) for PQ_L2_SIZE which is used in vm_page_list_find() (line 592, /usr/src/sys/vm/vm_page.c). ------ ------ Philippe Charnier charnier@lirmm.fr (smtp) charnier@xp11.frmug.org (uucp) ``a PC not running FreeBSD is like a venusian with no tentacles'' ------------------------------------------------------------------------