Site icon EfmSoft

Что означает код BSOD 0x4000008A (THREAD_TERMINATE_HELD_MUTEX)?

 
Предыдущий Следующий
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) и попытайтесь определить его владельца. Почти наверняка ошибка находится в коде владельца этого мьютекса.


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

Exit mobile version