Skip to content
This repository has been archived by the owner on Feb 16, 2020. It is now read-only.

KernelPanic

Alex Blewitt edited this page Jan 5, 2011 · 2 revisions
  1. summary Understanding what they are

Panic decoding

To support easy debugging of panics (on Intel systems, currently) there is a tool in `support/decode-panic` which can generate a list of files, based on the below.

You can acquire a copy of this by doing:

It will attempt to find the latest ZFS panic and generate the symbols from it. This should be attatched to an issue report for ease of debugging in the future.

Currently, it only works on Intel systems, and it does not check that the version of the kernel is the same as reported in the code. Caveat emptor.

Introduction

  * You need to download a [http://developer.apple.com/hardwaredrivers/download/kerneldebugkits.html Kernel Debug Kit] which corresponds to your kernel (need to have a valid ADC account). It will be called something like `kernel_debug_kit_10.6.5_10h574.dmg`
  * Mount it with `hdiutil attach kernel_debug_kit_10.6.5_10h574.dmg` or by double-clicking on the image
  * Generate the symbol files for the installed kernel extension. You will need the first number as displayed in the kernel panic e.g. `com.bandlem.mac.zfs.fs(76.0.7)@0x34f56000->0x34fcffff` will give you `0x34f56000`
  * Debug into the kernel, specifying -arch i386 or -arch x86_64 depending on kernel flavour: 
  * Load the kernel symbolic files:
  * Look at the individual stack exceptions, as described with `x/i`

That will give you a clue as to where the problem is.