Isso é simplesmente um mecanismo de segurança no código de pânico do kernel para parar de descarregar mais informações para a tela quando o código para tentar salvar o estado do sistema também falhou.
Podemos inspecionar o código fonte do xnu no OS X 10.8.4 e ver o tratamento relevante:
restart:
PANIC_LOCK();
if (panicstr) {
if (cpu_number() != paniccpu) {
PANIC_UNLOCK();
/*
* Wait until message has been printed to identify correct
* cpu that made the first panic.
*/
while (panicwait)
continue;
goto restart;
} else {
nestedpanic +=1;
PANIC_UNLOCK();
Debugger("double panic");
printf("double panic: We are hanging here...\n");
panic_stop();
/* NOTREACHED */
}
}
Como você pode ver, vários CPUs também podem causar pânico e ambos os sinais precisariam ser resolvidos pelo mesmo código - então, possivelmente, é um vetor mais provável para ver a mensagem de pânico duplo.
Também model_dep.c e kmod.c tem código útil e comentários para explicar como o sistema tenta para evitar pânicos duplos apenas devido à execução em mais de uma CPU.
Na prática, todas as informações de pânico são suspeitas, e as informações de pânico duplo são duplamente suspeitas, a menos que você consiga reproduzir o problema ou correlacionar vários despejos.