Obtaining Panic Information for Developers

Crash dump functionality is built into every kernel on current versions of pfSense® software, but behavior varies based on architecture. Crash dumps are automatically saved on installations with swap space, or printed to the console on other platforms (e.g. ARM).

Viewing and Submitting a Crash Dump

After a panic or crash leading to a reboot, the operating system attempts to recover the contents of the crash dump while booting back up.

If the OS was able to read and process the contents of the crash dump, it converts the crash dump into a crash report. The GUI then displays a prompt on the dashboard to view the contents of the crash report.

Note

For privacy reasons, crash reports cannot be automatically submitted to Netgate for review.

Download the report or copy the contents from the GUI, and review the included data to ensure there is no private or identifiable information inside. If the data is OK, create a post on the Netgate Forum with the contents of the crash report. Attaching the crash report archive file(s) from the GUI is the best practice as that yields the most information in the easiest format to read.

Note

At a minimum, include the backtrace portion of ddb.txt from the crash dump archive. The backtrace is located after db:0:kdb.enter.default>  bt in that file.

Crash Dump Format

The crash dumps are in FreeBSD textdump format and held in /var/crash after the OS recovers the data.

Crash dump archives are named textdump.tar.<n> where <n> starts at 0 and is incremented if older archives are still present in /var/crash.

Crash dump archives contain the following files:

config.txt

The kernel configuration file

ddb.txt

The output from the debugger scripts run during the crash dump

msgbuf.txt

The contents of the kernel message buffer (dmesg)

panic.txt

The panic message, if available. Typically a more detailed version of this is found at the end of msgbuf.txt.

version.txt

The kernel version string

Serial Console Crash Dump

On hardware with a serial console, connect to the serial console and record the scrollback buffer when a crash happens, or there may not be a way to retrieve the crash dump otherwise.

Install without Swap Space

If the installation does not contain any swap space, it may not be able to take a crash dump or automatically restart, and may stop at a db> prompt on the console. Capture the output there, and also the output of the bt command at that prompt, then manually reboot.