Solução de problemas do kernel panic - próximos passos depois de analisar o 'crash' dump

2

Estou executando uma máquina Ubuntu 12.04 com um processador Intel i7. De vez em quando, congela completamente - a máquina e a tela ficam ligadas por um minuto ou mais, o áudio que estava tocando (se é que alguma coisa estava acontecendo) começa a fazer um loop e depois é reinicializado. Embora isso geralmente aconteça sob carga moderada a alta, isso também acontece ocasionalmente quando nada está sendo executado. A falha ocorre independentemente de a configuração de memória do Intel XMP 1333 MHz ampliada para 1600 MHz estar ativada no BIOS. Eu não toquei em nenhuma das outras configurações de overclocking. Aqui estão as coisas óbvias que fiz até agora:

Temperatura da CPU observada

Seguindo o guia aqui , eu configuro a instrumentação de temperatura no máquina e, em seguida, correu watch sensors para que eu pudesse obter uma leitura contínua da temperatura da CPU. A máquina congela apesar de todos os núcleos operarem em temperaturas razoáveis (~ 60-65 graus).

Uso de RAM observado

A máquina tem 16 GB de RAM. Ele congela, apesar de apenas ~ 3 GB de uso.

Utilização da CPU observada

Como dito anteriormente, o congelamento ocorre mais freqüentemente sob carga, mas também ocorreu em "ocioso".

Nenhuma dessas coisas óbvias apontou para o problema, então eu segui o guia aqui para começar a usar o comando crash para me ajudar a diagnosticar o problema.

Aqui está a saída da execução de crash no despejo de memória:

crash /usr/lib/debug/boot/vmlinux-3.2.0-58-generic ~/temp/crash2/VmCore

crash 6.1.6
Copyright (C) 2002-2013  Red Hat, Inc.
Copyright (C) 2004, 2005, 2006, 2010  IBM Corporation
Copyright (C) 1999-2006  Hewlett-Packard Co
Copyright (C) 2005, 2006, 2011, 2012  Fujitsu Limited
Copyright (C) 2006, 2007  VA Linux Systems Japan K.K.
Copyright (C) 2005, 2011  NEC Corporation
Copyright (C) 1999, 2002, 2007  Silicon Graphics, Inc.
Copyright (C) 1999, 2000, 2001, 2002  Mission Critical Linux, Inc.
This program is free software, covered by the GNU General Public License,
and you are welcome to change it and/or distribute copies of it under
certain conditions.  Enter "help copying" to see the conditions.
This program has absolutely no warranty.  Enter "help warranty" for details.

GNU gdb (GDB) 7.3.1
Copyright (C) 2011 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-unknown-linux-gnu"...

      KERNEL: /usr/lib/debug/boot/vmlinux-3.2.0-58-generic
    DUMPFILE: /home/bryce/temp/crash2/VmCore
        CPUS: 8
        DATE: Mon Jan 20 19:29:26 2014
      UPTIME: 02:33:18
LOAD AVERAGE: 1.40, 0.93, 0.50
       TASKS: 579
    NODENAME: <node_name>
     RELEASE: 3.2.0-58-generic
     VERSION: #88-Ubuntu SMP Tue Dec 3 17:37:58 UTC 2013
     MACHINE: x86_64  (3499 Mhz)
      MEMORY: 16 GB
       PANIC: "[ 9180.518213] Kernel panic - not syncing: Fatal Machine check"
         PID: 0
     COMMAND: "swapper/1"
        TASK: ffff8804045e9700  (1 of 8)  [THREAD_INFO: ffff8804045e4000]
         CPU: 1
       STATE: TASK_RUNNING (PANIC)

E o resultado da execução de bt no prompt crash :

crash> bt
PID: 0      TASK: ffff8804045e9700  CPU: 1   COMMAND: "swapper/1"
 #0 [ffff88041ec4aba0] machine_kexec at ffffffff8103943a
 #1 [ffff88041ec4ac10] crash_kexec at ffffffff810b58d8
 #2 [ffff88041ec4ace0] panic at ffffffff8164928c
 #3 [ffff88041ec4ad60] mce_panic at ffffffff8102ab0b
 #4 [ffff88041ec4adb0] mce_panic at ffffffff8102aba0
 #5 [ffff88041ec4ade0] mce_reign at ffffffff8102ade4
 #6 [ffff88041ec4ae40] mce_end at ffffffff8102b095
 #7 [ffff88041ec4ae70] do_machine_check at ffffffff8102b84c
 #8 [ffff88041ec4af50] machine_check at ffffffff8166254c
    [exception RIP: mwait_idle_with_hints+93]
    RIP: ffffffff8103109d  RSP: ffff8804045e5e38  RFLAGS: 00000046
    RAX: 0000000000000033  RBX: ffff88040009ba60  RCX: 0000000000000001
    RDX: 0000000000000000  RSI: 0000000000000001  RDI: 0000000000000033
    RBP: ffff8804045e5e38   R8: ffff8804045e5fd8   R9: 0000000000000f85
    R10: 000000000000198f  R11: 0000000000000000  R12: 0000000000000002
    R13: ffff88040009b800  R14: ffff88040009b820  R15: 134b04c7ed0ea230
    ORIG_RAX: ffffffffffffffff  CS: 0010  SS: 0018
--- <MCE exception stack> ---
 #9 [ffff8804045e5e38] mwait_idle_with_hints at ffffffff8103109d
#10 [ffff8804045e5e40] acpi_processor_ffh_cstate_enter at ffffffff810310e2
#11 [ffff8804045e5e50] acpi_idle_do_entry at ffffffff81399182
#12 [ffff8804045e5e60] acpi_idle_enter_simple at ffffffff813992d8
#13 [ffff8804045e5ea0] cpuidle_idle_call at ffffffff8150bd61
#14 [ffff8804045e5f00] cpu_idle at ffffffff8101322a

E o resultado da execução de log no prompt crash (mostrei apenas a parte final do arquivo, com a primeira linha exibida no momento 4232.799 como contexto anterior - os detalhes do erro começam na seguinte linha):

crash>log
[ 4232.799853] ath: Could not kill baseband RX
[ 9180.518188] [Hardware Error]: CPU 5: Machine Check Exception: 5 Bank 1: bf80000000000124
[ 9180.518191] [Hardware Error]: RIP !INEXACT! 10:<ffffffff8111fc4f> {__rmqueue+0x1f/0x4b0}
[ 9180.518196] [Hardware Error]: TSC 1d5211c92f0e ADDR 419801540 MISC 86 
[ 9180.518199] [Hardware Error]: PROCESSOR 0:306c3 TIME 1390210166 SOCKET 0 APIC 3 microcode 9
[ 9180.518200] [Hardware Error]: Run the above through 'mcelog --ascii'
[ 9180.518202] [Hardware Error]: CPU 1: Machine Check Exception: 5 Bank 1: bf80000000000124
[ 9180.518204] [Hardware Error]: RIP !INEXACT! 10:<ffffffff8103109d> {mwait_idle_with_hints+0x5d/0x70}
[ 9180.518207] [Hardware Error]: TSC 1d5211c92ee8 ADDR 419801540 MISC 86 
[ 9180.518209] [Hardware Error]: PROCESSOR 0:306c3 TIME 1390210166 SOCKET 0 APIC 2 microcode 9
[ 9180.518210] [Hardware Error]: Run the above through 'mcelog --ascii'
[ 9180.518211] [Hardware Error]: Machine check: Processor context corrupt
[ 9180.518213] Kernel panic - not syncing: Fatal Machine check
[ 9180.518215] Pid: 0, comm: swapper/1 Tainted: P   M       O 3.2.0-58-generic #88-Ubuntu
[ 9180.518216] Call Trace:
[ 9180.518217]  <#MC>  [<ffffffff81649285>] panic+0x91/0x1a4
[ 9180.518224]  [<ffffffff8102ab0b>] mce_panic.part.14+0x18b/0x1c0
[ 9180.518226]  [<ffffffff8102aba0>] mce_panic+0x60/0xb0
[ 9180.518228]  [<ffffffff8102ade4>] mce_reign+0x1f4/0x200
[ 9180.518230]  [<ffffffff8102b095>] mce_end+0xf5/0x100
[ 9180.518232]  [<ffffffff8102b84c>] do_machine_check+0x3fc/0x600
[ 9180.518234]  [<ffffffff8103109d>] ? mwait_idle_with_hints+0x5d/0x70
[ 9180.518237]  [<ffffffff8166254c>] machine_check+0x1c/0x30
[ 9180.518239]  [<ffffffff8103109d>] ? mwait_idle_with_hints+0x5d/0x70
[ 9180.518240]  <<EOE>>  [<ffffffff810310e2>] acpi_processor_ffh_cstate_enter+0x32/0x40
[ 9180.518244]  [<ffffffff81399182>] acpi_idle_do_entry+0x10/0x2b
[ 9180.518246]  [<ffffffff813992d8>] acpi_idle_enter_simple+0xaa/0x115
[ 9180.518249]  [<ffffffff8150bd61>] cpuidle_idle_call+0xc1/0x290
[ 9180.518252]  [<ffffffff8101322a>] cpu_idle+0xca/0x120
[ 9180.518255]  [<ffffffff8163fa12>] start_secondary+0xd9/0xdb

Então, dada esta informação, qual é o próximo passo no diagnóstico deste problema?

    
por Bryce Thomas 20.01.2014 / 11:21

2 respostas

3

Peter chegou aqui primeiro com um comentário que não vou repetir, então dê uma olhada no artigo da wikipedia .

Veja o que o mcelog diz para mim aqui:

> mcelog --ascii

Isto lê de stdin. Eu então cortei n 'colar:

TSC 1d5211c92ee8 ADDR 419801540 MISC 86
PROCESSOR 0:306c3 TIME 1390210166 SOCKET 0 APIC 2 microcode 9

Do seu log. Isto cuspiu:

Hardware event. This is not a software error.
CPU 0 BANK 0 TSC 1d5211c92ee8 
TIME 1390210166 Mon Jan 20 04:29:26 2014
MCG status:
MCi status:
Machine check not valid
Corrected error
MCA: No Error
STATUS 0 MCGSTATUS 0
CPUID Vendor Intel Family 6 Model 60
SOCKET 0 APIC 2 microcode 9

No entanto, isso requer permissão em /dev/mem , então, se precisar de informações de lá, ele não poderá entrar no meu sistema, isso pode não ser a verdade completa.

Um fácil de diagnosticar e consertar o MCE seria bad ram. Para verificar corretamente isso, você pode usar memtest O Memtest é um programa básico (ou seja, é executado sozinho sem um sistema operacional) que você deve inicializar. Acredito que a maioria dos CDs ao vivo o usam - pelo menos, os fedora que eu tenho chutado por aí fazem. É uma das opções no menu grub (?) Quando o disco é carregado pela primeira vez. Alguns BIOS também têm essa opção.

    
por 20.01.2014 / 13:08
0

Parece que a atualização do BIOS para a versão mais recente corrigiu o problema - a máquina não travou em ~ 24 horas sob carga, o que é substancialmente melhor do que o normal. Dito isso, vou retirar minha resposta se ela falhar novamente em breve.

Para a posteridade, é uma placa-mãe ASUS Z87-PRO. Não consigo me lembrar do número da versão do BIOS para o qual atualizei, mas acredito que foi uma versão de dezembro de 2013 (a mais recente no momento da gravação). Também só para o registro, eu corri memtest do menu GRUB como sugerido por @goldilocks antes de atualizar o BIOS e não foram encontrados problemas (eu fiz apenas uma única passagem embora).

Os comentários / respostas de @peterph e @goldilocks foram úteis para identificar isso como provável problema de não software em primeiro lugar.

De qualquer forma, o problema parece estar resolvido agora, espero.

    
por 21.01.2014 / 13:35