"Fault trap 12: page fault while in kernel mode" unless APIC disabled at boot

Thunderhacker freebsd-bugs at ashlandpc.com
Sat Jan 2 21:25:27 UTC 2010

I'm using pfSense 1.2.3, based on FreeBSD 7.2.  I get Fault Trap 12's 
after running only a few minutes.  Hardware is perfectly fine as it runs 
100% stable under Linux and 64 bit FreeBSD (this bug only happens with 
32 bit) and 32 bit with APIC disabled.  I've tested and can confirm the 
bug is present in pfSense 1.2.3, pfSEnse 2.0 Beta (based on FreeBSD 8.0) 
and FreeBSD 9.0 CURRENT December snapshot (all 32 bit versions.)

MSI Wind Nettop 100 with Intel Atom 330 CPU
1GB DDR2-533 RAM
320 GB Western Digital SATA hard drive
Cheap Logitech USB keyboard

Most of the time when the fault trap occurs pressing a key on the 
keyboard to stop the countdown doesn't do anything.  There is no serial 
port on this particular computer so getting a backtrace will be 
difficult or impossible (unless a USB serial port adapter can be used, 
in which case I'll go buy one.)

Disabling ACPI doesn't help, swapping RAM doesn't help, and the BIOS is 
at the latest version offered by MSI.

The crashes occur at random unless the system is under load, in which 
case it crashes within a few minutes.

Steps to reproduce:

1.  Boot system with pfSense 1.2.3 LiveCD
2.  Configure interfaces, etc.
3.  Drop to a shell
4.  Put a load on the system with the following command:
   # dd if=/dev/zero of=/dev/null &
5.  Repeat command so that both cores are at full use
6.  Wait a few minutes
7.  Fault Trap 12 (sometimes one of the dd processes above will 
terminate with an odd error (example: /dev/zero: not a directory, 
/dev/null: bad file descriptor) a few seconds before the whole system 
goes down)

While attempting to get a crash I could stop the reboot timer on, I got 
a Fault Trap 9: General Protection Fault while in kernel mode, but 
before I could copy down the information from that I got another Fault 
Trap 12 that I couldn't stop the timer on.  Is there a boot flag I can 
set to disable the auto-reboot on a fault trap?  It would make getting 
information from the crash a whole lot easier.

More information about the freebsd-bugs mailing list