Date: Tue, 24 Feb 2004 16:00:50 -0500 From: Dave Hensley <dhensley@engr.uky.edu> To: freebsd-i386@freebsd.org Subject: Crashes (Fatal trap 12: page fault while in kernel mode) Message-ID: <403BBB82.5030805@engr.uky.edu>
next in thread | raw e-mail | index | archive | help
I have a 4.9-RELEASE-p1 system that crashes a few times per week. The invalid page fault seems to be triggered by nfs, as shown by the backtrace, though with my (very) limited kernel debugging experience I've been unable to diagnose further. Perhaps someone has had similar problems and knows how to fix it, or can at least give me some ideas to try? Any help would be very well appreciated. Thanks, Dave. Below is the output from gdb: SMP 4 cpus IdlePTD at phsyical address 0x00572000 initial pcb at physical address 0x0049bfe0 panicstr: page fault panic messages: --- Fatal trap 12: page fault while in kernel mode mp_lock = 00000002; cpuid = 0; lapic.id = 00000000 fault virtual address = 0x21 fault code = supervisor read, page not present instruction pointer = 0x8:0xc0253050 stack pointer = 0x10:0xf1e9bd34 frame pointer = 0x10:0xf1e9bd70 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 = 4274 (imapd) interrupt mask = bio <- SMP: XXX trap number = 12 panic: page fault mp_lock = 00000002; cpuid = 0; lapic.id = 00000000 boot() called on cpu#0 syncing disks... 2118 2101 2101 2100 2100 2100 2100 2100 2100 2100 2109 2098 2098 2098 2098 2098 2098 2098 2101 2098 2098 2098 2098 2098 2098 2098 2098 2098 2098 2098 2098 2098 2098 2098 2098 2098 2098 2098 2098 done Uptime: 1d0h8m27s dumping to dev #aacd/0x20001, offset 4194432 dump 2047 2046 2045 2044 2043 2042 2041 ------------snip!------------- 4 3 2 1 0 succeeded aac0: shutting down controller... --- #0 dumpsys () at /usr/src/sys/kern/kern_shutdown.c:487 487 if (dumping++) { (kgdb) l *0xc0253050 0xc0253050 is in brelse (/usr/src/sys/kern/vfs_bio.c:993). 988 989 KASSERT(!(bp->b_flags & (B_CLUSTER|B_PAGING)), ("brelse: inappropriate B_PAGING or B_CLUSTER bp %p", bp)); 990 991 s = splbio(); 992 993 if (bp->b_flags & B_LOCKED) 994 bp->b_flags &= ~B_ERROR; 995 996 if ((bp->b_flags & (B_READ | B_ERROR | B_INVAL)) == B_ERROR) { 997 /* (kgdb) bt #0 dumpsys () at /usr/src/sys/kern/kern_shutdown.c:487 #1 0xc022c71b in boot (howto=256) at /usr/src/sys/kern/kern_shutdown.c:316 #2 0xc022cb74 in poweroff_wait (junk=0xc042e4d9, howto=-1069359217) at /usr/src/sys/kern/kern_shutdown.c:595 #3 0xc03abda4 in trap_fatal (frame=0xf1e9bcf4, eva=33) at /usr/src/sys/i386/i386/trap.c:974 #4 0xc03aba35 in trap_pfault (frame=0xf1e9bcf4, usermode=0, eva=33) at /usr/src/sys/i386/i386/trap.c:867 #5 0xc03ab5a7 in trap (frame={tf_fs = 24, tf_es = 16, tf_ds = 16, tf_edi = 0, tf_esi = 0, tf_ebp = -236339856, tf_isp = -236339936, tf_ebx = 0, tf_edx = 1745141856, tf_ecx = 32, tf_eax = 0, tf_trapno = 12, tf_err = 0, tf_eip = -1071304624, tf_cs = 8, tf_eflags = 66054, tf_esp = 0, tf_ss = -227323200}) at /usr/src/sys/i386/i386/trap.c:466 #6 0xc0253050 in brelse (bp=0x0) at /usr/src/sys/kern/vfs_bio.c:991 #7 0xc02b1c29 in nfs_bioread (vp=0xf1a32dc0, uio=0xf1e9be78, ioflag=0, cred=0xc50b4800) at /usr/src/sys/nfs/nfs_bio.c:710 #8 0xc02da315 in nfs_readlink (ap=0xf1e9be68) at /usr/src/sys/nfs/nfs_vnops.c:1037 #9 0xc025931e in namei (ndp=0xf1e9bedc) at vnode_if.h:794 #10 0xc025e149 in change_dir (ndp=0xf1e9bedc, p=0xf1313ee0) at /usr/src/sys/kern/vfs_syscalls.c:969 #11 0xc025dffc in chdir (p=0xf1313ee0, uap=0xf1e9bf80) at /usr/src/sys/kern/vfs_syscalls.c:870 #12 0xc03ac0d5 in syscall2 (frame={tf_fs = 47, tf_es = 47, tf_ds = 47, tf_edi = 1, tf_esi = 674056736, tf_ebp = -1077938508, tf_isp = -236339244, tf_ebx = 0, tf_edx = 134886594, tf_ecx = 135323464, tf_eax = 12, tf_trapno = 12, tf_err = 2, tf_eip = 673714528, tf_cs = 31, tf_eflags = 518, tf_esp = -1077938552, tf_ss = 47}) at /usr/src/sys/i386/i386/trap.c:1175 #13 0xc03964eb in Xint0x80_syscall () #14 0x8056737 in ?? () #15 0x8055b8a in ?? () #16 0x8068693 in ?? () #17 0x804b2ef in ?? () #18 0x804a89a in ?? () ----------------------------------------------- From dmesg: Copyright (c) 1992-2003 The FreeBSD Project. Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994 The Regents of the University of California. All rights reserved. FreeBSD 4.9-RELEASE-p1 #0: Mon Feb 2 16:34:57 EST 2004 Timecounter "i8254" frequency 1193182 Hz CPU: Intel(R) Xeon(TM) CPU 1.80GHz (1789.10-MHz 686-class CPU) Origin = "GenuineIntel" Id = 0xf27 Stepping = 7 Features=0xbfebfbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CLFLUSH,DTS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE> Hyperthreading: 2 logical CPUs real memory = 2147418112 (2097088K bytes) avail memory = 2086187008 (2037292K bytes) Changing APIC ID for IO APIC #0 from 0 to 4 on chip Changing APIC ID for IO APIC #1 from 0 to 5 on chip Changing APIC ID for IO APIC #2 from 0 to 6 on chip Programming 16 pins in IOAPIC #0 IOAPIC #0 intpin 2 -> irq 0 Programming 16 pins in IOAPIC #1 Programming 16 pins in IOAPIC #2 FreeBSD/SMP: Multiprocessor motherboard: 4 CPUs cpu0 (BSP): apic id: 0, version: 0x00050014, at 0xfee00000 cpu1 (AP): apic id: 1, version: 0x00050014, at 0xfee00000 cpu2 (AP): apic id: 2, version: 0x00050014, at 0xfee00000 cpu3 (AP): apic id: 3, version: 0x00050014, at 0xfee00000 io0 (APIC): apic id: 4, version: 0x000f0011, at 0xfec00000 io1 (APIC): apic id: 5, version: 0x000f0011, at 0xfec01000 io2 (APIC): apic id: 6, version: 0x000f0011, at 0xfec02000 Preloaded elf kernel "kernel" at 0xc0553000. Warning: Pentium 4 CPU: PSE disabled Pentium Pro MTRR support enabled md0: Malloc disk Using $PIR table, 9 entries at 0xc00fc490 npx0: <math processor> on motherboard npx0: INT 16 interface pcib0: <Host to PCI bridge> on motherboard IOAPIC #1 intpin 3 -> irq 2 IOAPIC #1 intpin 7 -> irq 7 IOAPIC #1 intpin 11 -> irq 10 pci0: <PCI bus> on pcib0 pci0: <unknown card> (vendor=0x1028, dev=0x000c) at 4.0 irq 2 pci0: <unknown card> (vendor=0x1028, dev=0x0008) at 4.1 irq 7 pci0: <unknown card> (vendor=0x1028, dev=0x000d) at 4.2 irq 10 pci0: <ATI Mach64-GR graphics accelerator> at 14.0 atapci0: <ServerWorks CSB5 ATA100 controller> port 0x8b0-0x8bf,0x8d8-0x8db,0x8d0-0x8d7,0x8c8-0x8cb,0x8c0-0x8c7 at device 15.1 on pci0 ata0: at 0x1f0 irq 14 on atapci0 ata1: at 0x170 irq 15 on atapci0 ohci0: <OHCI (generic) USB controller> mem 0xfe100000-0xfe100fff irq 5 at device 15.2 on pci0 usb0: OHCI version 1.0, legacy support usb0: SMM does not respond, resetting usb0: <OHCI (generic) USB controller> on ohci0 usb0: USB revision 1.0 uhub0: (0x1166) OHCI root hub, class 9/0, rev 1.00/1.00, addr 1 uhub0: 4 ports with 4 removable, self powered isab0: <PCI to ISA bridge (vendor=1166 device=0225)> at device 15.3 on pci0 isa0: <ISA bus> on isab0 pcib1: <Host to PCI bridge> on motherboard pci1: <PCI bus> on pcib1 pcib8: <PCI to PCI bridge (vendor=8086 device=b152)> at device 8.0 on pci1 IOAPIC #1 intpin 4 -> irq 11 IOAPIC #1 intpin 5 -> irq 13 pci2: <PCI bus> on pcib8 fxp0: <Intel 82558 Pro/100 Ethernet> port 0xdce0-0xdcff mem 0xfce00000-0xfcefffff,0xfcbff000-0xfcbfffff irq 11 at device 4.0 on pci2 fxp0: Ethernet address 00:02:b3:be:30:33 inphy0: <i82555 10/100 media interface> on miibus0 inphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto fxp1: <Intel 82558 Pro/100 Ethernet> port 0xdcc0-0xdcdf mem 0xfcd00000-0xfcdfffff,0xfcbfe000-0xfcbfefff irq 13 at device 5.0 on pci2 fxp1: Ethernet address 00:02:b3:be:30:34 inphy1: <i82555 10/100 media interface> on miibus1 inphy1: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto pcib2: <Host to PCI bridge> on motherboard pci3: <PCI bus> on pcib2 pcib3: <Host to PCI bridge> on motherboard IOAPIC #1 intpin 12 -> irq 16 IOAPIC #1 intpin 13 -> irq 17 pci4: <PCI bus> on pcib3 bge0: <Broadcom BCM5701 Gigabit Ethernet, ASIC rev. 0x105> mem 0xfca10000-0xfca1ffff irq 16 at device 6.0 on pci4 bge0: Ethernet address: 00:06:5b:8f:f2:f7 miibus2: <MII bus> on bge0 brgphy0: <BCM5701 10/100/1000baseTX PHY> on miibus2 brgphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseTX, 1000baseTX-FDX, auto bge1: <Broadcom BCM5701 Gigabit Ethernet, ASIC rev. 0x105> mem 0xfca00000-0xfca0ffff irq 17 at device 8.0 on pci4 bge1: Ethernet address: 00:06:5b:8f:f2:f8 miibus3: <MII bus> on bge1 brgphy1: <BCM5701 10/100/1000baseTX PHY> on miibus3 brgphy1: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseTX, 1000baseTX-FDX, auto pcib4: <ServerWorks host to PCI bridge(unknown chipset)> on motherboard IOAPIC #1 intpin 14 -> irq 18 pci5: <PCI bus> on pcib4 pcib9: <PCI to PCI bridge (vendor=8086 device=0309)> at device 8.0 on pci5 IOAPIC #1 intpin 15 -> irq 19 pci6: <PCI bus> on pcib9 pci6: <unknown card> (vendor=0x9005, dev=0x00c5) at 6.0 irq 18 pci6: <unknown card> (vendor=0x9005, dev=0x00c5) at 6.1 irq 19 aac0: <Dell PERC 3/Di> mem 0xf0000000-0xf7ffffff irq 18 at device 8.1 on pci5 aac0: i960RX 100MHz, 118MB cache memory, optional battery present aac0: Kernel 2.7-1, Build 3170, S/N 441d3 aac0: Supported Options=75c<WCACHE,DATA64,HOSTTIME,WINDOW4GB,SOFTERR,NORECOND,SGMAP64> pcib5: <ServerWorks host to PCI bridge(unknown chipset)> on motherboard pci7: <PCI bus> on pcib5 pcib6: <ServerWorks host to PCI bridge(unknown chipset)> on motherboard pci8: <PCI bus> on pcib6 pcib7: <ServerWorks host to PCI bridge(unknown chipset)> on motherboard pci9: <PCI bus> on pcib7 orm0: <Option ROMs> at iomem 0xc0000-0xc7fff,0xc8000-0xcbfff,0xec000-0xeffff on isa0 pmtimer0 on isa0 fdc0: <NEC 72065B or clone> at port 0x3f0-0x3f5,0x3f7 irq 6 drq 2 on isa0 fdc0: FIFO enabled, 8 bytes threshold fd0: <1440-KB 3.5" drive> on fdc0 drive 0 atkbdc0: <Keyboard controller (i8042)> at port 0x60,0x64 on isa0 atkbd0: <AT Keyboard> flags 0x1 irq 1 on atkbdc0 kbd0 at atkbd0 psm0: <PS/2 Mouse> irq 12 on atkbdc0 psm0: model IntelliMouse, device ID 3 vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0 sc0: <System console> at flags 0x100 on isa0 sc0: VGA <16 virtual consoles, flags=0x300> sio0 at port 0x3f8-0x3ff irq 4 flags 0x10 on isa0 sio0: type 16550A sio1 at port 0x2f8-0x2ff irq 3 on isa0 sio1: type 16550A ppc0: parallel port not found. APIC_IO: Testing 8254 interrupt delivery APIC_IO: Broken MP table detected: 8254 is not connected to IOAPIC #0 intpin 2 APIC_IO: routing 8254 via 8259 and IOAPIC #0 intpin 0 IP packet filtering initialized, divert disabled, rule-based forwarding enabled, default to accept, logging limited to 100 packets/entry by default IP Filter: v3.4.31 initialized. Default = pass all, Logging = enabled ata0-slave: ATAPI identify retries exceeded SMP: AP CPU #3 Launched! SMP: AP CPU #2 Launched! SMP: AP CPU #1 Launched! acd0: CDROM <TEAC CD-ROM CD-224E> at ata0-master PIO4 aacd0: <RAID 5> on aac0 aacd0: 279994MB (573428736 sectors) Mounting root from ufs:/dev/aacd0s1a WARNING: / was not properly dismounted
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?403BBB82.5030805>