バグ チェック 0xF2: HARDWARE_INTERRUPT_STORM
HARDWARE_INTERRUPT_STORM バグ チェックの値は、0x000000F2 です。 これは、カーネルが割り込みストームを検出したことを示します。
重要
この記事は、プログラマー向けです。 コンピューターを使用中に、ブルー スクリーン エラーが表示された場合は、「ブルー スクリーン エラーのトラブルシューティング」を参照してください。
HARDWARE_INTERRUPT_STORM パラメーター
パラメーター | 説明 |
---|---|
1 | ストーミング割り込みベクトルに接続されている ISR (またはチェーン内の最初の ISR) のアドレス |
2 | ISR コンテキスト値 |
3 | ストーミング割り込みベクトルの割り込みオブジェクトのアドレス |
4 | ISR がチェーンされていない場合は 0x1、ISR がチェーンされている場合は 0x2 |
原因
このバグチェックは、カーネルが割り込みストームを検出したことを示します。 割り込みストームとは、レベルでトリガーされた割り込み信号がアサートされた状態に留まることとして定義されます。 これは、システムにとって致命的で、システムがハード ハングする、つまり "バス ロック" することになります。
これが発生する理由としては次のことが考えられます。
- ハードウェアの一部が、デバイス ドライバーから割り込み信号を解除するように指示された後も、解除しない。
- デバイス ドライバーが、割り込みがハードウェアから開始されたとは考えず、割り込み信号を解除するようハードウェアに指示しない。
- 割り込みがハードウェアから開始されなかった場合でも、デバイス ドライバーが割り込みを要求する。 これは、複数のデバイスが同じ IRQ を共有している場合にのみ発生します。
- ELCR (エッジ レベル制御レジスタ) が正しく設定されていない。
- エッジおよびレベル割り込みによってトリガーされるデバイスが IRQ を共有している。
これらのケースはすべて、システムを即座にハード ハングさせます。 多くの場合、システムをハード ハングさせるのではなく、原因を特定できるため、このバグチェックが起動されます。
バグチェックが発生すると、ストーミング IRQ の ISR (割り込みサービス ルーチン) を含むモジュールが画面に表示されます。 次に示すのはその一例です。
*** STOP: 0x000000F2 (0xFCA7C55C, 0x817B9B28, 0x817D2AA0, 0x00000002)
An interrupt storm has caused the system to hang.
*** Address FCA7C55C base at FCA72000, Datestamp 3A72BDEF - ACPI.sys
4 番目のパラメーターが 0x00000001 の場合、指摘されたモジュールが原因である可能性が非常に高くなります。 ドライバーが壊れているか、ハードウェアが正常に動作していないかのどちらかです。
4 番目のパラメーターが 0x00000002 の場合、指摘されたモジュールはチェーン内の最初の ISR であり、確実に原因であるとは限りません。
解決方法
このバグチェックが繰り返し発生するユーザーは、そのモジュールがドライバーとなっているデバイスと同じ IRQ 上にあるデバイス (この場合、ACPI が使用しているのと同じ IRQ) を探して、問題の切り分けを試みる必要があります。