内容

概要

前提条件

要件

使用するコンポーネント

表記法

バスエラーによるクラッシュの識別

トラブルシューティング：バス エラー クラッシュ

トラブルシューティング：68000 プロセッサのプラットフォームでのバスエラーによるクラッシュ

RISC プロセッサ プラットフォームでのバスエラーによるクラッシュのトラブルシューティング

特殊なタイプのバスエラーによるクラッシュ

バス エラー例外によるブート時のループのトラブルシューティング方法

ロードされたCisco IOSソフトウェアがインストールされたハードウェアをサポートしない場合

ソフトウェア障害

ハードウェアの装着不良

ハードウェア障害

サービス リクエストをオープンする場合に収集する情報

関連情報

概要

この文書は、バスエラーによるクラッシュの識別方法と、Cisco ルータのプロセッサ タイプに応じたクラッシュのトラブルシューティング方法について説明しています。

前提条件

要件

シスコでは、「ルータのクラッシュのトラブルシューティング」を読んでから、このドキュメントを読み進むことを推奨します。

使用するコンポーネント

このドキュメントの情報は、次のソフトウェアとハードウェアのバージョンに基づいています。

- すべての Cisco IOS® ソフトウェア バージョン

- すべての Cisco ルータ

注：このドキュメントは、Cisco CatalystスイッチやMGXプラットフォームには適用されません。

このドキュメントの情報は、特定のラボ環境にあるデバイスに基づいて作成されました。このドキュメントで使用するすべてのデバイスは、初期（デフォルト）設定の状態から起動しています。対象のネットワークが実稼働中である場合には、どのようなコマンドについても、その潜在的な影響について確実に理解しておく必要があります。

表記法

ドキュメント表記の詳細については、『シスコ テクニカル ティップスの表記法』を参照してください。

バスエラーによるクラッシュの識別

プロセッサから、メモリ上に存在しない位置（ソフトウェアのエラー）または正しく応答できない位置（ハードウェアの問題）へのアクセスが行われると、バス エラーが発生します。ルータの電源のオフ/オンや、手動でのリロードを行っていない場合は、ルータの show version コマンドの出力からバス エラーを特定できます。

使用中のシスコ デバイスでの show version または show technical-support コマンドの出力データがあれば、それを使用して潜在的な問題と修正を表示できます。これを使用するには、登録ユーザとしてログインし、さらに JavaScript を有効にしている必要があります。

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

.........

バス エラーの際は、コンソールのプロンプトに、次のようなエラー メッセージが表示される場合があります。

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

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

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

.........

この後、ルータがリロードされます。ただし、場合によっては、ルータはクラッシュとリロードのループ状態となり、このループを抜け出すために手動の介入が必要となります。

関連するもう 1 つの問題は、インターフェイス プロセッサ（VIP）のクラッシュです。この問題が発生すると、次のようなエラー メッセージが記録されます。

%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

最後に、さらに別のバス エラー クラッシュのタイプは、Cisco 12000 シリーズ インターネット ルータでのラインカードのクラッシュです。この問題が発生すると、次のようなエラー メッセージが、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

詳細については、「トラブルシューティング：Cisco 12000 シリーズ インターネット ルータでのラインカードのクラッシュ」を参照してください。

ご使用のシスコデバイスのshow contextコマンドの出力がある場合は、Cisco CLI Analyzerを使用して潜在的な問題と修正を表示できます。Cisco CLI Analyzer を使用するには、登録ユーザとしてログインする必要があり、また、JavaScript を有効にする必要があります。

トラブルシューティング：バス エラー クラッシュ

最初に行うことは、バスエラーが発生したときにルータがアクセスしようとしていたメモリ位置（「アドレス」または「アドレス オペランド」とも呼ばれる）を特定することです。この情報に基づいて、Cisco IOS(R) ソフトウェアとルータ ハードウェアのどちらに問題があるのかを判断します。この例では、「System restarted by bus error at PC 0x30EE546, address 0xBB4C4」と記述されており、ルータがアクセスしようとしたメモリの場所は0xBB4C4です。上記のプログラムカウンタ(PC)の値と混同しないでください。

次に行うことは、ルータのプロセッサ タイプを確認することです。ルータのメモリ アドレスの「ルックアップ」は、プロセッサのタイプによって異なります。Cisco ルータの内部には、主に次の 2 種類のプロセッサがあります。

- 68000 プロセッサ

これは、ルータに 68000 プロセッサが搭載されていることを示す show version の出力の一部です。

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

68000 プロセッサを搭載しているルータ プラットフォームには、次のものがあります。

- Cisco 1000 シリーズ ルータ

- Cisco 1600 シリーズ ルータ

- Cisco 2500 シリーズ ルータ

- Cisco 4000 シリーズ ルータ

- Cisco 7000（RP）シリーズ ルータのルート プロセッサ（RP）モジュール

- Reduced Instruction Set Computing（RISC）プロセッサ

これは、ルータに RISC プロセッサが搭載されていることを示す show version の出力の一部です。

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

（R4700）の R が RISC プロセッサを示しています。

RISC プロセッサが搭載されているルータ プラットフォームには、次のものがあります。

- Cisco 3600 シリーズ ルータ

- Cisco 4500 シリーズ ルータ

- Cisco 4700 シリーズ ルータ

- Cisco 7500 シリーズおよび Cisco 7000（RSP7000）シリーズ ルータの Route Switch Processor（RSP; ルート スイッチ プロセッサ）モジュール

- Cisco 7200 シリーズ ルータの Network Processor Engine（NPE; ネットワーク プロセッサ エンジン）モジュール

- Cisco 7600 シリーズ ルータまたは Catalyst 6000 スイッチのマルチレイヤ スイッチ フィーチャ カード（MSFC）

- Cisco 10000 シリーズ インターネット ルータのパフォーマンス ルーティング エンジン（PRE）モジュール

- Cisco 12000 シリーズ ルータの Gigabit Route Processor（GRP; ギガビット ルート プロセッサ）モジュール

アドレスとプロセッサタイプを特定した後、より詳細なトラブルシューティングを開始します。

トラブルシューティング：68000 プロセッサのプラットフォームでのバスエラーによるクラッシュ

バス エラーが発生したときにルータがアクセスしたアドレスを使用して、show region コマンドを実行し、そのアドレスに対応するメモリ上の位置を特定します。バス エラーによって報告されたアドレスが、show region の出力に表示される範囲内でない場合は、ルータが無効なアドレスにアクセスを試みたことを意味しています。これは、Cisco IOS ソフトウェアに問題があることを示します。Cisco CLI Analyzer(登録ユーザ専用)を使用してshow stacksコマンドの出力をデコードし、バスエラーの原因であるCisco IOSソフトウェアのバグを特定します。

一方、バス エラーで報告されたアドレスが show region の出力で表示される範囲のいずれかに含まれる場合は、ルータが有効なメモリ アドレスにアクセスしようとしたものの、そのアドレスに対応するハードウェアが適切に応答しないことを意味しています。これは、ハードウェアに問題があることを示します。

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

注：以前のCisco IOSソフトウェアバージョンでは、このコマンドは使用できません。show region の出力は、Cisco IOS ソフトウェア バージョン 12.0(9)以降の show tech-support の出力に含まれています。

アドレスは 16 進形式で表示されます。上記の「Start」と「End」の範囲内にあるアドレスが有効なメモリ アドレスです。

main は、メイン メモリまたは DRAM に対応します。

iomem は、入出力（I/O）メモリに対応します。I/O メモリは、プラットフォームによって異なる部品を指します。たとえば、Cisco 2500 では DRAM、Cisco 4000 では共有 RAM（SRAM）です。

前述の「System restarted by bus error at PC 0x30EE546, address 0xBB4C4」を引き続き、例として使用します。このバス エラーによるクラッシュは、上記の show region の出力を示した Cisco 2500 ルータで生じています。アドレス0xBB4C4は、0x000BB4C4と同等です。show regionの出力を使用し、このアドレスは「main」の範囲内に入ります。具体的には、「main:heap」または0x00666B4-0x007FEFFF0。前述したように、「main」はメイン メモリまたは DRAM に対応するため、DRAM チップをチェックする必要があります。

これが新しいルータの場合、またはある場所から別の場所へルータを移動した場合は、かなり高い確率でメモリ チップが外れています。この場合は、メモリ チップをスロットに再装着するか、またはしっかりと押し込んでください。この種のクラッシュでは、ほとんどの場合、この方法で解決します。

show regionのアドレス範囲内にないアドレスでバスエラークラッシュが発生する場合は、Cisco CLI Analyzerを使用してshow stacksコマンドの出力をデコードし、バスエラーの原因であるCisco IOSソフトウェアのバグを特定します。一致するバグ ID、または問題の修正を含む Cisco IOS ソフトウェア バージョンが不明な場合は、Cisco IOS ソフトウェアをリリース群の最新バージョンにアップグレードするという選択肢もあります。最新バージョンには通常、数多くのバグの修正が含まれているため、多くの場合これで問題が解決します。

ご使用のシスコデバイスのshow stacksまたはshow technical-support（イネーブルモードから）コマンドの出力データがあれば、Cisco CLI Analyzerを使用して潜在的な問題と修正を表示できます。Cisco CLI Analyzer を使用するには、登録ユーザとしてログインする必要があり、また、JavaScript を有効にする必要があります。

RISC プロセッサ プラットフォームでのバスエラーによるクラッシュのトラブルシューティング

「68000 プロセッサ プラットフォームでのバスエラーによるクラッシュのトラブルシューティング」のセクションを読んでから、このセクションを読むことをお勧めします。

RISC プロセッサでは、Cisco IOS ソフトウェアは、仮想アドレスを物理アドレスに変換する Translation Lookaside Buffer（TLB; 変換索引バッファ）を介して仮想アドレスを使用します。したがって、RISC プロセッサでのバスエラーによってレポートされたアドレスは、68000 プロセッサで使用される物理ア ドレスではなく、仮想アドレスです。

バス エラーから通知されるアドレスは、show region コマンドの出力を使用してチェックする必要があります。説明のために、次の例を使用します。

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

下の show region コマンドの出力を見ると、0xC は有効な仮想アドレスではないため、バス エラーの原因はソフトウェアの問題であったことが分かります。Cisco CLI Analyzer(登録ユーザ専用)を使用して、show stacksまたはshow technical-support（イネーブルモードから）コマンドの出力をデコードし、バスエラーの原因であるCisco IOSソフトウェアのバグを特定します。

show region コマンドを使用するもう 1 つの利点は、メモリ マッピングでは、ルータに搭載されているメモリの量によってマッピングが異なる点です。たとえば、 64MB の DRAM を搭載している場合（64×1024×1024 = 67108864 バイト = 0x4000000 バイト）、DRAM の範囲は 0x60000000～0x63FFFFFF になります。こ れは、次のように 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)

0x65FFFFFF でバス エラーが発生している場合、show region の出力ではメモリの量が考慮されており、これが不正なアドレス（ソフトウェアの不具合）であることを示しています。

ここまでの内容をまとめます。

- show region コマンドを使用して、バス エラーによって表示されたアドレスが、ルータで使用されているアドレス範囲内にあるかどうかを確認します。

- アドレスが仮想アドレス範囲内の場合は、この範囲に対応するハードウェアを交換します。

- アドレスが仮想アドレス範囲に収まらない場合は、Cisco CLI Analyzer(登録ユーザ専用)を使用してshow stacksまたはshow technical-support（イネーブルモードから）コマンドの出力をデコードし、バスエラーの原因であるCisco IOSソフトウェアバグををを特定します。

- 現在実行している Cisco IOS ソフトウェア トレインの最新のメンテナンス リリースをインストールすることを本格的に検討してください。

特殊なタイプのバスエラーによるクラッシュ

特殊なタイプのバスエラーによるクラッシュとは、破損したプログラム カウンタ（PC）が原因でク ラッシュが発生する場合を指します。 PC 値とは、バスエラーの発生時にプロセッサが実行していた命令の位置です。破損した PCが原因でバスエラーが発生すると、コンソールに次のメッセージが表示され ます。

%ALIGN-1-FATAL: Corrupted program counter

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

この例では、PC はアドレス 0x0 にジャンプしたものの（おそらく原因はヌル ポインタ）、0x0 は命令が格納されている場所ではありませんでした。これは、ソフトウェアの問題であるため、show region コマンドでチェックする必要はありません。

RISC プラットフォーム（Cisco 3600 や 4500 など）では、不正な PC にジャンプすると、バスエラーではなく SegV エクセプションが発生します。

発生することのあるバス エラー クラッシュのもう 1 つのタイプは、PC の値がアドレスの値と等しい場合のエラーです。次に例を示します。

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

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

k1 レジスタの値が、10 進数の 20 に相当する 0x14（16 進数）であることに注意してください。これはキャッシュ パリティ例外をポイントしています。このような場合は、パリティ エラーが正しく処理されておらず、バス エラーによって隠されています。ルータは、キャッシュ パリティ例外を処理する関数で発生したソフトウェアのバス エラーによってクラッシュしています。

このクラッシュは、通常のプロセッサのメモリ パリティ エラーによるクラッシュと考える必要があり、「プロセッサ メモリ パリティ エラー（PMPE）」で説明されている推奨事項に従います。

また、Cisco IOS ソフトウェア リリースを CSCdv68388 - 「キャッシュ エラー例外のハンドラをクラッシュから再開に変更」のフィックスを含むバージョンにアップグレードすることを考える必要もあります。これは、Cisco IOS ソフトウェア リリース 12.2(10) 以降でフィックスされています。

バス エラー例外によるブート時のループのトラブルシューティング方法

このセクションでは、バス エラー例外によってブート時に発生するループについて、次のような一般的なトラブルシューティング方法を説明します。

- ロードされたCisco IOSソフトウェアがインストールされたハードウェアをサポートしない場合

- ソフトウェア障害

- ハードウェアの装着不良

- ハードウェア障害

ロードされたCisco IOSソフトウェアがインストールされたハードウェアをサポートしない場合

すべてのネットワーク カードが、使用している Cisco IOS ソフトウェアでサポートされていることを確認します。Software Advisor（登録ユーザのみ）を使用すると、ハードウェアに必要な Cisco IOS ソフトウェアの最低限のバージョンが分かります。また、Cisco 7200 または Cisco 7500 ルータなどのブート イメージをサポートしているルータを使用している場合は、装着されているハードウェアがブートフラッシュ イメージでサポートされていることを確認します。

ソフトウェア障害

2600 および 3600 ルータでは、ルータの I/O メモリ容量をメイン メモリのパーセンテージで設定できます。I/O メモリの設定が、インストール済みのネットワーク モジュールまたは WAN インターフェイス カード（WIC）に不適切である場合は、2600/3600 のプラットフォームが正常にブートされず、バス エラーでクラッシュすることがあります。

ソフトウェア設定が最近変更され、ルータでブート ループが発生している場合は、この問題により、ソフトウェアの不具合が発生する可能性があります。

ルータがブートできない場合は、設定をバイパスし、それが問題の原因であるかどうかを確認できます。手順は以下のとおりです。

1. ブートの最初の 60 秒間に、ルータにブレーク シーケンスを送信して、ROMMON 状態にします。

2. ROM モニタから confreg コマンドを使用して、コンフィギュレーション レジスタを、0x2142 などの設定に変更し、ルータの設定が無視されるようにします。

rommon 1 > confreg 0x2142

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

rommon 2 > reset

ルータがエラーなしでブートした場合は、問題の原因となる不適切な設定があります。設定内容が、使用している Cisco IOS ソフトウェアおよびハードウェアでサポートされているものであることを確認します。サポートされている場合は、Bug Toolkit（登録ユーザ専用）を使用して、発生している可能性のあるソフトウェアの不具合を特定してください。現在実行している Cisco IOS ソフトウェア トレインの最新のメンテナンス リリースをインストールすることを本格的に検討してください。

ハードウェアの装着不良

バス エラー例外のブート ループが発生している場合は、ハードウェアの装着不良が原因である可能性があります。3600 または 4000 ルータなどのローエンド プラットフォームの場合は、ネットワーク モジュールやネットワーク プロセッサを取り付け直してください。

7200 または 7500 ルータなどのハイエンド プラットフォームの場合は、バス エラー例外によりリロードされているプロセッサ、VIP、ポート アダプタ、またはラインカードを取り付け直します。

ハードウェア障害

バス エラーで示される情報では、問題のあるハードウェアを切り分けることはできません。したがって、問題のあるハードウェアを見つけるには、カード類を取り外し、再度装着する必要があります。問題を特定するための推奨手順を、次に示します。

** 上記のトラブルシューティング手順を実行した後に、連続ループが発生しなくなった場合は、ネットワーク モジュールの装着不良が原因であった可能性があります。ルータを 24 時間監視し、問題が再度発生することなくルータが稼働し続けることを確認してください。

サービス リクエストをオープンする場合に収集する情報

ここまで説明したトラブルシューティングの手順を実行しても、なおサポートが必要で、Cisco テクニカルサポートでサービス リクエストをオープンする場合は、バス エラーまたはバス エラー例外のトラブルシューティングに必要な次の情報をご提供ください。

- サービス リクエストをオープンする前に実行したトラブルシューティング

- show technical-support の出力（可能な場合はイネーブル モードの）

- show log の出力、またはコンソールのキャプチャ（可能な場合）

- crashinfo ファイル（ファイルがあり、show technical-support の出力に含まれていない場合）

- show region の出力（show technical-support の出力に含まれていない場合）

収集したデータは、圧縮しないプレーン テキスト形式（.txt）でサービス リクエストに添付してください。 情報をサービス リクエストに添付するには、TAC Service Request Tool（登録ユーザ専用）を使用してアップロードします。 TAC Service Request Tool にアクセスできない場合は、メッセージの件名の行にお客様のリクエスト番号を記入し、attach@cisco.com にメッセージを送信することによって、リクエストに関連情報を添付できます。
注：バスエラー例外のトラブルシューティングが必要な場合を除き、ルータを手動でリロードまたは電源のオフ/オンを行ってから、問題の根本原因の特定に必要な重要な情報が失われる可能性があります。

関連情報

- トラブルシューティング：ルータのクラッシュ

- トラブルシューティング：Versatile Interface Processor（VIP）のクラッシュ

- Cisco 12000 シリーズ インターネットルータでのラインカード クラッシュのトラブルシューティング

- Cisco CLIアナライザ(登録ユーザ専用)

- テクニカルサポート - Cisco Systems