Dans le cadre de la documentation associée à ce produit, nous nous efforçons d’utiliser un langage exempt de préjugés. Dans cet ensemble de documents, le langage exempt de discrimination renvoie à une langue qui exclut la discrimination en fonction de l’âge, des handicaps, du genre, de l’appartenance raciale de l’identité ethnique, de l’orientation sexuelle, de la situation socio-économique et de l’intersectionnalité. Des exceptions peuvent s’appliquer dans les documents si le langage est codé en dur dans les interfaces utilisateurs du produit logiciel, si le langage utilisé est basé sur la documentation RFP ou si le langage utilisé provient d’un produit tiers référencé. Découvrez comment Cisco utilise le langage inclusif.
Cisco a traduit ce document en traduction automatisée vérifiée par une personne dans le cadre d’un service mondial permettant à nos utilisateurs d’obtenir le contenu d’assistance dans leur propre langue. Il convient cependant de noter que même la meilleure traduction automatisée ne sera pas aussi précise que celle fournie par un traducteur professionnel.
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.
Cisco recommande que vous lisiez Dépannage des pannes de routeur avant de poursuivre avec ce document.
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.
Pour plus d’informations sur les conventions utilisées dans ce document, reportez-vous aux Conventions relatives aux conseils techniques Cisco.
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 du résultat de la commande show version fourni par le routeur s'il n'est pas mis hors tension puis sous tension ou rechargé manuellement.
Si vous avez la sortie d'une commande show version ou show technical-support (à partir du mode enable) de votre périphérique Cisco, vous pouvez l'utiliser pour afficher les problèmes potentiels et les correctifs. Pour 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 s'affiche également 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 .........
Ensuite, le routeur se recharge. Dans certains cas, cependant, le routeur entre dans une boucle de pannes et de rechargements et une intervention manuelle est nécessaire pour sortir de cette boucle.
Un autre problème lié est une panne du processeur VIP (Versatile Interface Processor). Si ce problème se produit, des 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 d'erreur de bus est une panne de carte de ligne sur un routeur Internet de la gamme Cisco 12000. Si ce problème se produit, des messages d'erreur similaires à ceux-ci sont consignés dans le résultat de la commande 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
Consultez la section Dépannage des incidents de carte 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.
La première chose à faire est de savoir à quel emplacement de mémoire (également appelé « adresse » ou « opérande d'adresse ») le routeur a essayé d'accéder lorsque l'erreur de bus s'est produite. Ces informations vous indiquent si la panne provient du logiciel Cisco IOS ou du matériel du routeur. Dans l'exemple « System restarted by bus error at PC 0x30EE546, address 0xBB4C4 », l'emplacement 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 en fonction du type de processeur. Il existe deux principaux types de processeurs dans les routeurs Cisco :
68000 processeurs
Cela fait partie d'un résultat de 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 routeurs dotées de 68000 processeurs sont les suivantes :
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 (Reduced Instruction Set Computing)
Cela fait partie d'un résultat de 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 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 GRP (Gigabit Route Processor) 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é.
Lorsque le routeur accède à l'adresse lorsque l'erreur de bus s'est produite, utilisez la commande show region pour déterminer l'emplacement de mémoire auquel l'adresse correspond. Si l'adresse signalée par l'erreur de bus ne se trouve pas dans les plages affichées dans le résultat de la commande show region, cela signifie que le routeur a essayé d'accéder à une adresse qui n'est pas valide. Cela indique qu'il s'agit d'un problème du logiciel Cisco IOS. Utilisez l'analyseur CLI Cisco (pour les clients enregistrés uniquement) pour décoder le résultat de la commande show stacks et identifier le bogue du logiciel Cisco IOS qui provoque l'erreur de bus.
D'autre part, si l'adresse se trouve dans l'une des plages de la sortie de la commande show region, cela signifie que le routeur a accédé à une adresse mémoire valide, mais que le matériel correspondant à cette adresse ne répond pas correctement. Cela indique un problème matériel.
Voici un exemple de la sortie de la commande 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. Le résultat de show region fait partie du résultat de show tech-support du logiciel Cisco IOS Version 12.0(9).
Les adresses sont affichées au format hexadécimal. Les adresses comprises dans les plages « Start » et « End » 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, DRAM pour le Cisco 2500, SRAM (Shared RAM) pour le Cisco 4000.
Toujours en utilisant l'exemple précédent, System redémarré par erreur de bus au PC 0x30EE546, adresse 0xBB4C4, cette erreur de bus provient d'un routeur Cisco 2500 avec la sortie show region. L'adresse 0xBB4C4 équivaut à 0x000BB4C4. En utilisant la sortie show region, cette adresse se trouve dans la plage de "main", ou plus spécifiquement, "main : heap" ou 0x000666B4-0x007FEFFF. Comme mentionné précédemment, "main" correspond à la mémoire principale ou à la 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 se desserrent souvent. Il est conseillé de réinstaller les puces mémoire dans leur logement ou de les y pousser fermement. La plupart du temps, c'est suffisant pour résoudre ce type de crash.
Pour les pannes d'erreur de bus avec des adresses qui ne tombent pas dans les plages d'adresses de show region, utilisez l'analyseur CLI Cisco pour décoder le résultat de la commande show stacks et identifier le bogue du logiciel Cisco IOS qui est à l'origine de l'erreur de bus. Si vous n'êtes pas certain de l'ID de bogue qui peut correspondre ou de la version du logiciel Cisco IOS qui contient le correctif pour le problème, la mise à niveau de votre logiciel Cisco IOS vers la dernière version de votre train de versions est une option qui résout souvent le problème, car elle contient généralement le correctif pour un grand nombre de bogues.
Si vous avez la sortie d'une commande show stacks ou show technical-support (à partir du mode enable) 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.
Il est recommandé de lire la section Dépannage des pannes de bus sur les plates-formes de processeur 68000 avant de poursuivre cette section.
Sur les processeurs RISC, le logiciel Cisco IOS utilise des adresses virtuelles grâce à l'utilisation de la mémoire tampon 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.
Le résultat de la commande show region doit être utilisé 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 le résultat de la 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 Cisco (clients enregistrés uniquement) pour décoder le résultat de la commande show stacks ou de la commande show technical-support (à partir du mode enable) et identifier le bogue du logiciel Cisco IOS qui est à l'origine de l'erreur de bus.
Un autre avantage de l'utilisation 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 disposez de 64 Mo de DRAM (64 x 1024 x 1024 = 67108864 octets = 0x4000000 octets), la plage de DRAM est 0x60000000 - 0x63FFFFFF 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 à 0x65FFFFFF, la sortie de show region prend la quantité de mémoire en compte 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 Cisco CLI Analyzer (clients enregistrés uniquement) pour décoder le résultat de la commande show stacks ou de la commande show technical-support (à partir du mode enable) et identifier le bogue du logiciel Cisco IOS qui est à l'origine de l'erreur de bus.
Pensez sérieusement à installer la dernière version de maintenance de la catégorie de logiciels Cisco IOS que vous utilisez actuellement.
Un type spécial de blocage d'erreur de bus est lorsque le blocage est causé par un compteur de programme (PC) endommagé. La valeur PC est l'emplacement de l'instruction que le processeur exécutait lorsque l'erreur de bus s'est produite. Lorsqu'une erreur de bus provoquée par un PC endommagé se produit, le message suivant s'affiche sur la console :
%ALIGN-1-FATAL: Corrupted program counter pc=0x0, ra=0x601860BC, sp=0x60924540, at=0x60224854
Dans ce cas, le PC a sauté à 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, 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 sautez vers un PC illégal, et non une erreur de bus.
Un autre type de blocage d'erreur de bus qui se produit de temps en temps est lorsque la valeur PC est égale à la valeur d'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 est égal à 20 en décimal. Cela indique une exception de parité du cache. Dans ce cas particulier, l'erreur de parité n'est pas gérée correctement et est masquée par une erreur de bus. Le routeur est tombé en panne en raison d'une erreur de bus logiciel dans la fonction gérant une exception de parité du cache.
Vous devez considérer ce plantage comme un plantage d'erreur de parité de mémoire de processeur normal et suivre les recommandations données dans Erreurs de parité de mémoire de processeur (PMPE).
Vous devriez également envisager de mettre à niveau la version du logiciel Cisco IOS vers une version qui a un correctif pour CSCdv68388 - "Change cache error exception handler to resume not crash" qui a été corrigé depuis la version du logiciel Cisco IOS 12.2(10).
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é
Défaillance logicielle
Matériel mal installé
Défaillance matérielle
Vérifiez que toutes les cartes réseau sont prises en charge par le logiciel Cisco IOS. Software Advisor (réservé aux clients enregistrés) vous fournit 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, tel que le routeur de la gamme Cisco 7200 ou Cisco 7500.
Sur les routeurs 2600 et 3600, la mémoire E/S du routeur peut être configurée en pourcentage de la mémoire principale. Si les paramètres de mémoire d'E/S ne conviennent pas aux modules de réseau ou aux cartes d'interface WAN installés, la plate-forme 2600/3600 peut rencontrer des problèmes de démarrage et se bloquer en raison d'erreurs de bus.
Si une modification de la configuration logicielle a été effectuée récemment 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 ignorer la configuration pour déterminer si cela est à l'origine du problème. Suivez ces étapes :
Passez en mode ROMMON en envoyant la séquence d'interruption au routeur pendant les 60 premières secondes du démarrage.
À 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 par 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 tout bogue logiciel que vous pourriez rencontrer. Pensez sérieusement à installer la dernière version de maintenance de la catégorie de logiciels Cisco IOS que vous utilisez actuellement.
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 d'entrée de gamme telles que les routeurs 3600 ou 4000, réinstallez les modules de réseau/processeurs réseau.
Pour les plates-formes haut de gamme telles que les routeurs 7200 ou 7500, réinstallez le processeur, le processeur VIP, les cartes de ports ou la carte de ligne qui est en cours de rechargement en raison d'une exception d'erreur de bus.
Les informations contenues dans l'erreur de bus n'aident pas à isoler le matériel. Par conséquent, il est important de retirer et de réinsérer les cartes pour identifier le matériel défectueux. Voici quelques étapes recommandées pour identifier le problème :
**Si le routeur ne rencontre pas de boucle continue après avoir suivi les étapes de dépannage ci-dessus, le problème peut avoir été causé par un module réseau mal installé. Il est recommandé de surveiller le routeur pendant 24 heures afin de vous assurer qu'il continue à fonctionner sans que le problème ne se reproduise.
Si vous avez toujours besoin d'aide après avoir suivi les étapes de dépannage ci-dessus et que vous souhaitez ouvrir un dossier auprès du support technique de Cisco, veillez à inclure les informations suivantes pour dépanner une erreur de bus ou une exception d'erreur de bus : |
---|
Remarque : ne rechargez pas manuellement le routeur ou ne le mettez pas hors tension puis sous tension avant de collecter les informations ci-dessus, sauf si cela est nécessaire pour dépanner 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. |
Révision | Date de publication | Commentaires |
---|---|---|
1.0 |
09-Nov-2001 |
Première publication |