Что означает код errno 127 (ENOTRECOVERABLE)?

 
Также может означать:
КонстантаТипОС
ERROR_PROC_NOT_FOUNDОшибка WindowsWindows
ENETDOWNerrnoSolaris
UNEXPECTED_KERNEL_MODE_TRAPКод BSODWindows
Предыдущий Следующий
ENETDOWN ENETUNREACH

ENOTRECOVERABLE

Что означает ENOTRECOVERABLE в Windows UCRT

ENOTRECOVERABLE означает «Состояние блокировки невозможно восстановить». Для условия «Состояние блокировки невозможно восстановить» код ENOTRECOVERABLE нужно связывать с первым возвратившим его вызовом и контекстом: процесс, поток, сигнал, ожидание или объект синхронизации.

Для условия «Состояние блокировки невозможно восстановить» сначала установите канал ошибки: UCRT использует errno, Win32 API — GetLastError(), а Winsock — WSAGetLastError(); эти значения не взаимозаменяемы. Для ENOTRECOVERABLE исходная английская страница также выделяет EOWNERDEAD, UCRT, If и Retrying; эти данные полезно записать вместе с return value, потоком и временем события.

Диагностика

  • При ошибке «Состояние блокировки невозможно восстановить» (Windows UCRT, ENOTRECOVERABLE) сохраните PID/TID, сигнал или объект ожидания и момент, когда состояние изменилось.
  • При ошибке «Состояние блокировки невозможно восстановить» (Windows UCRT, ENOTRECOVERABLE) проверьте гонку между завершением, отменой, ожиданием и повторным использованием идентификатора.
  • При ошибке «Состояние блокировки невозможно восстановить» (Windows UCRT, ENOTRECOVERABLE) отделите документированное прерывание от ошибки логики, сохранив errno до обработчика и cleanup.
  • При ошибке «Состояние блокировки невозможно восстановить» (Windows UCRT, ENOTRECOVERABLE) воспроизведите порядок событий в контролируемом тесте вместо бесконечного retry.

На платформе Windows UCRT исправление ENOTRECOVERABLE считается подтверждённым, когда исходная операция даёт ожидаемый результат, а отдельный отрицательный тест по-прежнему воспроизводит именно условие «Состояние блокировки невозможно восстановить» без утечки ресурсов и потери первичной диагностики.

Ссылки для ENOTRECOVERABLE


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