Noções básicas sobre o dump principal (falha do Solaris 11)

3

Ainda estou tentando atrasar falhas no meu sistema Solaris 11. Recentemente, um dump de memória foi escrito durante o acidente. Olhando para ele com rendimentos de mdb

> $C
ffffff0021c09430 vpanic()
ffffff0021c09460 vcmn_err+0x2e(3, fffffffff7a8a830, ffffff0021c09520)
ffffff0021c09550 zfs_panic_recover+0xae()
ffffff0021c09610 dmu_buf_hold_array_by_dnode+0xbd(ffffff05207b5018, 400000, 20000, 0, fffffffff7a85ce0, 
ffffff0021c09654, ffffff0021c09658, 0)
ffffff0021c096b0 dmu_write_uio_dnode+0x50(ffffff05207b5018, ffffff0021c09a10, 20000, ffffff051efd0788)
ffffff0021c09700 dmu_write_uio_dbuf+0x58(ffffff05207b2320, ffffff0021c09a10, 20000, ffffff051efd0788)
ffffff0021c09960 zfs_write+0x843(ffffff051f120900, ffffff0021c09a10, 0, ffffff04e4b6adb0, 0)
ffffff0021c099d0 fop_write+0xa6(ffffff051f120900, ffffff0021c09a10, 0, ffffff04e4b6adb0, 0)
ffffff0021c09aa0 vn_rdwr+0x1bd(1, ffffff051f120900, ffffff051fb2e0c0, 20000, 400000, 1, 0, fffffffffffffffd, 
ffffff04e4b6adb0, ffffff0021c09ad8)
ffffff0021c09b20 zfs_replay_write+0xe3(ffffff04eb2b4200, ffffff051fb2e000, 0)
ffffff0021c09b60 zil_replay_wr_task+0x2d(ffffff04eb57ea00)
ffffff0021c09c00 taskq_thread+0x22e(ffffff051ede9810)
ffffff0021c09c10 thread_start+8()

Como sei qual parte da pilha causou a falha?

    
por Pavel 23.05.2012 / 18:25

2 respostas

1

pstack core

Embora minha experiência com o solaris 11 seja leve, costumava ser que o segundo endereço era um local útil para iniciar a desmontagem.

depois em mdb

::stack

> <address>::dis

    
por 23.05.2012 / 18:41
1

Você tem alguma mensagem de log do sistema que possa ajudá-lo? Eu dei uma olhada rápida no código-fonte do OpenSolaris e dmu_buf_hold_array_by_dnode pode causar um pânico com "zfs: acessando o fim passado do objeto". Em seguida, encontrei uma postagem boa no zfs-discuss no opensolaris.org que explica um pouco mais o que fazer a seguir.

    
por 29.05.2012 / 18:16

Tags