Don’t Panic! Understanding & Troubleshooting Kernel Panics in macOS

If you’re reading this, there’s a good chance your Mac just suffered a kernel panic and you’re searching for what to do next. We’ve got the answer, and it’s simple: Don’t panic. Instead, take a deep breath, relax, and know that almost all kernel panics are transitory; events that aren’t likely to keep repeating. You don’t need to live in fear that in the next minute, your Mac will crash once again.

On the downside, you likely lost any unsaved work up to the point of the kernel panic. There’s a remote chance that some work may have been saved in the last Time Machine backup.

What a Kernel Panic Is
In UNIX-based operating systems, such as OS X and macOS, a panic is an unrecoverable error that was detected by the operating system kernel. It’s unrecoverable because the kernel, the basic heart of the operating system, can’t figure out how to get back on track. In essence, it’s lost, and not sure how it got here. When this occurs, the kernel runs the panic function code that tells it what to do in these situations. Unfortunately, about the best the kernel can do once it runs the panic code is collect some data about the current condition of the processors, and what processes were running, and then halt or restart your Mac.

(The older style kernel panic text stayed until you restarted your Mac.)

(The older style kernel panic text stayed until you restarted your Mac.)

In OS X Lion and earlier, a panic resulted in the screen dimming and a message in multiple languages that said: “You need to restart your computer. Hold down the Power button for several seconds or press the restart button.” The message was white text on a black background.

OS X Mountain Lion changed the look and sequence by automatically restarting the Mac, and then displaying a text message similar to the one above, but with black text on a gray background.

What a Kernel Panic Is Not
Kernel panics are sometimes confused with application crashes, startup problems, or sustained beach balls. The big difference is that with a kernel panic, your Mac will display the kernel panic message as well as halt or restart on its own.

Check for Recurring Kernel Panics
It’s a bit more difficult in the older versions of OS X to discover if the panic will recur; that’s because you really need to have the same conditions in place: the same apps running, and the same background processes; you also need to perform the same task that precipitated the panic, such as saving a file, loading a web page, or launching an app.

(Selecting Open will launch all the apps that were running when your Mac crashed.)

(Selecting Open will launch all the apps that were running when your Mac crashed.)

With OS X Mountain Lion and later, your Mac saves the log of which apps and process were running, and will offer to reopen them when it restarts after a kernel panic. Simply click the Open button on the “You shut down your computer because of a problem.” dialog box when it’s presented during the login process.

Once your Mac has finished launching all the apps and processes, you should attempt to perform the same tasks you were involved in when the panic originally occurred. If there’s no panic after a reasonable amount of time, it’s probably not worth further troubleshooting attempts, and can just be chalked up to gremlins and ghosts.

Troubleshooting Recurring Kernel Panics
If, on the other hand, a kernel panic occurs soon after you click the Open button in the dialog box, you likely have a problem you need to track down.

One of the options in the “Your computer was restarted because of a problem” dialog box is “More Info.” Pressing this button will cause the dialog box to expand and display the panic report, a detailed look at what occurred at the time of the panic.

(You can view the panic report, which includes details about the kernel panic.)

(You can view the panic report, which includes details about the kernel panic.)

Don’t worry if you already dismissed the dialog box; you can view the panic log with the Console app, located at:

/Applications/Utilities/

Simply launch the Console app, then in the sidebar, select the System Reports item, and then select the Kernel Panic item (the actual name will include the terms kernel and panic, but it will also have the date and the name of your Mac in the title).

console1280

(The panic report includes the calling app that was likely involved in the kernel panic, as well as active kernel extensions.)

Reading the Panic Report
The panic report includes the memory address and, in most cases, the name of the process that called for the panic function to be invoked. The calling process may be helpful, but it doesn’t always indicate what actually caused the event that led up to the panic; only the last process in the chain of events.

Other important information in the panic report is the list of loaded kexts as well as the last loaded kext. Kexts are extensions to the kernel that can be used to add functionality to the operating system. Apple provides many different kexts, but so do some third-party developers. If the last loaded kext was from, say, a third-party system utility you installed, that may be a good indication of what caused the panic, or at least, what was involved in the panic.

Peripherals
Kernel panics can be caused by hardware as well as software. Checking for a hardware cause for a panic is fairly straightforward. Start by isolating all external peripherals you have connected to your Mac, except for the keyboard and mouse or trackpad.

Start your Mac in Safe Mode by holding down the shift key and pressing the power button. Keep pressing the shift key until your Mac finishes starting up.

If your Mac is able to start in Safe Mode, then its basic hardware is in good shape. Restart your Mac to leave Safe Mode. Once back in normal mode, try running a few apps. If everything is OK, then the kernel panic was likely a transitory event caused by an app or process in combination with another app, process, or device not getting along; it may also have been caused in part by one of the peripheral items you disconnected.

Shut down your Mac, reconnect a peripheral, and then restart your Mac. Try opening the same apps that were in use at the time of the panic. If everything seems OK, then shut down and connect the next peripheral. Continue the connect-and-test process until all your devices are reconnected.

If you find a device that causes a panic, check for updates to the device’s drivers, as well as updates to any apps that are involved.

Apps and Software
Just like you did for checking the Mac’s hardware, you can use Safe Mode to test for apps and other software that are causing the kernel panic. Safe Mode keeps startup items from being loaded, as well as third-party kexts and fonts (other than those used by the system). Once you’re running in Safe Mode, you can disable startup items by using the Users & Groups preference pane.

loginitems1280

(Recurring panics can be caused by login items.)

After you disable startup items, use Font Book to validate your installed fonts. If any fonts come up with errors, use Font Book to disable the indicated fonts.

Go ahead and restart normally. If no kernel panic occurs, add one of the startup items back, then restart. Repeat and test each startup item until all have been restored.

Internal Hardware
Your Mac’s internal hardware, including RAM and storage drives, can be a source of kernel panics. You can use Apple diagnostic routines to test your Mac. You’ll find instructions for how to do this in the Rocket Yard Guide: How to Run and Interpret Your Mac’s Built-in Diagnostic Routines.

Reinstall the Mac OS
Because the OS can also be a source for kernel panics, usually due to corrupt system files, if you can’t resolve the panics, our last tip is to reinstall the OS. You can use the Recovery HD partition to perform the reinstall. Reinstalling the OS should replace any corrupt system files, while retaining user data and apps.

For more Rocket Yard guides and tricks, please visit our Tech Tips section.


LEAVE A COMMENT