Date: Sun, 03 Nov 1996 21:17:06 +0100 From: "Philippe Charnier" <charnier@xp11.frmug.org> To: current@FreeBSD.org Subject: panic: page fault Message-ID: <199611032017.VAA01052@xp11.frmug.org>
next in thread | raw e-mail | index | archive | help
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''
------------------------------------------------------------------------
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199611032017.VAA01052>
