| Предыдущий | Следующий |
| WINDOWS_NT_MP_STRING | BUGCODE_PSS_CRASH_INIT |
THREAD_TERMINATE_HELD_MUTEX
Проверка ошибок THREAD_TERMINATE_HELD_MUTEX имеет значение 0x4000008A. Она указывает, что драйвер захватил мьютекс в потоке, который завершился до освобождения мьютекса. Это может произойти, если драйвер возвращается в пользовательский режим, не освободив мьютекс, либо захватывает мьютекс, а затем вызывает исключение, из-за которого выполняющий его поток завершается.
Важно
Этот раздел предназначен для программистов. Если вы столкнулись с ошибкой синего экрана при работе с компьютером, см. Устранение ошибок синего экрана.
Параметры THREAD_TERMINATE_HELD_MUTEX
| Параметр | Описание |
|---|---|
| 1 | Адрес KTHREAD, которому принадлежит KMUTEX. |
| 2 | Адрес принадлежащего потоку KMUTEX. |
| 3 | Зарезервировано |
| 4 | Зарезервировано |
Причина
Для исследования проверьте стек вызовов. Если за драйвером в стеке непосредственно следуют системные процедуры обработки исключений, а затем процедуры завершения потока, виноват этот драйвер: его необходимо исправить, чтобы он не вызывал необработанное исключение, удерживая мьютекс ядра. Если стек показывает только обычный код завершения потока и не указывает на драйвер, выполните !pool либо примените ln (List Nearest Symbols) к адресу мьютекса (параметр 2) и попытайтесь определить его владельца. Почти наверняка ошибка находится в коде владельца этого мьютекса.
Нужно найти другой код? Найти другой код состояния или ошибки.
