Что означает код BSOD 0x11 (THREAD_NOT_MUTEX_OWNER)?

 
Также может означать:
КонстантаТипОС
ERROR_NOT_SAME_DEVICEОшибка WindowsWindows
KERN_INVALID_RIGHTКод возврата ядра macOSmacOS
ippStsUnderflowСтатус Intel IPPЛюбая
EEXISTerrnoЛюбая
Предыдущий Следующий
SPIN_LOCK_NOT_OWNED TRAP_CAUSE_UNKNOWN

THREAD_NOT_MUTEX_OWNER

Нарушение владения мьютексом при THREAD_NOT_MUTEX_OWNER

THREAD_NOT_MUTEX_OWNER — это код проверки ошибки 0x00000011. Мьютексы ядра являются объектами синхронизации, принадлежащими конкретному потоку.

Эта проверка означает, что учёт владельца больше не соответствует пути освобождения или ожидания. Обычно драйвер использовал неверный объект, неверный контекст потока либо ошибочный путь раскрутки стека.

Как интерпретировать дамп

Определите поток в дампе и сопоставьте его с владельцем мьютекса.

  • Проверьте пути APC, рабочих потоков, завершения операций и очистки, которые выполняются не в том потоке, где объект был захвачен.
  • Этот сбой отличается от неправильного использования спин-блокировки, поскольку владение мьютексом связано с потоком.

Что проверить

  • Убедитесь, что освобождение блокировки выполняется в рамках той же модели владения, которая использовалась при её захвате.
  • Проверьте передачу работы между системными потоками, рабочими элементами, функциями обратного вызова и процедурами отмены.
  • При воспроизводимых нарушениях владения и порядка блокировок используйте Driver Verifier с проверкой взаимоблокировок.

Ссылки


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