I had an emergency and had to clone a running system which is FreeBSD 8.1-PRERELEASE.
Yes, I plan on upgrading, but I am posting to talk about 'Fatal trap 12' errors.
My system is a dhcp/named/gateway box using the neato ATOM D510 cpu... Supermicro X7SPA-H.
First question: the time stamps are the boot time after reboot in /var/log/messages. Where does syslogd pull this 'page fault' message from to be able to write it to disk after reboot? Was it in swap?
Second question: the pointer addresses are the same from two crashes a week apart. How do I figure out what they point? I read the On-Line Kernel Debugging Using Remote GDB chapter of the manual, but didn't see an example for extracting pointer addresses... I seem to remember doing this a few years ago. Help!
Yes, I plan on upgrading, but I am posting to talk about 'Fatal trap 12' errors.
My system is a dhcp/named/gateway box using the neato ATOM D510 cpu... Supermicro X7SPA-H.
First question: the time stamps are the boot time after reboot in /var/log/messages. Where does syslogd pull this 'page fault' message from to be able to write it to disk after reboot? Was it in swap?
Code:
root@pulga 150> bunzip2 -c messages.0.bz2 | grep -B 5 -A 24 Fatal
Oct 14 01:48:43 pulga dhcpd: Abandoning IP address 10.9.12.24: pinged before offer
Oct 14 01:48:44 pulga dhcpd: Abandoning IP address 10.9.12.25: pinged before offer
Oct 14 01:52:38 pulga syslogd: kernel boot file is /boot/kernel/kernel
Oct 14 01:52:38 pulga kernel:
Oct 14 01:52:38 pulga kernel:
Oct 14 01:52:38 pulga kernel: Fatal trap 12: page fault while in kernel mode
Oct 14 01:52:38 pulga kernel: cpuid = 2; apic id = 02
Oct 14 01:52:38 pulga kernel: fault virtual address = 0x4
Oct 14 01:52:38 pulga kernel: fault code = supervisor read data, page not present
Oct 14 01:52:38 pulga kernel: instruction pointer = 0x20:0xffffffff80a25e5c
Oct 14 01:52:38 pulga kernel: stack pointer = 0x28:0xffffff8074fdf6c0
Oct 14 01:52:38 pulga kernel: frame pointer = 0x28:0xffffff8074fdf7c0
Oct 14 01:52:38 pulga kernel: code segment = base 0x0, limit 0xfffff, type 0x1b
Oct 14 01:52:38 pulga kernel: = DPL 0, pres 1, long 1, def32 0, gran 1
Oct 14 01:52:38 pulga kernel: processor eflags = interrupt enabled, resume, IOPL = 0
Oct 14 01:52:38 pulga kernel: current process = 0 (em0 taskq)
Oct 14 01:52:38 pulga kernel: trap number = 12
Oct 14 01:52:38 pulga kernel: panic: page fault
Oct 14 01:52:38 pulga kernel: cpuid = 2
Oct 14 01:52:38 pulga kernel: Uptime: 41m30s
Oct 14 01:52:38 pulga kernel: Cannot dump. Device not defined or unavailable.
Oct 14 01:52:38 pulga kernel: Automatic reboot in 15 seconds - press a key on the console to abort
Oct 14 01:52:38 pulga kernel: panic: bufwrite: buffer is not busy???
Oct 14 01:52:38 pulga kernel: cpuid = 2
Oct 14 01:52:38 pulga kernel: Copyright (c) 1992-2010 The FreeBSD Project.
Oct 14 01:52:38 pulga kernel: Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
Oct 14 01:52:38 pulga kernel: The Regents of the University of California. All rights reserved.
Oct 14 01:52:38 pulga kernel: FreeBSD is a registered trademark of The FreeBSD Foundation.
Oct 14 01:52:38 pulga kernel: FreeBSD 8.1-PRERELEASE #0: Tue Jul 13 01:09:17 PDT 2010
Oct 14 01:52:38 pulga kernel: root@:/usr/obj/usr/src/sys/JEJEN amd64
root@pulga 151> grep -B 5 -A 16 Fatal messages
Oct 20 09:22:40 pulga named[18444]: clients-per-query decreased to 12
Oct 20 09:31:41 pulga syslogd: kernel boot file is /boot/kernel/kernel
Oct 20 09:31:41 pulga kernel:
Oct 20 09:31:41 pulga kernel:
Oct 20 09:31:41 pulga kernel: Fatal trap 12: page fault while in kernel mode
Oct 20 09:31:41 pulga kernel: cpuid = 2; apic id = 02
Oct 20 09:31:41 pulga kernel: fault virtual address = 0x4
Oct 20 09:31:41 pulga kernel: fault code = supervisor read data, page not present
Oct 20 09:31:41 pulga kernel: instruction pointer = 0x20:0xffffffff80a25e5c
Oct 20 09:31:41 pulga kernel: stack pointer = 0x28:0xffffff8074fdf6c0
Oct 20 09:31:41 pulga kernel: frame pointer = 0x28:0xffffff8074fdf7c0
Oct 20 09:31:41 pulga kernel: code segment = base 0x0, limit 0xfffff, type 0x1b
Oct 20 09:31:41 pulga kernel: = DPL 0, pres 1, long 1, def32 0, gran 1
Oct 20 09:31:41 pulga kernel: processor eflags = interrupt enabled, resume, IOPL = 0
Oct 20 09:31:41 pulga kernel: current process = 0 (em0 taskq)
Oct 20 09:31:41 pulga kernel: trap number = 12
Oct 20 09:31:41 pulga kernel: panic: page fault
Oct 20 09:31:41 pulga kernel: cpuid = 2
Oct 20 09:31:41 pulga kernel: Copyright (c) 1992-2010 The FreeBSD Project.
Oct 20 09:31:41 pulga kernel: Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
Oct 20 09:31:41 pulga kernel: The Regents of the University of California. All rights reserved.
Second question: the pointer addresses are the same from two crashes a week apart. How do I figure out what they point? I read the On-Line Kernel Debugging Using Remote GDB chapter of the manual, but didn't see an example for extracting pointer addresses... I seem to remember doing this a few years ago. Help!