Что представляет собой паника?


Когда система паникует, она останавливает выполнение всех программ и прослушивание сети. При использовании основного выпуска FreeBSD, или версии -stable, система автоматически перезагрузится после паники. Не все необъяснимые перезагрузки являются паникой — если у вас, например, электропитание подается со сбоями или некачественная память, аппаратный сбой может привести к перезагрузке без вывода сообщений в протокол или на консоль. Если система запаниковала, в протокол ошибок будут выведены сообщения, содержимое которых зависит от типа паники. Если система настроена так, чтобы вместо перезагрузки просто выводить сообщение о панике на экран, то на консоли появляется примерно следующее:

panic: _mtx_lock_sleep: recursed on non-recursive mutex ahc_lock @ /usr/src/
sys/dev/aic7xxx/aic7xxx_osm.h:203
cpuid = 0
KDB: enter: panic
[thread pid 12 tid 100002 ]
Stopped at kdb_enter+0x32: leave
db>

Единственное, что в этом сообщении кажется мне более или менее понятным, находится в первой строке. Я знаю, что mutex (мьютекс) — это тип блокировки в ядре (глава 12), а моя карта SCSI использует драйвер ahc. Это сообщение действительно имеет определенный смысл, так как я вызвал панику на этой машине с системой версии -current, запустив fdisk(8) для диска SCSI.*

Строка символов db> внизу — это приглашение отладчика к вводу. Нажмите Enter пару раз и вы увидите, что можете вводить команды. Это не команды UNIX, но с их помощью вы можете получить информацию о системе.

Комментарии запрещены.