If you're working on an Macintosh computer that's running Mac OS X, you're using a Unix-based operating system that offers you a stable computing platform. The best-running operating system only works as well as the software you install under it, however, as well as the care you take to maintain your OS with bug-squashing patches. When an application crashes, Mac OS gives you details of what went wrong. In many cases, you'll see the phrase "Kern Protection Failure" among the mostly cryptic details of an application crash report. "Kern" stands for "kernel," which is the very core of the operating system.
A well-maintained Mac computer usually runs its operating system and your applications smoothly without incident. If your system acts up, the cause may be anything from hardware failure to corrupted application preferences, but the malfunction triggers undesired and unexpected computer behavior. Truly large-scale problems cause kernel panics that manifest themselves in the form of a multilingual alert that requires you to restart your computer. Application crashes usually give you an opportunity to see the details of the problem that brought your software to a halt.
Unless you're a software developer, much of the complex set of processes that powers your computing experience runs underneath the level of the Mac OS with which you interact. When something goes wrong, however, the Mac OS provides you with information about the problem through a system process called the CrashReporter. This process presents you with a dialog box that identifies the application that crashed and gives you choices about how to proceed. If you choose "Report," the CrashReporter creates and displays a log file that contains the technical details of your crash.
Interpreting Crash Reports
An application crash log lists the program that halted unexpectedly and when the event occurred, then tells you the type of problem that caused the crash. On the line labeled "Exception Codes," you may see the entry "KERN_PROTECTION_FAILURE at" followed by a string of numbers and letters. In that case, you'll see the message "EXC_BAD_ACCESS" on the line labeled "Exception Type." The combination of these two pieces of information signals a processor exception caused by a memory error.
Kern Protection Failure
The "KERN_PROTECTION_FAILURE" error occurs when part of your application tries to write information to a memory area that's designated for read-only use. Below the "Exception Code" area that lists this error type, you'll see the number of the process thread that caused the crash. Later in the logfile entry, you'll see a section headed "Thread X Crashed," where "X" is the number of the thread in question. In that section, the crash log lists the details of the error. Unless you're an experienced programmer, most of the crash log probably won't make sense to you, but you can supply the log details to the developer of your application if you're asked to offer help in solving the problem that caused the crash.
- Photo Credit Stockbyte/Stockbyte/Getty Images
- Mac OS X Lion: The Missing Manual; David Pogue