Contenu

Introduction

Conditions préalables

Conditions requises

Components Used

Conventions

Accès Spurieux

Motif

Gestion du logiciel Cisco IOS

Vérification des erreurs d'accès indésirables

Correction des erreurs d'accès indésirables

Erreurs d'alignement

Motif

Vérification des erreurs d'alignement

Correction des erreurs d'alignement

Interruptions Spurieuses

Informations à collecter si vous créez une demande de service TAC

Informations connexes

Introduction

Le but de ce document est de décrire trois types d’erreurs - des accès erratiques, des erreurs de cadrage, et de fausses interruptions - qui peuvent être produites sur des périphériques exécutant le logiciel de Cisco IOSMD.

Si vous disposez de la sortie d'une commande show alignment 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.

Conditions préalables

Conditions requises

Aucune spécification déterminée n'est requise pour ce document.

Components Used

La commande n'est pas prise en charge sur toutes les plates-formes (uniquement dans les processeurs RISC [Low Instructions Set Computing]).

La commande show alignment a été introduite dans la version 12.3(7)T, et elle a été masquée dans les versions antérieures.

Conventions

Pour plus d'informations sur les conventions des documents, référez-vous aux Conventions utilisées pour les conseils techniques de Cisco.

Accès Spurieux

L’accès sécurisé est une tentative du logiciel Cisco IOS d’accéder à la mémoire dans un emplacement restreint. Voici un exemple de sortie de journal système pour un accès erroné :

%ALIGN-3-SPURIOUS: Spurious memory access made at 0x60968C44 reading 0x0

%ALIGN-3-TRACE: -Traceback= 60968C44 60269808 602389D8 00000000 00000000 00000000

00000000 00000000

Motif

Un accès erroné se produit lorsqu'un processus tente de lire à partir de la région de mémoire de 16 Ko la plus basse. Cette partie de la mémoire est réservée et ne doit jamais être consultée. Une opération de lecture dans cette région de mémoire est généralement provoquée lorsqu'une valeur non existante est retournée à une fonction dans le logiciel, ou en d'autres termes, lorsqu'un pointeur nul est passé à une fonction.

Gestion du logiciel Cisco IOS

En fonction de la plate-forme, le logiciel Cisco IOS gère les accès erronés différemment. Sur les plates-formes où cela est possible, le code du logiciel Cisco IOS gère ces accès non valides en retournant une valeur de zéro et en enregistrant l'événement. Si cela n'est pas pris en charge sur la plate-forme, le routeur se bloquera avec une erreur SegV. Comme tout accès fallacieux est inapproprié, les accès fallacieux pointent toujours vers un bogue.

Vérification des erreurs d'accès indésirables

Les accès sécurisés sont comptés et enregistrés, si possible, par le logiciel Cisco IOS. Ces informations sont disponibles avec la commande show alignment. Les informations de retraçage sont nécessaires pour déterminer la cause et la correction des accès fallacieux.

Remarque : La commande show alignment est masquée et non documentée. La commande n'est pas non plus prise en charge sur toutes les plates-formes (seulement les processeurs RISC [Réduction Instruction Set Computing]). Un exemple de sortie de la commande show alignment est fourni ci-dessous :

Router#show alignment

Alignment data for:

GS Software (RSP-PV-M), Version 11.1(26.1)CC, EARLY DEPLOYMENT MAINTENANCE INTER

IM SOFTWARE

Compiled Thu 27-May-99 20:48 by jjgreen

No alignment data has been recorded.

Total Spurious Accesses 167110746, Recorded 2

Address  Count  Traceback

0  10474  0x6012D488  0x6020FFB4 0x601D5CE0

0  49008  0x6012D488  0x6020D25C 0x6020E744 0x602106B4

Router#

Correction des erreurs d'accès indésirables

Les erreurs d'accès graves sont toujours causées par un bogue du logiciel Cisco IOS. Pour corriger cela, mettez à niveau vers la dernière version de votre série de versions (par exemple, si vous exécutez le logiciel Cisco IOS Version 11.2(14), mettez à niveau vers la dernière image 11.2(x). Si cela ne résout pas le problème ou s'il n'est pas possible de mettre à niveau le routeur, contactez le TAC Cisco. Lors de l'ouverture d'un dossier pour signaler des accès erronés, veuillez inclure les éléments suivants :

- sortie de la commande show alignment

- sortie de la commande show tech-support

- journaux système pertinents

Erreurs d'alignement

Voici un exemple de sortie du journal système pour une erreur d'alignement :

%ALIGN-3-CORRECT: Alignment correction made at 0x60262478 reading/writing 0x60A9FF5C

Motif

Des erreurs d'alignement sont entraînées par un mauvais alignement de lecture et écriture. Par exemple, une lecture sur deux octets où l'adresse mémoire n'est pas un multiple pair de deux octets est une erreur d'alignement. Les erreurs d'alignement sont causées par un bogue logiciel.

Vérification des erreurs d'alignement

Les erreurs d’alignement sont signalées dans le journal et enregistrées par le routeur. La sortie de la commande show alignment fournit un enregistrement de ces erreurs ainsi que des tracés potentiellement utiles. Les retraits des erreurs d'alignement peuvent généralement être décodés pour révéler la fonction qui cause des problèmes d'alignement.

Remarque : La commande show alignment est masquée et non documentée. La commande n'est pas prise en charge sur toutes les plates-formes (seuls les routeurs haut de gamme la prennent en charge). Un exemple de sortie de la commande show alignment est fourni ci-dessous :

Router#show alignment

Alignment data for:

RSP Software (RSP-ISV-M), Version 11.3(3a), RELEASE SOFTWARE (fc1)

Compiled Fri 01-May-98 18:28 by phanguye

Total Corrections 6, Recorded 2, Reads 6, Writes 0

Initial Initial

Address    Count  Access  Type  Traceback

60EF3765   3      32bit   read  0x60262474 0x601AC594 0x601AC580

60EF3761   3      32bit   read  0x60262478 0x601AC594 0x601AC580

No spurious memory references have been recorded.

Router#

Correction des erreurs d'alignement

Les erreurs d'alignement peuvent généralement être corrigées par le logiciel et, dans l'affirmative, ne provoqueront pas de panne. Toutefois, la correction des erreurs d'alignement consomme des ressources processeur et peut entraîner une baisse des performances. En cas d'erreurs d'alignement continues, le routeur peut passer la majeure partie de son temps à les corriger, augmentant ainsi l'utilisation du processeur. Ces erreurs sont corrigées lors de l'interruption.

Interruptions Spurieuses

Les interruptions spurieuses ne sont pas les mêmes que les accès à la mémoire fallacieux.

Une interruption fallacieuse se produit lorsqu'une interruption inutile est déclenchée pour un paquet déjà traité, peut-être en raison d'une condition de course interne ou d'une initialisation incorrecte des routines de gestion des interruptions. Il n’y a aucun impact visible sur le comportement du routeur en raison d’interruptions fallacieuses. Ils peuvent être ignorés en toute sécurité tant qu'il n'y a pas un nombre élevé et croissant d'interruptions fallacieuses, ainsi que certains paquets abandonnés ou des performances dégradées. Sinon, la cause première doit être étudiée.

La commande show align fournit des informations sur les accès à la mémoire erronés, mais pas sur les interruptions fallacieuses. Les seules informations sur les interruptions fallacieuses qui peuvent être obtenues du système sont dans la sortie show stacks, où il existe un compteur qui compte le nombre d'interruptions survenues.

Router#show stacks

Minimum process stacks:

Free/Size   Name

3692/4000   DHCPD Receive

4796/6000   Router Init

1904/4000   Init

3408/4000   RADIUS INITCONFIG

4228/5000   DHCP Client

2468/4000   Exec

Interrupt level stacks:

Level    Called Unused/Size  Name

3           0   3000/3000  Serial interface state change interrupt

4    54351439   1760/3000  Network interfaces

5       64181   2872/3000  Console Uart

Spurious interrupts: 29

Les interruptions peuvent être causées soit par un matériel défectueux, soit par un logiciel. La plupart du temps, cela n'a aucun effet secondaire sur le comportement attendu du routeur ou du commutateur. Ils ne sont comptabilisés qu'à des fins de surveillance.

Quelques interruptions fallacieuses n'entraînent pas une utilisation importante du processeur. Si c'est le seul symptôme qui se produit sur un routeur ou un commutateur et que tout le reste fonctionne comme prévu (aucun paquet ne tombe, etc.), les interruptions fallacieuses peuvent être ignorées.

Les routeurs Cisco basés sur le processeur 68k (c'est-à-dire les routeurs Cisco 1000, 1600, 2500, 4000 et 7000 (RP)) peuvent être configurés pour générer un code de remplacement si un certain seuil d'interruptions erronées est atteint.

Router(config)#exception ?

core-file           Set name of core dump file

crashinfo           Crashinfo collection

dump                Set name of host to dump to

flash               Set the device and erase permission

memory              Memory leak debugging

protocol            Set protocol for sending core file

region-size         Size of region for exception-time memory pool

spurious-interrupt  Crash after a given number of spurious interrupts

Router(config)#exception spurious-interrupt ?

<1-4294967295>  Spurious interrupt threshold

Pour plus d'informations sur la génération de coredump, consultez Création de dumps principaux. Ces informations peuvent être demandées par notre Centre d'assistance technique en cas de dégradation des performances due à des interruptions frauduleuses. Si tel est le cas, il devrait y avoir un nombre élevé et croissant d'interruptions fallacieuses, ainsi que des pertes de paquets ou des performances dégradées.

Informations à collecter si vous créez une demande de service TAC

Si vous avez encore besoin d'assistance après avoir suivi les étapes de dépannage ci-dessus et que vous souhaitez créer une demande de service (clients enregistrés uniquement) avec le TAC Cisco, veillez à joindre les informations suivantes à votre dossier pour dépanner des accès erronés, des erreurs d'alignement et des interruptions erronées :

- Dépannage effectué avant la création de la demande de service

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

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

- sortie show log ou captures de console si disponibles

Veuillez joindre les données rassemblées à votre demande de service en format non compressé et texte clair (.txt). Vous pouvez joindre des informations à votre demande de service en les téléchargeant à l'aide de l'outil TAC Service Request (clients enregistrés uniquement). Si vous ne pouvez pas accéder à l'Outil de demande de service, vous pouvez joindre les informations pertinentes à votre demande de service en l'envoyant à attach@cisco.com avec votre numéro de demande de service 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 les problèmes d'accès erronés, d'erreurs d'alignement et d'interruptions erronées, car cela peut entraîner la perte d'informations importantes nécessaires pour déterminer la cause première du problème.

Informations connexes

- Dépannage de l'utilisation élevée du CPU sur les routeurs Cisco

- Support technique - Cisco Systems