调试 Solaris 系统中的内核恐慌

调试 Solaris 系统中的内核恐慌

Solaris 11.3 i86pc在操作系统重新启动后观察到内核恐慌。以下是内核崩溃后在核心转储文件中获得的堆栈跟踪:

> ::stack
vpanic()
lm_latch_attn_everest_processing+0x45b(ffffa1c09e200000, 80014000)
lm_handle_deassertion_processing+0x226()
BnxeServiceDefSbIntr+0x195(ffffa1c09e200000, fffffffc82166a68, fffffffc82166a6c)
BnxeIntrMISR+0x138()
apix_dispatch_by_vector+0x89(20)
apix_dispatch_lowlevel+0x32(20, 0)
switch_sp_and_call+0x13()
apix_do_interrupt+0x353(fffffffc82004960, 0)
_interrupt+0xc1()
disp_getwork+0x170()
idle+0x9c()
thread_start+8()

以及具有相关信息的消息缓冲区:

panic[cpu41]/thread=fffffffc82166b40: 
<1> lm_hw_attn.c( 663): Condition Failed! - if (1)

fffffffc82166920 bnxe:lm_latch_attn_everest_processing+45b ()
fffffffc821669f0 bnxe:lm_handle_deassertion_processing+226 ()
fffffffc82166a50 bnxe:BnxeServiceDefSbIntr+195 ()
fffffffc82166aa0 bnxe:BnxeIntrMISR+138 ()
fffffffc82166ae0 apix:apix_dispatch_by_vector+89 ()
fffffffc82166b20 apix:apix_dispatch_lowlevel+32 ()
fffffffc820048e0 unix:switch_sp_and_call+13 ()
fffffffc82004950 apix:apix_do_interrupt+353 ()
fffffffc82004960 unix:_interrupt+c1 ()
fffffffc82004af0 unix:disp_getwork+170 ()
fffffffc82004b20 unix:idle+9c ()
fffffffc82004b30 unix:thread_start+8 ()

我有lm_hw_attn.c写入所有相关函数的文件。

我想知道内核恐慌的原因以及它是通过哪个系统调用发生的。

相关内容