バグ チェック 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) を探して、問題の切り分けを試みる必要があります。