Introdução
Este documento explica as causas mais frequentes de travamentos forçados por software e descreve as informações que precisam ser coletadas para resolver problemas. Se você abrir uma solicitação de serviço ao TAC de um travamento forçado por software, as informações que serão solicitadas para serem coletadas serão essenciais para resolver o problema.
Pré-requisitos
Requisitos
Os leitores deste documento devem estar cientes destes tópicos:
Componentes Utilizados
Este documento não se restringe a versões de software e hardware específicas.
As informações neste documento foram criadas a partir de dispositivos em um ambiente de laboratório específico. Todos os dispositivos utilizados neste documento foram iniciados com uma configuração (padrão) inicial. Se a sua rede estiver ativa, certifique-se de que entende o impacto potencial de qualquer comando.
Conventions
Para obter mais informações sobre convenções de documento, consulte as Convenções de dicas técnicas Cisco.
Um travamento forçado por software ocorre quando o roteador detecta um erro grave irrecuperável e é recarregado para não transmitir dados corrompidos. A grande maioria dos travamentos forçados por software são causados por bugs do Cisco IOS®, embora algumas plataformas (como o antigo Cisco 4000) possam relatar um problema de hardware como um travamento forçado por software.
Se você não tiver desligado e ligado ou recarregado manualmente o roteador, a saída do comando show version exibirá o seguinte:
Router uptime is 2 days, 21 hours, 30 minutes
System restarted by error - Software-forced crash, PC 0x316EF90 at 20:22:37 edt
System image file is "flash:c2500-is-l.112-15a.bin", booted via flash
Se você tiver a saída de um comando show version de seu dispositivo Cisco, poderá usar o Cisco CLI Analyzer (somente clientes registrados) para exibir problemas potenciais e correções.
Possíveis causas
Esta tabela explica os possíveis motivos para travamentos forçados por software:
Razão |
Explicação |
Intervalos de vigilante |
O processador usa temporizadores para evitar loops infinitos e faz com que o roteador pare de responder. Em operação normal, a CPU reinicia esses temporizadores em intervalos regulares. Se isso não for feito, o sistema será recarregado. Os tempos limite de vigilante relatados como travamentos forçados por software estão relacionados ao software. Consulte Troubleshooting de Timeouts de Watchdog para obter informações sobre outros tipos de timeouts de watchdog. O sistema ficou preso em um loop antes do recarregamento. Portanto, o rastreamento de pilha não é necessariamente relevante. Você pode reconhecer esse tipo de travamento forçado por software nas seguintes linhas dos registros de console: %SYS-2-WATCHDOG: Process aborted on watchdog timeout, process = Exec
and
*** System received a Software forced crash ***
signal = 0x17, code = 0x24, context= 0x60ceca60
|
Memória insuficiente |
Quando um roteador é executado com pouca memória, ele pode ser recarregado e reportado como um travamento forçado por software. Nesse caso, as mensagens de erro de falha de alocação de memória são exibidas nos registros do console: %SYS-2-MALLOCFAIL: Memory allocation of 734 bytes failed from 0x6015EC84,
pool Processor, alignment 0 |
Imagem de software corrompida |
No momento da inicialização, um roteador pode detectar que uma imagem do software Cisco IOS está corrompida, retornar a mensagem compressed image checksum is correct e tentar recarregar. Nesse caso, o evento é relatado como um travamento forçado por software. Error : compressed image checksum is incorrect 0x54B2C70A
Expected a checksum of 0x04B2C70A
*** System received a Software forced crash ***
signal= 0x17, code= 0x5, context= 0x0
PC = 0x800080d4, Cause = 0x20, Status Reg = 0x3041f003
Isso pode ser causado por uma imagem do software Cisco IOS que foi realmente corrompida durante a transferência para o roteador. Nesse caso, você pode carregar uma nova imagem no roteador para resolver o problema. [Para obter um método de recuperação de ROMMON para sua plataforma, consulte Procedimento de recuperação de ROMmon para Cisco 7200, 7300, 7400, 7500, RSP7000, Catalyst 5500 RSM, uBR7100, uBR7200, uBR10000 e 12000 Series Routers.] Isso também pode ser causado por hardware de memória defeituoso ou por um bug de software. |
Outras falhas |
Os erros que causam travamentos são frequentemente detectados pelo hardware do processador, que chama automaticamente o código especial de manipulação de erros no monitor da ROM. O monitor de ROM identifica o erro, imprime uma mensagem, salva informações sobre a falha e reinicia o sistema. Há falhas nas quais nada disso pode acontecer (consulte Tempos limite do vigilante), e há falhas nas quais o software detecta o problema e chama a função de despejo de memória. Este é um verdadeiro travamento "forçado por software. Em plataformas Power PC, "travamento forçado por software" não é o motivo de reinicialização impresso quando a função de despejo de memória é chamada - pelo menos até muito recentemente. Nessas plataformas (anteriores ao Cisco IOS Software versão 12.2[12.7]), esses travamentos são conhecidos como exceções "SIGTRAP". Em todos os outros aspectos, SIGTRAPs e SFCs são iguais. |
Troubleshooting
Os travamentos forçados pelo software são normalmente causados por bugs do Cisco IOS Software. Se houver mensagens de erro de falha de alocação de memória nos registros, consulte Troubleshooting Memory Problems.
Se você não vir mensagens de erro de falha de alocação de memória e não tiver recarregado manualmente ou desligado e ligado o roteador após o travamento forçado por software, a melhor ferramenta que você pode usar é o Cisco CLI Analyzer (somente clientes registrados) para procurar uma ID de erro correspondente conhecida. Esta ferramenta incorpora a funcionalidade da antiga ferramenta Stack Decoder.
Exemplo:
-
Colete a saída de show stack do roteador.
-
Acesse a ferramenta Cisco CLI Analyzer (somente clientes registrados).
-
Selecione show stack no menu suspenso.
-
Cole a saída coletada.
-
Clique em Submit.
Se a saída decodificada do comando show stack corresponder a um bug de software conhecido, você receberá as IDs dos bugs de software mais prováveis que poderiam ter causado o travamento forçado por software.
-
Clique nos hiperlinks de ID de bug para exibir detalhes adicionais de bug do Cisco Bug Toolkit (somente clientes registrados) que podem ajudá-lo a determinar a correspondência correta de ID de bug.
Quando você tiver identificado um ID de bug que corresponda ao seu erro, consulte o campo "fixed in" (corrigido em) para determinar a primeira versão do software Cisco IOS que contém a correção do bug.
Se você não tiver certeza sobre a ID do bug ou a versão do software Cisco IOS que contém a correção para o problema, atualize o software Cisco IOS para a versão mais recente em sua versão de treinamento. Isso ajuda porque, a versão mais recente contém correções para um grande número de bugs. Mesmo que isso não resolva o problema, o relatório de erros e o processo de resolução são mais simples e rápidos quando você tem a versão mais recente do software.
Se, depois de usar o Cisco CLI Analyzer, você suspeitar ou tiver identificado positivamente um bug que permanece não resolvido, recomendamos que você abra uma solicitação de serviço do TAC para fornecer informações adicionais para ajudar a resolver o bug e para uma notificação mais rápida quando o bug for finalmente resolvido.
Procedimentos de configuração
Se o problema for identificado como um novo bug de software, um engenheiro do Cisco TAC poderá solicitar que você configure o roteador para coletar um dump central. Às vezes, é necessário um dump central para identificar o que pode ser feito para corrigir o bug do software.
Para coletar mais informações úteis no dump central, recomendamos que você use o comando hidden debug sanity. Isso faz com que cada buffer usado no sistema tenha sua sanidade verificada quando alocado e quando liberado. O comando debug sanity precisa ser emitido no modo EXEC privilegiado (modo de ativação) e envolve alguma CPU, mas não afeta significativamente a funcionalidade do roteador. Se você quiser desativar a verificação de sanidade, use o comando EXEC privilegiado undebug sanity.
Para roteadores que tenham 16 MB ou menos de memória principal, use o Protocolo de Transferência de Ficheiro Trivial (TFTP) para coletar o dump central. Recomendamos que você use o FTP (Protocolo de transferência de arquivos) se o roteador tiver mais de 16 MB de memória principal. Use os procedimentos de configuração nesta seção. Como alternativa, consulte Criação de Dumps Centrais.
Conclua estas etapas para configurar o roteador:
-
Configure o roteador com o comando configure terminal.
-
Digite exception dump n.n.n.n, onde n.n.n.n é o endereço IP do host do servidor do Protocolo de Transferência de Arquivos Trivial (TFTP - Trivial File Transfer Protocol) remoto.
-
Sair do modo de configuração.
Procedimento de configuração do host de servidor de TFTP
Conclua estes passos para configurar um host de servidor TFTP:
-
Crie um arquivo no diretório /tftpboot no host remoto com a ajuda de um editor de sua escolha. O nome do arquivo é o nome do host central do roteador Cisco.
-
Em sistemas UNIX, altere o modo de permissão do arquivo hostname-core para que seja globalmente compatível (666). Você pode verificar a configuração do TFTP através do comando copy running-config tftp naquele arquivo.
-
Verifique se você tem mais de 16 MB de espaço livre em disco em /tftpboot.
Se o sistema travar, o comando exception dump cria sua saída para o arquivo acima. Se o roteador tiver mais de 16 MB de memória principal, use o FTP (File Transfer Protocol) ou o RCP (Remote Copy Protocol) para obter o dump central. No roteador, configure isto:
exception protocol ftp
exception dump n.n.n.n
ip ftp username
ip ftp password
ip ftp source-interface
exception core-file
Quando tiver coletado um dump central, carregue-o para ftp://ftp-sj.cisco.com/incoming (no UNIX, digite pftp ftp-sj.cisco.com e depois cd incoming), notifique o proprietário do seu caso e inclua o nome do arquivo.
Informações a serem coletadas se você abrir um pedido de serviço de TAC
Se você ainda precisar de assistência após seguir as etapas de solução de problemas acima e quiser criar uma solicitação de serviço com o TAC da Cisco, certifique-se de incluir as seguintes informações: |
- show technical-support output - A saída do comando show technical-support fornece informações sobre o estado atual do roteador e também informações importantes armazenadas pelo roteador antes de um travamento.
- Registros de console - Os registros de console, frequentemente salvos em um servidor syslog, podem fornecer informações valiosas sobre os eventos que ocorrem no roteador antes de um travamento. Essas dicas costumam ser as informações mais importantes que você consegue coletar.
- arquivo crashinfo (se presente) - A Cisco recomenda que você use uma versão do software Cisco IOS que suporte o recurso crashinfo para solucionar problemas com êxito. Para isso, a versão deve atender às outras necessidades da sua rede. Consulte Recuperando Informações do Arquivo Crashinfo ou use a ferramenta Software Advisor (somente para clientes registrados) para localizar uma versão do software Cisco IOS que suporte o recurso crashinfo. Um bônus em potencial é que, se você tiver uma versão mais antiga do software Cisco IOS, as versões mais recentes do software IOS que suportam esse recurso já podem ter seu bug corrigido.
Para anexar informações à sua solicitação de serviço, carregue-as através da TAC Service Request Tool (somente clientes registrados) . Se você não puder acessar a TAC Service Request Tool, poderá enviar as informações em um anexo de e-mail para attach@cisco.com com o número do caso na linha de assunto da mensagem. Cuidado: não recarregue manualmente ou desligue e ligue o roteador antes de coletar as informações acima, se possível, pois isso pode causar a perda de informações importantes necessárias para determinar a causa raiz do problema. |
Informações Relacionadas