Abrindo um despejo linux-crashdump com falha?

1

Então, eu tenho tentado depurar uma estranha pane intermitente no kernel para um servidor rodando o Ubuntu-Server 16.04, que me deixou perplexo por muito tempo, então eu instalei e configurei linux-crashdump seguindo o Receita de despejo de memória do wiki do Ubuntu .

Depois de aguardar o problema, o linux-crashdump fez o que queria e gerou um despejo de memória, mas agora não consigo descobrir como usá-lo!

O guia do Ubuntu fornece dois métodos para visualizá-los, usando crash ou apport-retrace , mas nenhum desses métodos funciona como descrito.

apport-retrace simplesmente retorna:

ERROR: report file does not contain the required fields

Enquanto isso, para crash , fiz o download da imagem apropriada com informações de depuração usando apt-get install linux-image-$(uname -r)-dbgsym , conforme recomendado, antes de executar o seguinte comando:

crash /usr/lib/debug/boot/vmlinux-4.4.0-93-generic /var/crash/linux-image-4.4.0-93-generic-201709131146.crash

No entanto, isso resulta em um erro de:

crash: linux-image-4.4.0-93-generic-201709131146.crash: not a supported file format

Qual é a maneira correta de visualizar linux-crashdump dumps agora? Estou faltando etapas que não estão no guia?

    
por Haravikk 13.09.2017 / 14:11

2 respostas

0

Você precisa usar o apport-unpack. Então gdb e backtrace. Há bons exemplos on-line sobre como usar o apport-unpack.

    
por 13.09.2017 / 15:34
0

Então eu percebi isso; parece que a carne real do despejo de memória não está no arquivo .crash , mas está dentro de uma pasta.

O conteúdo relevante da minha pasta /var/crash é assim:

/var/crash/
    201709131146/
        dmesg.201709131146
        dump.201709131146
    linux-image-4.4.0-93-generic-201709131146.crash

Então, o que eu precisava fazer era:

crash /usr/lib/debug/boot/vmlinux-4.4.0-93-generic /var/crash/201709131146/dump.201709131146

Isso (eventualmente) me deu um rastreamento de pilha útil e outros detalhes sobre o que deu errado.

    
por 14.09.2017 / 16:41