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.txtThe kernel configuration file
ddb.txtThe output from the debugger scripts run during the crash dump
msgbuf.txtThe contents of the kernel message buffer (
dmesg)panic.txtThe panic message, if available. Typically, a more detailed version of this is found at the end of
msgbuf.txt.version.txtThe 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.