Contenu

Introduction

Conditions préalables

Conditions requises

Components Used

Conventions

Identification des pannes d'erreur de bus

Résolution des problèmes de blocage liés aux erreurs de bus

Dépannage des pannes d'erreur de bus sur les plates-formes du processeur 68000

Dépannage des pannes d'erreur de bus sur les plates-formes de processeur RISC

Types spéciaux de collisions d'erreurs de bus

Techniques de dépannage pour les boucles de démarrage des exceptions d'erreur de bus

Le logiciel Cisco IOS chargé ne prend pas en charge le matériel installé

Panne logicielle

Matériel Mis en place

Panne matérielle

Informations à recueillir si vous ouvrez une demande de service

Informations connexes

Introduction

Ce document explique comment identifier des plantages d'erreur de bus et comment dépanner ces plantages selon le type de processeur que vous avez dans votre routeur Cisco.

Conditions préalables

Conditions requises

Cisco vous recommande de lire Dépannage des pannes de routeur avant de continuer avec ce document.

Components Used

Les informations contenues dans ce document sont basées sur les versions de matériel et de logiciel suivantes :

- Toutes les versions du logiciel Cisco IOS®

- Tous les routeurs Cisco

Remarque : Ce document ne s'applique pas aux commutateurs Cisco Catalyst ni aux plates-formes MGX.

The information in this document was created from the devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration. If your network is live, make sure that you understand the potential impact of any command.

Conventions

Pour plus d'informations sur les conventions utilisées dans ce document, reportez-vous à Conventions relatives aux conseils techniques Cisco.

Identification des pannes d'erreur de bus

Le système rencontre une erreur sur le bus quand le processeur essaye d'accéder à un emplacement mémoire qui n'existe pas (une erreur de logiciel) ou qui ne répond pas correctement (un problème de matériel). Une erreur de bus peut être identifiée à partir de la sortie de la commande show version fournie par le routeur si elle n'est pas mise sous tension ou rechargée manuellement.

Si vous disposez de la sortie d'une commande show version ou show technical-support (à partir du mode enable) à partir de votre périphérique Cisco, vous pouvez l'utiliser pour afficher les problèmes potentiels et les correctifs. Pour pouvoir l'utiliser, vous devez être un client enregistré, être connecté et avoir JavaScript activé.

Router uptime is 2 days, 21 hours, 30 minutes

System restarted by bus error at PC 0x30EE546, address 0xBB4C4

System image file is "flash:igs-j-l.111-24.bin", booted via flash

.........

À l'invite de la console, ce message d'erreur peut également être vu lors d'une erreur de bus :

*** System received a Bus Error exception ***

signal= 0xa, code= 0x8, context= 0x608c3a50

PC = 0x60368518, Cause = 0x20, Status Reg = 0x34008002

.........

Après cela, le routeur se recharge. Dans certains cas, cependant, le routeur entre dans une boucle de plantages et de rechargements et une intervention manuelle est nécessaire pour sortir de cette boucle.

Un autre problème connexe est un plantage du processeur VIP (Versatile Interface Processor). Si ce problème se produit, les messages d'erreur similaires à ceux-ci sont consignés :

%VIP2 R5K-1-MSG: slot0 System reloaded by a Bus Error exception

%VIP2 R5K-1-MSG: slot0 caller=0x600BC974

%VIP2 R5K-1-MSG: slot0 System exception: sig=10, code=0x408,

context=0x605B51E0

Enfin, un autre type de panne de bus est un crash de carte de ligne sur un routeur Internet de la gamme Cisco 12000. Si ce problème se produit, les messages d'erreur similaires à ceux-ci sont consignés dans la sortie show context :

Router#show context

...

CRASH INFO: Slot 1, Index 1, Crash at 11:27:15 utc  Wed May 16 2001

VERSION:

GS Software (GLC1-LC-M), Version 12.0(16.5)S, EARLY DEPLOYMENT MAINTENANCE

INTERIM SOFTWARE

TAC Support: http://www.cisco.com/pcgi-bin/ibld/view.pl?i=support

Compiled Thu 29-Mar-01 17:12 by ninahung

Card Type: 3 Port Gigabit Ethernet, S/N

System exception: SIG=10, code=0x2008, context=0x40D8DF44

System restarted by a Bus Error exception

STACK TRACE:

-Traceback= 40165800 4038D0FC 4025C7BC 4026287C 4029581C 402EECF8 400C0144

CONTEXT:

$0 : 00000000, AT : 00000000, v0 : 00000044, v1 : 0FE00020

a0 : 00000000, a1 : 0FE00000, a2 : 00000000, a3 : 39EC6AAB

t0 : 00000030, t1 : 34008D01, t2 : 34008100, t3 : FFFF00FF

t4 : 400C01E8, t5 : 00000001, t6 : 00000001, t7 : 00000001

s0 : 40DCDD20, s1 : 0FE00000, s2 : 00000000, s3 : 000005DC

s4 : 00000000, s5 : 0FE00020, s6 : 00000004, s7 : 414CF120

t8 : 41680768, t9 : 00000000, k0 : 00000000, k1 : FFFF8DFD

gp : 40CB9780, sp : 4105BFE8, s8 : 41652BA0, ra : 4038D0FC

EPC : 0x40165800, SREG : 0x34008D03, Cause : 0x00002008

ErrorEPC : 0xBFC22B94

-Process Traceback= No Extra Traceback

Reportez-vous à Dépannage des pannes de cartes de ligne sur le routeur Internet de la gamme Cisco 12000 pour plus de détails.

Si vous disposez de la sortie d'une commande show context de votre périphérique Cisco, vous pouvez utiliser Cisco CLI Analyzer pour afficher les problèmes potentiels et les correctifs. Pour utiliser Cisco CLI Analyzer, vous devez être un client inscrit, être connecté et avoir activé JavaScript.

Résolution des problèmes de blocage liés aux erreurs de bus

La première chose à faire est de trouver l'emplacement de mémoire (également appelé « adresse » ou « adresse operand ») auquel le routeur a tenté d'accéder lorsque l'erreur de bus s'est produite. Avec ces informations, vous avez une indication quant à savoir si la défaillance est due au logiciel Cisco IOS ou au matériel du routeur. Dans l'exemple, « Le système a redémarré par erreur de bus sur le PC 0x30EE546, adresse 0xBB4C4 », l'emplacement de mémoire auquel le routeur a tenté d'accéder est 0xBB4C4. Ne confondez pas ceci avec la valeur du compteur de programme (PC) ci-dessus.

La deuxième chose à faire est de déterminer le type de processeur dans le routeur. Les emplacements des adresses mémoire des routeurs varient selon le type de processeur. Il existe deux principaux types de processeurs dans les routeurs Cisco :

- 68000 processeurs

Cela fait partie d'une sortie show version qui indique que le routeur a un processeur 68000 :

cisco 2500 (68030) processor (revision D) with 8192K/2048K bytes of memory.

Les plates-formes de routeur dotées de processeurs 68000 incluent :

- Routeurs de la gamme Cisco 1000

- Routeurs de la gamme Cisco 1600

- Routeurs de la gamme Cisco 2500

- Routeurs de la gamme Cisco 4000

- Modules de processeur de routage (RP) sur les routeurs de la gamme Cisco 7000 (RP)

- Processeurs RISC (Instruction Set Computing) réduits

Cela fait partie d'une sortie show version qui indique que le routeur a un processeur RISC :

cisco 3640 (R4700) processor (revision 0x00) with 49152K/16384K bytes of memory.

Le R in (R4700) indique un processeur RISC.

Les plates-formes de routeurs dotées de processeurs RISC incluent :

- Routeurs de la gamme Cisco 3600

- Routeurs de la gamme Cisco 4500

- Routeurs de la gamme Cisco 4700

- Modules RSP (Route Switch Processor) sur les routeurs des gammes Cisco 7500 et Cisco 7000 (RSP7000)

- Modules NPE (Network Processor Engine) sur les routeurs de la gamme Cisco 7200

- Carte MSFC (Multilayer Switch Feature Card) sur les routeurs de la gamme Cisco 7600 ou le commutateur Catalyst 6000

- Modules PRE (Performance Routing Engine) sur les routeurs Internet de la gamme Cisco 10000

- Modules de processeur de routage Gigabit (GRP) sur les routeurs Internet de la gamme Cisco 12000

Une fois que vous avez déterminé l'adresse et le type de processeur, vous pouvez commencer par un dépannage plus détaillé.

Dépannage des pannes d'erreur de bus sur les plates-formes du processeur 68000

Avec l'adresse accessible par le routeur lorsque l'erreur de bus s'est produite, utilisez la commande show region pour déterminer l'emplacement mémoire auquel correspond l'adresse. Si l'adresse signalée par l'erreur de bus ne correspond pas aux plages affichées dans la sortie show region, cela signifie que le routeur a tenté d'accéder à une adresse non valide. Cela indique qu'il s'agit d'un problème du logiciel Cisco IOS. Utilisez Cisco CLI Analyzer (clients enregistrés uniquement) pour décoder la sortie de la commande show stacks et identifier le bogue du logiciel Cisco IOS qui cause l'erreur de bus.

D'autre part, si l'adresse se trouve dans l'une des plages de la sortie show region, cela signifie que le routeur a accédé à une adresse mémoire valide, mais le matériel correspondant à cette adresse ne répond pas correctement. Cela indique un problème matériel.

Voici un exemple de la sortie show region :

Router#show region

Region Manager:

Start         End     Size(b)  Class  Media  Name

0x00000000  0x007FFFFF     8388608  Local  R/W    main

0x00001000  0x0001922F       98864  IData  R/W    main:data

0x00019230  0x000666B3      316548  IBss   R/W    main:bss

0x000666B4  0x007FEFFF     7965004  Local  R/W    main:heap

0x007FF000  0x007FFFFF        4096  Local  R/W    main:flhlog

0x00800000  0x009FFFFF     2097152  Iomem  R/W    iomem

0x03000000  0x037FFFFF     8388608  Flash  R/O    flash

0x0304033C  0x037A7D3F     7764484  IText  R/O    flash:text

Remarque : dans certaines versions antérieures du logiciel Cisco IOS, cette commande n'est pas disponible. La sortie show region fait partie de la sortie show tech-support du logiciel Cisco IOS Version 12.0(9).

Les adresses sont affichées au format hexadécimal. Les adresses qui se trouvent dans les plages de début et de fin sont des adresses mémoire valides.

Main correspond à la mémoire principale ou à la mémoire vive dynamique (DRAM).

iomem correspond à la mémoire d'entrée/sortie (E/S), ce qui signifie différentes parties pour différentes plates-formes. Par exemple, la mémoire DRAM du Cisco 2500, la mémoire SRAM (shared RAM) du Cisco 4000.

Toujours en utilisant l'exemple précédent, le système redémarré par erreur de bus sur PC 0x30EE546, adresse 0xBB4C4, ce crash d'erreur de bus provient d'un routeur Cisco 2500 avec la sortie show region. L'adresse 0xBB4C4 est équivalente à 0x000BB4C4. En utilisant la sortie show region, cette adresse se situe dans la plage de « main », ou plus précisément, « main : heap » ou 0x000666B4-0x007FEFFF. Comme mentionné précédemment, « main » correspond à la mémoire principale ou à la mémoire DRAM, de sorte que les puces DRAM doivent être vérifiées.

S’il s’agit d’un nouveau routeur ou si le routeur a été déplacé d’un emplacement à un autre, les puces de mémoire deviennent souvent desserrées. Il est recommandé de réinstaller ou de pousser fermement les puces de mémoire dans le logement. La plupart du temps, cela suffit pour résoudre ce type de crash.

Pour les incidents d'erreur de bus avec des adresses qui ne font pas partie des plages d'adresses show region, utilisez l'analyseur CLI de Cisco pour décoder le résultat de la commande show stacks et identifier le bogue du logiciel Cisco IOS qui cause l'erreur de bus. Si vous ne savez pas quel ID de bogue peut correspondre ou quelle version du logiciel Cisco IOS contient la correction du problème, la mise à niveau de votre logiciel Cisco IOS vers la dernière version de votre série de versions est une option qui résout souvent le problème, car elle contient généralement la correction d'un grand nombre de bogues.

Si vous disposez de la sortie d'une commande show stacks ou show technical-support (à partir du mode enable) à partir de votre périphérique Cisco, vous pouvez utiliser Cisco CLI Analyzer pour afficher les problèmes potentiels et les correctifs. Pour utiliser Cisco CLI Analyzer, vous devez être un client inscrit, être connecté et avoir activé JavaScript.

Dépannage des pannes d'erreur de bus sur les plates-formes de processeur RISC

Il est recommandé de lire la section Dépannage des pannes de bus sur les plates-formes de processeurs 68000 avant de poursuivre cette section.

Sur les processeurs RISC, le logiciel Cisco IOS utilise des adresses virtuelles via l'utilisation de la mémoire tampon de recherche de traduction (TLB) qui traduit les adresses virtuelles en adresses physiques. L'adresse signalée par les erreurs de bus sur les processeurs RISC est donc l'adresse virtuelle par opposition à l'adresse physique utilisée par les processeurs 68000.

La sortie de la commande show region doit être utilisée pour vérifier l'adresse signalée par l'erreur de bus. Pour illustrer cela, prenons l'exemple suivant :

System was restarted by bus error at PC 0x60104864, address 0xC

En utilisant la sortie de commande show region ci-dessous, vous pouvez vérifier que 0xC n'est pas une adresse virtuelle valide et vous pouvez conclure que l'erreur de bus a été causée par un problème logiciel. Utilisez l'analyseur CLI de Cisco (clients enregistrés uniquement) pour décoder le résultat de la commande show stacks ou show technical-support (à partir du mode enable) et identifier le bogue du logiciel Cisco IOS qui cause l'erreur de bus.

Un autre avantage de la commande show region est que le mappage de mémoire dépend de la quantité de mémoire installée sur le routeur. Par exemple, si vous avez 64 Mo de DRAM (64 x 1 024 x 1 024 = 671 08864 octets = 0x4000000 octets), la plage de DRAM est 0x6000000 - 0x60 FFFFF pour 64 Mo. Ceci est confirmé avec la commande show region :

Router#show version | i of memory

cisco RSP2 (R4700) processor with 65536K/2072K bytes of memory.

Router#show region

Region Manager:

Start         End     Size(b)  Class  Media  Name

0x40000000  0x40001FFF        8192  Iomem  REG    qa

0x40002000  0x401FFFFF     2088960  Iomem  R/W    memd

0x48000000  0x48001FFF        8192  Iomem  REG    QA:writethru

0x50002000  0x501FFFFF     2088960  Iomem  R/W    memd:(memd_bitswap)

0x58002000  0x581FFFFF     2088960  Iomem  R/W    memd:(memd_uncached)

0x60000000  0x63FFFFFF    67108864  Local  R/W    main

0x60010908  0x60C80B11    13042186  IText  R/O    main:text

0x60C82000  0x60F5AF1F     2985760  IData  R/W    main:data

0x60F5AF20  0x610E35FF     1607392  IBss   R/W    main:BSS

0x610E3600  0x611035FF      131072  Local  R/W    main:fastheap

0x61103600  0x63FFFFFF    49269248  Local  R/W    main:heap

0x80000000  0x83FFFFFF    67108864  Local  R/W    main:(main_k0)

0x88000000  0x88001FFF        8192  Iomem  REG    QA_k0

0x88002000  0x881FFFFF     2088960  Iomem  R/W    memd:(memd_k0)

0xA0000000  0xA3FFFFFF    67108864  Local  R/W    main:(main_k1)

0xA8000000  0xA8001FFF        8192  Iomem  REG    QA_k1

0xA8002000  0xA81FFFFF     2088960  Iomem  R/W    memd:(memd_k1)

Si vous avez une erreur de bus à 0x65FFFFF, la sortie show region prend en compte la quantité de mémoire et vous indique qu'il s'agit d'une adresse illégale (bogue logiciel).

En résumé :

- Utilisez la commande show region pour vérifier si l'adresse indiquée par l'erreur de bus se trouve dans les plages d'adresses utilisées par le routeur.

- Si l'adresse se trouve dans une plage d'adresses virtuelles, remplacez le matériel correspondant à cette plage.

- Si l'adresse ne fait pas partie d'une plage d'adresses virtuelles, utilisez la commande Cisco CLI Analyzer (clients enregistrés uniquement) pour décoder le résultat de la commande show stacks ou show technical-support (à partir du mode enable) et identifier le bogue du logiciel Cisco IOS qui cause l'erreur de bus.

- Envisagez sérieusement d'installer la dernière version de maintenance du logiciel Cisco IOS que vous utilisez actuellement.

Types spéciaux de collisions d'erreurs de bus

Un type spécial de panne d'erreur de bus est lorsque la panne est causée par un compteur de programme (PC) endommagé. La valeur PC correspond à l'emplacement de l'instruction exécutée par le processeur lorsque l'erreur de bus s'est produite. Lorsqu'une erreur de bus causée par un PC endommagé se produit, le message suivant apparaît sur la console :

%ALIGN-1-FATAL: Corrupted program counter

pc=0x0, ra=0x601860BC, sp=0x60924540, at=0x60224854

Dans ce cas, le PC a sauté vers l'adresse 0x0 (probablement à cause d'un pointeur nul), mais ce n'est pas là que se trouve l'instruction. Il s'agit d'un problème logiciel et il n'est donc pas nécessaire de vérifier avec la commande show region.

Sur d'autres plates-formes RISC (Cisco 3600, 4500, etc.), vous obtenez une exception SegV lorsque vous accédez à un PC non autorisé et non à une erreur de bus.

Un autre type de panne d'erreur de bus qui se produit de temps en temps est lorsque la valeur du PC est égale à la valeur de l'adresse. Par exemple :

System returned to ROM by bus error at PC 0x606B34F0, address 0x606B34F0

À partir du fichier crashinfo :

Unexpected exception, CPU signal 10, PC = 0x606B34F0

$0 : 00000000, AT : A001A24A, v0 : 00000000, v1 : 00000000

a0 : 00000000, a1 : 429CC394, a2 : 00000000, a3 : 62544344

t0 : 6069F424, t1 : 3400FF00, t2 : FFFFFFFB, t3 : 00000000

t4 : 606B8E68, t5 : 80000000, t6 : AA5C1022, t7 : 62FDE9D4

s0 : 62300000, s1 : 6281A1B8, s2 : 80007E20, s3 : 00000001

s4 : 00000001, s5 : 00000000, s6 : 62310000, s7 : 62544344

t8 : 62FDEA1C, t9 : 0D0D0D0D, k0 : 623079C0, k1 : 00000014

gp : 620B9E20, sp : 61E7E300, s8 : 00000000, ra : 606B8E68

EPC : 606B34F0, ErrorEPC : 606B8E68, SREG : 3400FF02

Cause 00004018 (Code 0x6): Instruction Bus Error exception

-Traceback= 606B34F0 606B8E68

Notez que la valeur du registre k1 est 0x14 (hexadécimal), ce qui équivaut à 20 en décimal. Ceci pointe vers une exception de parité de cache. Dans ce cas particulier, l'erreur de parité n'est pas traitée correctement et est masquée par une erreur de bus. Le routeur s'est écrasé en raison d'une erreur de bus logiciel dans la fonction qui gère une exception de parité du cache.

Vous devez considérer ce crash comme un crash d'erreur de parité de la mémoire du processeur et suivre les recommandations contenues dans les PMPE (Processor Memory Parity Errors).

Vous devriez également envisager de mettre à niveau la version du logiciel Cisco IOS vers une version qui contient un correctif pour CSCdv68388 - « Modifier le gestionnaire d'exceptions d'erreur de cache pour ne pas reprendre le crash » qui a été corrigé depuis la version 12.2(10) du logiciel Cisco IOS.

Techniques de dépannage pour les boucles de démarrage des exceptions d'erreur de bus

Cette section se concentre sur les techniques générales de dépannage des boucles de démarrage d'exception d'erreur de bus :

- Le logiciel Cisco IOS chargé ne prend pas en charge le matériel installé

- Panne logicielle

- Matériel Mis en place

- Panne matérielle

Le logiciel Cisco IOS chargé ne prend pas en charge le matériel installé

Vérifiez que toutes les cartes réseau sont prises en charge par le logiciel Cisco IOS. Le Software Advisor (clients enregistrés uniquement) vous donne les versions minimales du logiciel Cisco IOS nécessaires pour le matériel. Vérifiez également que l'image bootflash prend en charge le matériel installé si vous disposez d'un routeur prenant en charge une image de démarrage telle que le routeur Cisco 7200 ou Cisco 7500.

Panne logicielle

Sur les routeurs 2600 et 3600, la mémoire E/S du routeur est configurable en pourcentage de la mémoire principale. Si les paramètres de la mémoire E/S ne sont pas appropriés pour les modules de réseau ou les cartes d'interface WAN installés, la plate-forme 2600/3600 peut avoir des problèmes de démarrage et se heurter à des erreurs de bus.

Si une modification de configuration logicielle a été récemment apportée et que le routeur est dans une boucle de démarrage, un bogue logiciel peut être à l'origine de ce problème.

Si le routeur ne peut pas démarrer, vous pouvez contourner la configuration pour déterminer si cela cause le problème. Suivez ces étapes :

1. Passez en mode ROMMON en envoyant la séquence d’interruption au routeur au cours des 60 premières secondes de démarrage.

2. À partir du moniteur ROM, utilisez la commande confreg pour modifier le registre de configuration en un paramètre, tel que 0x2142, pour ignorer la configuration du routeur :

rommon 1 > confreg 0x2142

You must reset or power cycle for new config to take effect

rommon 2 > reset

Si le routeur démarre sans erreur, un problème de configuration est à l'origine du problème. Vérifiez que votre configuration est prise en charge dans le logiciel Cisco IOS et par le matériel. Si elle est prise en charge, utilisez le Bug Toolkit (clients enregistrés uniquement) pour identifier les bogues logiciels que vous pourriez rencontrer. Envisagez sérieusement d'installer la dernière version de maintenance de la plate-forme logicielle Cisco IOS que vous utilisez actuellement.

Matériel Mis en place

Si vous rencontrez une boucle de démarrage d'exception d'erreur de bus, elle peut être causée par un matériel mal installé. Pour les plates-formes de bas de gamme telles que les routeurs 3600 ou 4000, réinstallez les modules de réseau/processeurs de réseau.

Pour les plates-formes de pointe telles que les routeurs 7200 ou 7500, réinsérez le processeur, le VIP, les cartes de ports ou la carte de ligne qui se recharge en raison d'une exception d'erreur de bus.

Panne matérielle

Les informations contenues dans l'erreur de bus ne permettent pas d'isoler le matériel. Par conséquent, il est important de retirer et de réinsérer les cartes pour trouver le matériel défectueux. Voici quelques étapes recommandées pour isoler le problème :

**Si le routeur ne connaît pas la boucle continue après avoir suivi les étapes de dépannage ci-dessus, le problème peut être dû à un module réseau mal installé. Il est recommandé de surveiller le routeur pendant 24 heures pour s'assurer qu'il continue à fonctionner sans que le problème ne se reproduise.

Informations à recueillir si vous ouvrez une demande de service

Si vous avez toujours besoin d'assistance après avoir suivi les étapes de dépannage ci-dessus et que vous souhaitez ouvrir un dossier auprès de l'assistance technique Cisco, veillez à inclure les informations suivantes pour le dépannage d'une erreur de bus ou d'une exception d'erreur de bus :

- Dépannage exécuté avant d'ouvrir le cas

- show technical-support output (si possible, en mode enable)

- sortie show log ou captures de console si disponibles

- crashinfo fichier (si présent et non déjà inclus dans la sortie show technical-support)

- show region output (s'il n'est pas déjà inclus dans le résultat show technical-support)

Attachez les données rassemblées à votre dossier dans un format de texte brut (.txt) non compressé. Vous pouvez joindre des informations à votre dossier en les téléchargeant à l'aide du Case Query Tool (clients enregistrés uniquement). Si vous ne pouvez pas accéder à l'outil Requête de dossier, vous pouvez joindre les informations pertinentes à votre dossier en les envoyant à attach@cisco.com avec votre numéro de dossier dans la ligne d'objet de votre message.
Remarque : Ne redémarrez pas manuellement le routeur ou ne le mettez pas hors tension avant de collecter les informations ci-dessus, sauf si nécessaire pour résoudre une exception d'erreur de bus, car cela peut entraîner la perte d'informations importantes nécessaires pour déterminer la cause première du problème.

Informations connexes

- Résolution des problèmes de blocage de routeurs

- Dépannage des pannes de processeur d'interface polyvalente

- Dépannage en cas de blocage de carte de ligne sur le routeur Internet de la gamme Cisco 12000

- Cisco CLI Analyzer (clients enregistrés uniquement)

- Support technique - Cisco Systems