Что означает код возврата ядра macOS 0xE00002D6 (kIOReturnTimeout)?

 
Предыдущий Следующий
kIOReturnBusy kIOReturnOffline

kIOReturnTimeout

Истёк срок, но причина не установлена

kIOReturnTimeout означает истечение срока ввода-вывода. Код описывает непосредственный результат управления, но не причину задержки. К нему могут привести медленное или не отвечающее устройство, перегруженный work loop, заблокированная очередь, потерянный ответ транспорта, нереалистичный тайм-аут либо предшествующий переход питания или конфигурации.

Обработка тайм-аута должна учитывать, могла ли операция уже оказать действие. Повтор чтения часто безопасен; повтор команды, меняющей состояние, записи или сброса может продублировать работу, если протокол не предоставляет подтверждение или правило идемпотентности. До решения о повторе сохраните идентификатор операции и состояние завершения.

Как исследовать тайм-аут

  • Запишите значение тайм-аута, время начала и окончания, целевой объект и сведения о частичном завершении.
  • Проверьте параллельные запросы, способные блокировать ту же очередь драйвера или конечную точку устройства.
  • Сопоставьте тайм-аут с нормальным временем обслуживания под обычной нагрузкой, прежде чем увеличивать его.
  • После тайм-аута обновите состояние устройства и обработайте уведомления об удалении или сбросе, прежде чем планировать новую работу.

Ссылки


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