MacOS – Difference Between macOS Locking and a Kernel Panic

crashkernelkernel-panicmacos

Why is it that macOS Sierra, when something goes awry, sometimes has a kernel panic, but other times just freezes completely (can't move mouse, use keyboard, etc.)?

Is one worse than the other?

Given that in 10.6 the kernel panic message was before the reboot, and in 10.9 it was after, the system seems to know when it is going to have a kernel panic. Likewise, there used to be an option in 10.8 to restart the Mac if it froze, so presumably the system also knows when it is going to lock up.

Why does one happen vs the other?

Best Answer

Panic is a guaranteed, deterministic dead end. The code literally cannot continue so the conditions that led up to it are documented (as well as they can on a system that is already broken) and aborts.

Hangs can be all manner of thing so the generalization is less possible or convenient to make.

One library of buggy program can cause both - so that’s a clue you might be able leverage in your investigation.

Since the panics have more diagnostic information and are more certain, I’d start with debugging and cornering those. For the hangs, you’ll need to trigger sysdiagnose and look over log files and collect the data and timing manually.