버그 검사 0xF2: HARDWARE_INTERRUPT_STORM

HARDWARE_INTERRUPT_STORM 버그 검사 값은 0x000000F2. 이는 커널이 인터럽트 폭풍을 감지했음을 나타냅니다.

중요

이 문서는 프로그래머용입니다. 컴퓨터를 사용하는 동안 파란색 화면 오류 코드를 받은 고객인 경우 블루 스크린 오류 문제 해결을 참조하세요.

HARDWARE_INTERRUPT_STORM 매개 변수

매개 변수 Description
1 폭풍 인터럽트 벡터에 연결된 ISR(또는 체인의 첫 번째 ISR)의 주소
2 ISR 컨텍스트 값
3 Storming 인터럽트 벡터에 대한 인터럽트 개체의 주소
4 ISR이 연결되지 않은 경우 0x1 ISR이 연결되어 있는지 0x2.

원인

이 버그 검사는 커널이 인터럽트 폭풍을 감지했음을 나타냅니다. 인터럽트 폭풍은 어설션된 상태로 유지되는 수준 트리거 인터럽트 신호로 정의됩니다. 이는 시스템이 정지하는 방식 또는 "버스 잠금"을 중단하는 방식으로 시스템에 치명적입니다.

이 문제는 다음과 같은 이유로 발생할 수 있습니다.

  • 하드웨어는 디바이스 드라이버에 의해 그렇게 하라는 지시를 받은 후 인터럽트 신호를 해제하지 않습니다.
  • 디바이스 드라이버는 하드웨어에서 인터럽트 시작되었다고 생각하지 않으므로 하드웨어에 인터럽트 신호를 해제하도록 지시하지 않습니다.
  • 디바이스 드라이버가 하드웨어에서 인터럽트 시작되지 않았더라도 인터럽트 클레임 이는 여러 디바이스가 동일한 IRQ를 공유하는 경우에만 발생할 수 있습니다.
  • ELCR(에지 수준 컨트롤 레지스터)이 잘못 설정되었습니다.
  • Edge 및 Level 인터럽트 트리거 디바이스는 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

네 번째 매개 변수가 0x00000001 경우 가리키는 모듈이 원인일 가능성이 큽니다. 드라이버가 고장나거나 하드웨어가 오작동합니다.

네 번째 매개 변수가 0x00000002 경우 가리키는 모듈은 체인의 첫 번째 ISR이며 범인이 되도록 보장되지 않습니다.

해결 방법

이 버그 검사를 반복적으로 경험하는 사용자는 모듈이 드라이버인 것과 동일한 IRQ에 있는 디바이스를 찾아 문제를 격리해야 합니다(이 경우 ACPI에서 사용하는 것과 동일한 IRQ).