Что означает код BSOD 1 (APC_INDEX_MISMATCH)?

 
Также может означать:
КонстантаТипОС
ERROR_INVALID_FUNCTIONОшибка WindowsWindows
STATUS_WAIT_1NTSTATUSWindows
kOSReturnErrorКод возврата ядра macOSmacOS
KERN_INVALID_ADDRESSКод возврата ядра macOSmacOS
ippStsNoOperationСтатус Intel IPPЛюбая
S_FALSEHRESULTWindows
WDSCP_CATEGORYHRESULTWindows
WDSMCSERVER_CATEGORYHRESULTWindows
WDSTPTMGMT_CATEGORYHRESULTWindows
EPERMerrnoЛюбая
Предыдущий Следующий
DEVICE_QUEUE_NOT_BUSY

APC_INDEX_MISMATCH

Важно

Параметры APC_INDEX_MISMATCH

Параметр Описание

1

Адрес системной функции, системного вызова или worker routine.

2

Значение поля текущего потока ApcStateIndex .

3

Значение поля текущего потока CombinedApcDisable . Поле состоит из двух отдельных 16-битных полей: (Поток >SpecialApcDisable << 16) | Поток >KernelApcDisable.

4

Тип вызова:

  • 0 — системный вызов
  • 1 — worker routine

Причина APC_INDEX_MISMATCH

Наиболее частая причина — несогласованная последовательность вызовов file system или driver для отключения и повторного включения APC. Ключевое поле — Поток >CombinedApcDisable . Поле CombinedApcDisable состоит из двух отдельных 16-битных полей: SpecialApcDisable и KernelApcDisable. Отрицательное значение одного из них означает, что driver отключил специальные или обычные APC соответственно и не включил их обратно. Положительное значение означает слишком большое число включений.

Устранение APC_INDEX_MISMATCH

Отладка APC_INDEX_MISMATCH с WinDbg

Для APC_INDEX_MISMATCH расширение The !analyze выводит сведения о bug check и помогает установить первопричину.

Можно использовать расширение !apc для просмотра содержимого одного или нескольких asynchronous procedure calls (APC).

Для APC_INDEX_MISMATCH также можно поставить breakpoint в коде перед stop code и пошагово пройти к отказавшей инструкции.

Дополнительные сведения об использовании WinDbg см. в разделе Анализ crash dump с помощью отладчиков Windows (WinDbg).

Диагностика APC_INDEX_MISMATCH без WinDbg

Если Windows debugger недоступен, для APC_INDEX_MISMATCH можно применить базовые методы диагностики.

  • Проверьте System Log в Event Viewer на дополнительные ошибки, способные указать устройство или driver, вызвавший bug check.

  • Если driver указан в сообщении bug check, отключите его либо проверьте обновления у производителя.

Дополнительные общие сведения по диагностике см. в разделе Blue screen data.

Примечания для APC_INDEX_MISMATCH

Этот bug check является следствием внутренней ошибки ядра при выходе из системного вызова. Возможная причина — file system или driver с несогласованной последовательностью входа и выхода из guarded или critical regions. Например, каждому вызову KeEnterCriticalRegion должен соответствовать вызов KeLeaveCriticalRegion.

При разработке driver используйте Static Driver Verifier из Windows Driver Kit для обнаружения проблем до выпуска. Запустите его с правилом CriticalRegions, чтобы проверить правильную последовательность этих системных вызовов.


Нужно найти другой код? Найти другой код состояния или ошибки.