| Предыдущий | Следующий |
| MAXIMUM_WAIT_OBJECTS_EXCEEDED | NO_USER_MODE_CONTEXT |
MUTEX_LEVEL_NUMBER_VIOLATION
Нарушение порядка уровней мьютексов ядра MUTEX_LEVEL_NUMBER_VIOLATION
MUTEX_LEVEL_NUMBER_VIOLATION имеет код проверки ошибки 0x0000000D. Эта проверка ошибки указывает на нарушение правил порядка блокировок при синхронизации ядра.
Она полезна, когда дамп показывает пути мьютексов, защищённых мьютексов, исполнительных ресурсов или блокировок драйвера, способные вызвать взаимоблокировку при неправильном порядке захвата.
Как читать дамп
- По стеку определите поток и драйвер, захватывавшие или освобождавшие блокировку.
- Важны объект блокировки и порядок захвата, а не только символьный код остановки.
- Не рассматривайте её как сбой мьютекса пользовательского режима: это состояние синхронизации ядра.
Что проверить
- Проверьте иерархию блокировок и пути драйвера, захватывающие несколько блокировок.
- При тестовом воспроизведении включите в Driver Verifier обнаружение взаимоблокировок для подозреваемых драйверов.
- Ищите недавние изменения в путях отмены, выгрузки, питания и обработки ошибок, где порядок блокировок может отличаться от нормального.
Ссылки
Нужно найти другой код? Найти другой код состояния или ошибки.
