| Предыдущий | Следующий |
| ERROR_NOT_ENOUGH_SERVER_MEMORY | ERROR_MAPPED_ALIGNMENT |
ERROR_POSSIBLE_DEADLOCK
Что означает ERROR_POSSIBLE_DEADLOCK
ERROR_POSSIBLE_DEADLOCK означает, что обнаружена ситуация, похожая на взаимную блокировку потоков.
Что проверить
- Dump до restart и wait chain каждого зависшего thread.
- Какие locks удерживаются и какой lock ожидается следующим.
- Обратный порядок захвата одной пары locks в другом потоке.
- Ожидания внутри
DllMainи других callbacks под loader lock.
Как локализовать
Постройте directed wait graph и найдите цикл. Если цикла нет, отличайте deadlock от starvation или очень долгого I/O. После сбора evidence безопаснее устранить конкретный lock-order/lifecycle defect, чем пытаться продолжать работу процесса с неизвестным ownership state.
Технические ссылки
Нужно найти другой код? Найти другой код состояния или ошибки.
