Что означает код NTSTATUS 0xC0140016 (STATUS_ACPI_MUTEX_NOT_OWNED)?

 
Предыдущий Следующий
STATUS_ACPI_INVALID_MUTEX_LEVEL STATUS_ACPI_MUTEX_NOT_OWNER

STATUS_ACPI_MUTEX_NOT_OWNED

STATUS_ACPI_MUTEX_NOT_OWNED описывает ошибку состояния при освобождении: освобождаемый мьютекс в данный момент не захвачен. Это не результат конкуренции и не обязательно несовпадение владельца между потоками. Интерпретатор не видит активного состояния владения, которое могло бы отменить освобождение.

Обычно анализ сосредоточен на несбалансированном потоке управления: путь ошибки, условная ветвь или предыдущее освобождение могут привести к последующему освобождению без соответствующего захвата. Нужна история захватов/освобождений именно этого мьютекса в том же пути вычисления AML.

AML попытался освободить мьютекс без текущего владельца

  • Запишите имя мьютекса, путь метода и все предшествующие операции захвата или освобождения для этого вызова.
  • Проверьте условные выходы и ветви, подобные исключениям, которые могут обойти захват, но всё равно дойти до освобождения.
  • Отличайте от STATUS_ACPI_MUTEX_NOT_OWNER: отсутствие текущего владения и владение другим субъектом — разные состояния.

Ссылки


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