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  | 
                                                                    
                                    
Commentaires