| Предыдущий | Следующий |
| EXFULL | ECONNABORTED |
EBADR
EBADR: дескриптор не указывает на активный запрос
EBADR означает, что legacy driver или IPC-интерфейс получил дескриптор, который больше не обозначает живой запрос.
Для диагностики важен жизненный цикл дескриптора: его выдача, completion/cancel, владелец и поколение. Простое совпадение числового значения после повторного использования не делает объект тем же запросом.
Что проверить
- Запишите descriptor, устройство, PID, событие allocation/completion и generation.
- Повторите операцию только с дескриптором, полученным от нового запроса.
- Проверьте двойное завершение, использование после cancel и передачу дескриптора между несовместимыми интерфейсами.
- Найдите первый syscall/ioctl, вернувший EBADR, ниже уровня исключений и Boolean-обёрток.
Ссылки для EBADR
- Linux man-pages: errno(3)
- Linux kernel: asm-generic errno definitions
- GNU C Library: коды ошибок
- illumos: STREAMS programming документация
Нужно найти другой код? Найти другой код состояния или ошибки.