| Предыдущий | Следующий |
| SPIN_LOCK_NOT_OWNED | TRAP_CAUSE_UNKNOWN |
THREAD_NOT_MUTEX_OWNER
Нарушение владения мьютексом при THREAD_NOT_MUTEX_OWNER
THREAD_NOT_MUTEX_OWNER — это код проверки ошибки 0x00000011. Мьютексы ядра являются объектами синхронизации, принадлежащими конкретному потоку.
Эта проверка означает, что учёт владельца больше не соответствует пути освобождения или ожидания. Обычно драйвер использовал неверный объект, неверный контекст потока либо ошибочный путь раскрутки стека.
Как интерпретировать дамп
Определите поток в дампе и сопоставьте его с владельцем мьютекса.
- Проверьте пути APC, рабочих потоков, завершения операций и очистки, которые выполняются не в том потоке, где объект был захвачен.
- Этот сбой отличается от неправильного использования спин-блокировки, поскольку владение мьютексом связано с потоком.
Что проверить
- Убедитесь, что освобождение блокировки выполняется в рамках той же модели владения, которая использовалась при её захвате.
- Проверьте передачу работы между системными потоками, рабочими элементами, функциями обратного вызова и процедурами отмены.
- При воспроизводимых нарушениях владения и порядка блокировок используйте Driver Verifier с проверкой взаимоблокировок.
Ссылки
Нужно найти другой код? Найти другой код состояния или ошибки.