PFSenseDevWiki : ObtainingPanicInfoForDevelopers

PfSenseDevHome :: Categories :: PageIndex :: RecentChanges :: RecentlyCommented :: Login/Register
Oldest known version of this page was edited on 2007-08-18 23:24:45 by ChrisBuechler []
Page view:

ObtainingPanicInfoForDevelopers


If you need to provide crash data to the pfSense developers, please follow this document.

First, download a developers debugging kernel:

# Full installation
fetch -o /root/kernel.debug http://www.pfsense.com/~sullrich/debugging_kernels/1.0-RC1/kernel
# Embedded installation
/etc/rc.conf_mount_rw
fetch -o /root/kernel.debug http://www.pfsense.com/~sullrich/debugging_kernels/1.0-RC1/kernel.embedded
/etc/rc.conf_mount_ro


Backup the old kernel:

/etc/rc.conf_mount_rw
mv /boot/kernel/kernel /root/kernel.orig
mv /boot/kernel/kernel.gz /root/kernel.orig
/etc/rc.conf_mount_ro


Install the new kernel:

/etc/rc.conf_mount_rw
mv /root/kernel.debug /boot/kernel/kernel
/etc/rc.conf_mount_ro
# reboot system
shutdown -r now


You most likely want to enable a serial port unless you wish to hand scribe about 10+ pages of text...

Crash it!

Type each of these commands at the db> prompt:

bt
bt all
show allpcpu
show alllocks
show lock
ps
set $lines 0
allt
show lockedvnods
reset


If you wish to build your own developers kernel with debugging:

You need the following in your kernel file (or use this kernel configuration file):

makeoptions     DEBUG=-g                # Build kernel with gdb(1) debug symbols

options         KDB                     # Enable kernel debugger support.
options         DDB                     # Support DDB.
options         GDB                     # Support remote GDB.
options         INVARIANTS              # Enable calls of extra sanity checking
options         INVARIANT_SUPPORT       # Extra sanity checks of internal structures, required by INVARIANTS
Valid XHTML 1.0 Transitional :: Valid CSS :: Powered by Wikka Wakka Wiki 1.1.6.3
Page was generated in 0.0384 seconds