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.