Einleitung
In diesem Dokument werden die häufigsten Ursachen von Software-erzwungenen Abstürzen erläutert. Außerdem werden die Informationen beschrieben, die Sie zur Fehlerbehebung sammeln müssen. Wenn Sie eine TAC-Serviceanfrage für einen Software-erzwungenen Absturz erstellen, sind die Informationen, die Sie sammeln müssen, zur Lösung des Problems unverzichtbar.
Voraussetzungen
Anforderungen
Bevor Sie dieses Dokument lesen, sollten Sie mit den folgenden Themen vertraut sein:
Verwendete Komponenten
Dieses Dokument ist nicht auf bestimmte Software- und Hardware-Versionen beschränkt.
Die Informationen in diesem Dokument beziehen sich auf Geräte in einer speziell eingerichteten Testumgebung. Alle Geräte, die in diesem Dokument benutzt wurden, begannen mit einer gelöschten (Nichterfüllungs) Konfiguration. Wenn Ihr Netz Live ist, überprüfen Sie, ob Sie die mögliche Auswirkung jedes möglichen Befehls verstehen.
Konventionen
Weitere Informationen zu Dokumentkonventionen finden Sie unter Cisco Technical Tips Conventions (Technische Tipps von Cisco zu Konventionen).
Ein von der Software erzwungener Absturz tritt auf, wenn der Router einen schwerwiegenden, nicht behebbaren Fehler erkennt und sich selbst neu lädt, sodass er keine beschädigten Daten überträgt. Die Mehrzahl der Software-erzwungenen Abstürze werden durch Cisco IOS®-Softwarefehler verursacht, obwohl einige Plattformen (wie der alte Cisco 4000) ein Hardwareproblem als einen Software-erzwungenen Absturz melden können.
Wenn Sie den Router nicht aus- und wieder eingeschaltet oder manuell neu geladen haben, zeigt die Ausgabe des Befehls show version Folgendes an:
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
Wenn Sie den Befehl show version von Ihrem Cisco Gerät ausgegeben haben, können Sie mit Cisco CLI Analyzer (nur für registrierte Kunden) potenzielle Probleme und Korrekturen anzeigen.
Mögliche Ursachen
Diese Tabelle erläutert die möglichen Gründe für Software-erzwungene Abstürze:
Grund |
Erläuterung |
Watchdog-Zeitüberschreitungen |
Der Prozessor verwendet Timer, um unendliche Schleifen zu vermeiden, und veranlasst, dass der Router nicht mehr reagiert. Im Normalbetrieb setzt die CPU diese Timer in regelmäßigen Abständen zurück. Andernfalls wird das System neu geladen. Watchdog-Zeitüberschreitungen, die als Software-erzwungene Abstürze gemeldet werden, sind softwarebezogen. Informationen zu anderen Typen von Watchdog-Zeitüberschreitungen finden Sie unter Troubleshooting Watchdog Timeouts (Problembehandlung bei Watchdog-Zeitüberschreitungen). Das System war vor dem Neuladen in einer Schleife stecken geblieben. Daher ist die Stapelüberwachung nicht unbedingt relevant. Sie können diese Art von Software-erzwungenen Abstürzen in folgenden Zeilen der Konsolenprotokolle erkennen: %SYS-2-WATCHDOG: Process aborted on watchdog timeout, process = Exec
and
*** System received a Software forced crash ***
signal = 0x17, code = 0x24, context= 0x60ceca60
|
Geringer Arbeitsspeicher |
Wenn der Arbeitsspeicher eines Routers zu knapp wird, kann er sich selbst neu laden und den Router als einen softwarebedingten Absturz melden. In diesem Fall werden in den Konsolenprotokollen Fehlermeldungen über Speicherzuweisungen angezeigt: %SYS-2-MALLOCFAIL: Memory allocation of 734 bytes failed from 0x6015EC84,
pool Processor, alignment 0 |
Fehlerhaftes Software-Image |
Beim Start kann ein Router erkennen, dass ein Cisco IOS-Software-Image beschädigt ist, die Prüfsumme des komprimierten Images als falsche Nachricht zurückgeben und versuchen, das Image neu zu laden. In diesem Fall wird das Ereignis als Software-erzwungener Absturz gemeldet. 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
Dies kann durch ein Cisco IOS Software-Image verursacht werden, das während der Übertragung an den Router beschädigt wurde. In diesem Fall können Sie ein neues Image auf den Router laden, um das Problem zu beheben. [Eine ROMMON-Wiederherstellungsmethode für Ihre Plattform finden Sie unter ROMmon Recovery Procedure for the Cisco 7200, 7300, 7400, 7500, RSP7000, Catalyst 5500 RSM, uBR7100, uBR7 Router der Serien 200, uBR10000 und 12000] Darüber hinaus kann es durch fehlerhafte Speicherhardware oder einen Softwarefehler verursacht werden. |
Andere Fehler |
Die Fehler, die Abstürze verursachen, werden häufig von der Prozessorhardware erkannt, die automatisch einen speziellen Fehlerbehandlungscode im ROM-Monitor aufruft. Der ROM-Monitor identifiziert den Fehler, gibt eine Meldung aus, speichert Informationen über den Fehler und startet das System neu. Es gibt Abstürze, bei denen nichts davon passieren kann (siehe Watchdog Timeouts), und es gibt Abstürze, bei denen Software das Problem erkennt und die Crashdump-Funktion aufruft. Dies ist ein echter "Software-erzwungener" Absturz. Auf Power-PC-Plattformen ist "software-forced crash" nicht der Grund für den Neustart, der beim Aufruf der Crashdump-Funktion ausgegeben wird - zumindest bis vor kurzem. Auf diesen Plattformen (vor Version 12.2(12.7) der Cisco IOS-Software) werden diese als "SIGTRAP"-Ausnahmen bezeichnet. In allen anderen Fällen sind SIGTRAPs und SFCs identisch. |
Fehlerbehebung
Softwareerzwungene Abstürze werden in der Regel durch Cisco IOS-Softwarefehler verursacht. Wenn Fehlermeldungen zur Speicherzuweisung in den Protokollen vorhanden sind, finden Sie weitere Informationen unter Troubleshooting Memory Problems (Fehlerbehebung bei Speicherproblemen).
Wenn keine Fehlermeldungen bei der Speicherzuweisung angezeigt werden und Sie den Router nach dem Software-erzwungenen Absturz nicht manuell neu geladen oder aus- und wieder eingeschaltet haben, können Sie mit dem Cisco CLI Analyzer (nur für registrierte Kunden) nach einer bekannten übereinstimmenden Bug-ID suchen. Dieses Tool umfasst die Funktionen des alten Stack Decoder-Tools.
Beispiel:
-
Sammeln Sie die Ausgabe von show stack vom Router.
-
Rufen Sie das Tool Cisco CLI Analyzer (nur für registrierte Kunden) auf.
-
Wählen Sie Stapel anzeigen aus dem Pulldown-Menü aus.
-
Fügen Sie die gesammelte Ausgabe ein.
-
Klicken Sie auf Senden.
Wenn die decodierte Ausgabe des Befehls show stack mit einem bekannten Softwarefehler übereinstimmt, erhalten Sie die Bug-IDs der wahrscheinlichsten Softwarefehler, die den Software-erzwungenen Absturz verursacht haben könnten.
-
Klicken Sie auf die Hyperlinks zur Bug-ID, um weitere Bug-Details aus dem Cisco Bug Toolkit anzuzeigen (nur für registrierte Kunden), anhand derer Sie die korrekte Bug-ID ermitteln können.
Wenn Sie eine Bug-ID identifiziert haben, die mit Ihrem Fehler übereinstimmt, finden Sie im Feld "fixed in" (Behoben in) die erste Cisco IOS-Softwareversion, die die Behebung des Fehlers enthält.
Wenn Sie sich nicht sicher sind, welche Bug-ID Sie haben oder welche Cisco IOS-Softwareversion das Problem beheben soll, aktualisieren Sie Ihre Cisco IOS-Software auf die neueste Version in Ihrem Release Train. Dies ist hilfreich, denn die neueste Version enthält Korrekturen für eine große Anzahl von Bugs. Auch wenn das Problem dadurch nicht behoben werden kann, ist die Fehlerberichterstattung und der Behebungsprozess einfacher und schneller, wenn Sie über die neueste Version der Software verfügen.
Wenn Sie nach der Verwendung von Cisco CLI Analyzer einen Fehler vermuten oder positiv identifiziert haben, der weiterhin besteht, empfehlen wir Ihnen, eine TAC-Serviceanfrage zu stellen, um zusätzliche Informationen zur Behebung des Fehlers und eine schnellere Benachrichtigung zu erhalten, wenn der Fehler behoben ist.
Konfigurationsverfahren
Wenn das Problem als neuer Softwarefehler erkannt wird, kann ein Cisco TAC-Techniker anfordern, dass Sie den Router so konfigurieren, dass ein Core Dump gesammelt wird. Manchmal ist ein Core Dump erforderlich, um herauszufinden, was getan werden kann, um den Softwarefehler zu beheben.
Um weitere nützliche Informationen im Core Dump zu sammeln, empfehlen wir die Verwendung des Befehls hidden debug sanity. Dadurch wird jeder Puffer, der im System verwendet wird, bei der Zuweisung und beim Freigeben auf Richtigkeit geprüft. Der Befehl debug sanity muss im privilegierten EXEC-Modus (privilegierter EXEC-Modus) ausgeführt werden und erfordert eine gewisse CPU, wirkt sich jedoch nicht nennenswert auf die Funktionalität des Routers aus. Wenn Sie die Integritätsprüfung deaktivieren möchten, verwenden Sie den Befehl undebug sanity privileged EXEC.
Bei Routern mit 16 MB oder weniger Hauptspeicher können Sie das Trivial File Transfer Protocol (TFTP) verwenden, um den Core Dump zu sammeln. Es wird empfohlen, das File Transfer Protocol (FTP) zu verwenden, wenn der Router über mehr als 16 MB Hauptspeicher verfügt. Verwenden Sie die Konfigurationsverfahren in diesem Abschnitt. Alternativ dazu finden Sie weitere Informationen unter Creating Core Dumps.
Gehen Sie wie folgt vor, um den Router zu konfigurieren:
-
Konfigurieren Sie den Router mit dem Befehl configure terminal.
-
Geben Sie exception dump n.n.n.n ein, wobei n.n.n.n die IP-Adresse des TFTP-Server-Hosts (Trivial File Transfer Protocol) ist.
-
Beenden Sie den Konfigurationsmodus.
TFTP-Server-Host-Konfigurationsverfahren
Gehen Sie wie folgt vor, um einen TFTP-Server-Host zu konfigurieren:
-
Erstellen Sie mithilfe eines Editors Ihrer Wahl eine Datei im Verzeichnis /tftpboot auf dem Remotehost. Der Dateiname ist "hostname-core" des Cisco Routers.
-
Ändern Sie auf UNIX-Systemen den Berechtigungsmodus der Datei "hostname-core" auf global kompatibel (666). Sie können das TFTP-Setup über den Befehl copy running-config tftp für diese Datei überprüfen.
-
Stellen Sie sicher, dass Sie unter /tftpboot mehr als 16 MB freien Speicherplatz haben.
Wenn das System abstürzt, erstellt der exception dump-Befehl seine Ausgabe für die obige Datei. Wenn der Router über mehr als 16 MB Hauptspeicher verfügt, verwenden Sie File Transfer Protocol (FTP) oder Remote Copy Protocol (RCP), um das Core Dump zu erhalten. Konfigurieren Sie auf dem Router Folgendes:
exception protocol ftp
exception dump n.n.n.n
ip ftp username
ip ftp password
ip ftp source-interface
exception core-file
Wenn Sie einen Core Dump gesammelt haben, laden Sie ihn auf ftp://ftp-sj.cisco.com/incoming hoch (in UNIX geben Sie pftp ftp-sj.cisco.com und dann cd incoming ein), benachrichtigen Sie den Besitzer Ihres Tickets und geben Sie den Dateinamen an.
Zu erfassende Informationen, wenn Sie eine TAC-Serviceanfrage stellen
Wenn Sie nach dem Durchführen der oben beschriebenen Schritte zur Fehlerbehebung weiterhin Unterstützung benötigen und eine Serviceanfrage beim Cisco TAC stellen möchten, stellen Sie sicher, dass Sie die folgenden Informationen angeben: |
- show technical-support output - Die Ausgabe des Befehls show technical-support enthält Informationen zum aktuellen Status des Routers sowie wichtige Informationen, die der Router vor einem Absturz gespeichert hat.
- Konsolenprotokolle - Die Konsolenprotokolle, die häufig auf einem Syslog-Server gespeichert werden, können wertvolle Informationen über die Ereignisse liefern, die auf dem Router vor einem Absturz auftreten. Diese Hinweise sind oft die wichtigsten Informationen, die Sie sammeln können.
- crashinfo-Datei (falls vorhanden) - Cisco empfiehlt zur erfolgreichen Fehlerbehebung die Verwendung einer Cisco IOS-Softwareversion, die die Crashinfo-Funktion unterstützt. Dafür muss die Version die anderen Anforderungen Ihres Netzwerks erfüllen. Siehe Informationen aus der Crashinfo-Datei abrufen oder verwenden Sie das Software Advisor-Tool (nur für registrierte Kunden), um eine Cisco IOS-Softwareversion zu finden, die die Crashinfo-Funktion unterstützt. Ein potenzieller Bonus ist, dass Sie, wenn Sie eine ältere Version der Cisco IOS-Software verwenden, bei den neueren IOS-Software-Versionen, die diese Funktion unterstützen, möglicherweise bereits einen Bug behoben haben.
Laden Sie Informationen über das TAC Service Request Tool (nur registrierte Kunden) hoch, um Ihre Serviceanfrage mit Informationen zu ergänzen. Wenn Sie nicht auf das TAC Service Request Tool zugreifen können, senden Sie die Informationen mit Ihrer Ticketnummer in der Betreffzeile Ihrer Nachricht als E-Mail-Anhang an attach@cisco.com. Achtung: Bitte laden Sie den Router nicht manuell neu oder schalten Sie ihn aus, bevor Sie die oben genannten Informationen erfassen, wenn möglich, da dies dazu führen kann, dass wichtige Informationen verloren gehen, die zur Ermittlung der Ursache des Problems erforderlich sind. |
Zugehörige Informationen