Solucionando problemas em pânico e bloqueios do kernel do G4 aparentemente aleatórios

2

Recentemente, meu servidor de arquivos Apple G4 de 9 anos de idade tem falhado aleatoriamente. Muitas vezes é um kernel panic, mas às vezes o sistema apenas trava. Parece quase sempre acontecer quando estou fora do meu escritório ... mas mesmo quando estou no meu escritório, o sistema está em uma sala de servidores separada e quase nunca tem ninguém no console. Suspeitando de má memória RAM, corri memtest mas depois de 20 passes não encontrou problemas. (Eu corri 10 passes, reiniciei e corri mais 10. Modo de usuário único ambas as vezes). O Apple Hardware Test também relata nenhum problema (Depois de ser executado em loop mais por mais de 100 loops)

Eu suspeito que o hardware está indo mal ... é 9 anos depois de tudo. Mas não temos orçamento para substituir o servidor neste momento. Até a nossa próxima atualização, quais seriam minhas melhores opções? Qualquer maneira de solucionar o problema? Ou, no mínimo, alguma maneira de fazer o sistema reiniciar automaticamente depois de um kernel panic ou lockup para que ele possa voltar a servir?

panic.log mostra:

Mon Jun 29 12:52:23 2009
panic(cpu 1 caller 0x00040180): zalloc: "socket" (751876 elements) retry fail 3
Latest stack backtrace for cpu 1:
      Backtrace:
         0x000954F8 0x00095A10 0x00026898 0x00040180 0x0026B868 0x00290E10 0x00290F1C 0x00296B40 
         0x002ABDB8 0x000ABD30 0x00000000 
Proceeding back via exception chain:
   Exception state (sv=0x32288780)
      PC=0x9001B08C; MSR=0x0000F030; DAR=0x12555000; DSISR=0x42000000; LR=0x8EF88A00; R1=0xBFFFF700; XCP=0x0000003
0 (0xC00 - System call)

Kernel version:
Darwin Kernel Version 8.11.0: Wed Oct 10 18:26:00 PDT 2007; root:xnu-792.24.17~1/RELEASE_PPC

*********

Fri Jul  3 10:15:24 2009
panic(cpu 1 caller 0x00040180): zalloc: "socket" (762004 elements) retry fail 3
Latest stack backtrace for cpu 1:
      Backtrace:
         0x000954F8 0x00095A10 0x00026898 0x00040180 0x0026B868 0x00290E10 0x00290F1C 0x00296B40 
         0x002ABDB8 0x000ABD30 0x00000000 
Proceeding back via exception chain:
   Exception state (sv=0x2C543000)
      PC=0x9001B08C; MSR=0x0000F030; DAR=0x11A41000; DSISR=0x42000000; LR=0x8EF88A00; R1=0xBFFFF700; XCP=0x0000003
0 (0xC00 - System call)

Kernel version:
Darwin Kernel Version 8.11.0: Wed Oct 10 18:26:00 PDT 2007; root:xnu-792.24.17~1/RELEASE_PPC

*********

Tue Jul 21 20:44:47 2009
panic(cpu 1 caller 0x00040180): zalloc: "socket" (762004 elements) retry fail 3
Latest stack backtrace for cpu 1:
      Backtrace:
         0x000954F8 0x00095A10 0x00026898 0x00040180 0x0026B868 0x00290E10 0x00290F1C 0x00296B40 
         0x002ABDB8 0x000ABD30 0x00000000 
Proceeding back via exception chain:
   Exception state (sv=0x2C543000)
      PC=0x9001B08C; MSR=0x0000F030; DAR=0x11A41000; DSISR=0x42000000; LR=0x8EF88A00; R1=0xBFFFF700; XCP=0x0000003
0 (0xC00 - System call)

Kernel version:
Darwin Kernel Version 8.11.0: Wed Oct 10 18:26:00 PDT 2007; root:xnu-792.24.17~1/RELEASE_PPC

*********
    
por Josh 06.08.2009 / 15:09

5 respostas

2

Estou assumindo que, se isso está sendo executado como um servidor de arquivos que está executando o Mac OS X Server, correto? Se ele não for reinicializado automaticamente após um kernel panic, seu hardware terá idade suficiente para provavelmente não ser suportado, já que é o padrão no servidor.

Obviamente, o Servidor não tentará reinicializar se não for um kernel panic e estiver desativado, mas eu encontrei Kick-Off de Circuitos Sofisticados! para ser uma excelente solução para esse problema. Basicamente, o software deles coloca o hardware deles na passagem de energia de vez em quando e, se a caixa trava e pára de fazer o ping, ela ativa a energia. Presto! Auto reboot, kernel panic ou não!

    
por 06.08.2009 / 15:24
1

Suponho que você já tenha consultado o CrashReporter e outros logs do sistema para ver se algo interessante foi mostrado lá.

Mas quando tentamos extrair algum tempo extra de máquinas antigas, uma das primeiras coisas que faço é verificar o resfriamento - tire todo o pó da caixa e, em seguida, verifique se os ventiladores estão girando bem.

... e se você está correndo cliente, e tomar sugestão de morgant com o ciclo de energia, olhe em 'Energy Saver - > Opções 'para' Reiniciar automaticamente após uma falha de energia '. É também onde você encontrará a configuração para "Reiniciar automaticamente se o servidor" congelar "" se você estiver executando o OS X Server.

    
por 06.08.2009 / 15:58
1

Você sabe o que está causando o pânico do kernel? Qual extensão específica do kernel o computador está falhando?

Eu postei um pouco sobre como ler um log de pânico do kernel em uma questão não relacionada em Superusuário na esperança de que ajude:

If it's not a package you can find out the name of the kext from the kernel panic: You can find this information at ~/Library/Logs/panic.log or when you restart your computer after the panic it will ask if you want to report the error to Apple. Press Report and then click the centre tab to see the crash details.

An example would be:

 panic(cpu 0 caller 0x0035C330): freeing free mbuf
 Backtrace, Format - Frame : Return Address (4 potential args on stack) 
 0x2545bc08 : 0x128d08 (0x3c9afc 0x2545bc2c 0x131de5 0x0) 
 0x2545bc48 : 0x35c330 (0x3ea258 0x3ae65000 0x23935100 0x493e0) 
 0x2545bc88 : 0x7424a4 (0x36f19300 0x493e0 0x0 0x134b11) 
 0x2545bca8 : 0x9f1458 (0x23935000 0x36f19300 0x0 0x0) 
 0x2545bcd8 : 0x9ef6d6 (0x23935000 0x36f19300 0x0 0x0) 
 0x2545bcf8 : 0x9fa0ce (0x23935000 0x36f15f00 0x1000000 0x0) 
 0x2545bea8 : 0x9f375a (0x23935000 0x3a14880 0x40000000 0x34fb8b) 
 0x2545bf08 : 0x398f79 (0x23935000 0x3a14880 0x1 0x13becf) 
 0x2545bf58 : 0x39814b (0x3a14880 0x4121d48 0x4121d8c 0x0) 
 0x2545bf88 : 0x397e81 (0x3a184c0 0x5d3734 0x452084 0x40431f4) 
 0x2545bfc8 : 0x19a77c (0x3a184c0 0x0 0x19d0b5 0x696543c) Backtrace terminated-invalid frame pointer 0x0  
 Kernel loadable modules in backtrace (with dependencies):
 com.apple.iokit.AppleYukon(1.0.9b3)@0x9ed000  

 dependency: com.apple.iokit.IONetworkingFamily(1.5.1)@0x73b000
 dependency: com.apple.iokit.IOPCIFamily(2.2)@0x60a000
 dependency: com.apple.iokit.IOACPIFamily(1.2.0)@0x6b6000
 com.apple.iokit.IONetworkingFamily(1.5.1)@0x73b000

 Kernel version:
 Darwin Kernel Version 8.8.2: Thu Sep 28 20:43:26 PDT 2006; root:xnu-792.14.14.obj~1/RELEASE_I386

I've set the relative lines apart. Specifically you're looking for the first line after "Kernel loadable modules...". In this case the item is com.apple.iokit.AppleYukon (which is the Ethernet driver/kernel extension) so the file name would be com.apple.iokit.AppleYukon.kext.

    
por 07.08.2009 / 16:30
0

No seu servidor, você pode executar o comando last para ver quando ele foi inicializado (assim como as reinicializações normais.) Há algo de interessante nos logs do sistema que aconteça nessa época?

Além disso, sendo um servidor de arquivos, verifique os discos rígidos. Nós temos um G5 (?) Conectado a um RAID, e ele não funciona direito quando o RAID está infeliz.

    
por 06.08.2009 / 15:50
0

Veja também se a memória, a corrupção ou outras falhas de memória são muito prováveis de causar esse tipo de coisa aleatória.

Se você puder trocar os DIMMs em um PC x86, tente usar o MemTest x86 + para ver se há algum erro óbvio, embora o MemTest possa mostrar limpeza se os erros forem aleatórios ou obscuros o suficiente.

link

    
por 06.08.2009 / 16:04