X

Tackling kernel panics, hangs, and unexpected quits.

In the Classic Mac OS, when an application crashed it would usually take down the whole system, requiring a hard reset. Apple largely tackled this in OS X by basing the system off of a UNIX kernel, which basically runs each system process more independent

CNET staff
5 min read

In the Classic Mac OS, when an application crashed it would usually take down the whole system, requiring a hard reset. Apple largely tackled this in OS X by basing the system off of a UNIX kernel, which basically runs each system process more independently, almost like individual applications. Memory is protected and other resources are shared rather than taken over and as such, an individual application or system process shouldn't take down the whole system when it crashes. There are several crash scenarios that will happen in OS X, and while most should not take down the system, there are a couple that can.

Here are the three main forms of crashes that people experience in OS X, along with a few methods for troubleshooting each type:

Unexpected quits

One common form of application malfunction is an "Unexpected Quit," which will happen if an application or process cannot continue to run because of some dependency problem or other problem in the coding of the program. This can happen for a variety of reasons, but luckily Apple will display an error log for the application that will help you troubleshoot which application threads ran into problems. The error logs will usually indicate which threads crashed, and what functions that thread was running when it crashed. Many times this can help you pinpoint items that may need reinstallation (such as plug-ins), among other routes for troubleshooting. If the same application keeps crashing, contact the developer; however, you can try the following suggestions to help.

  1. Remove plist files.
    Try locating and removing plist files that are associated with the problematic application. These are usually found in the preferences folders in the Library folder under your account name, as well as in the Library folder at the root of the drive.
  2. Reinstall application dependencies.
    Sometimes applications will hang when they are not able to access other programs on which they depend. Most of these instances are plug-ins such as QuickTime and Flash, and it's recommended to reinstall these if they're referenced in the error logs for the crash.
  3. Reinstall the application.
    Try reinstalling the application to clear any problems with the binaries or other support files the application may use.
  4. Troubleshoot with new or different accounts.
    Many times these problems can be from file corruption or other problems with your account, which can be tested by creating a new account and launching the application in that account. If everything works, you can try searching for resources in your account that the application may use. Various locations in which to look include the following:
    /username/Library/Preferences/
    /username/Library/Application Support/
    In addition, if there is a folder with the name of the problematic application that's in the /username/Library/ folder, then that's another source for troubleshooting.

Application hangs

The more frustrating application problems happen when a process hangs. The operating system is built to run independently of these processes, and usually will only show the infamous spinning color wheel when the hung application is in the foreground, which indicates the system is no longer able to communicate with the application. However, when a process that other applications depend on gets hung (such as underling system processes--Windowserver, QuickTime, etc), those applications may stop responding as well. There are several things you can try if an application hangs.

  1. Force-quit
    Press Options-Command-Escape to bring up the Force-quit window. If that does not work or if the hanging process is not listed, try using Activity Monitor to select the unresponsive application (which should appear in red) and quitting it. Select the application in the list, and then select "Send Signal to Process" in the "View" menu. From here, choose "Kill (SIGKILL)" in the drop-down menu and click "Send." This should quit the process. For any process that has "root" as the user, we recommend you restart the system instead of just quitting the process.
  2. Run system maintenance utilities (Safe Mode, cache cleaners, etc).
    Many times hangs can be the result of inaccessible files such as caches. There are a variety of utilities that can clean up caches and remove any corruption that can cause applications to hang, including Onyx, MacDust, and Leopard Cache Cleaner. Run the scripts in these applications to see if that clears the problem.
  3. Boot into Safe Mode.
    Booting into Safe Mode by holding the Shift key at bootup will run several maintenance scripts and could help clear problems that can have applications hanging.
  4. Ensure peripheral devices do not go to sleep.
    If you have attached drives and other devices that go into stand-by modes, the system might hang while it waits for them to start up and become available. One way to prevent this is to set the devices to not go into power-saving, sleep, or standby modes. Doing this will depend on the device and the software interface for it, so consult the manual and manufacturer's Web site for specific instructions.

Kernel panic

The least common form of a crash is a kernel panic, which usually indicates some problem with the system's ability to communicate with critical hardware, but can also be caused by problems with software that is trying to directly access hardware. In OS X and other UNIX-based systems, the kernel is the lowest level interface between the hardware and other software on the system. If it receives an erroneous command that causes problems from which it cannot recover, it will go into panic mode where it will quickly write a small log of what caused the panic to the NVRAM before halting all activity through the kernel and requiring a hard restart. On reboot, the system will write the NVRAM log to disk for troubleshooting.

Common cause of kernel panics is corruption in drivers (kernel extensions), faulty hardware (especially critical hardware such as RAM and drive malfunctions), and malfunctioning external hardware. Luckily, most random kernel panics are isolated events and can usually be dismissed. However, if they start occurring after recent changes to the system, some event such as a power outage, or otherwise start randomly but continuously occur, then you can try a few basic steps for resolving the issue.

  1. Unplug all peripheral devices.
    Remove all devices from the system except for the monitor and keyboard/mouse. Then restart the system.
  2. Reset PRAM and SMC.
    Reset the PRAM by rebooting and holding the Options-Command-P-R keys, letting the system reset several times before releasing the keys and allowing the system to boot normally.
  3. Run Apple's Hardware Test.
    Insert the restore disk that came with your computer, and reboot while holding the "d" key, which should launch the diagnostics.
  4. Thoroughly test RAM.
    Run a RAM testing program, which may take awhile but will ensure the installed and recognized RAM is OK. One that we recommend is "Rember".
  5. Repair hard drive.
    Use Apple's Disk Utility (when booted off the install DVD) or a third-party disk repair program to run diagnostics and repairs on the hard drive.
  6. Remove or reinstall newly added hardware.
    If you have recently installed any expansion cards or memory, remove the upgrades and reboot the system.
  7. Uninstall newly installed applications (restore to backups)
    Lastly, if you have installed any applications, try removing them. This can probably most easily be done by restoring to a recent backup of the system, which is highly recommended before you install any new software.

Resources

  • More from Late-Breakers