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

 
Предыдущий Следующий
kIOFireWireCompleting kIOFireWireIsochBandwidthNotAvailable

kIOFireWireInvalidResponseLength

Получен ответ непригодного размера

kIOFireWireInvalidResponseLength конкретнее общей транспортной ошибки: код семейства FireWire получил или обработал ответ, длина которого недопустима для операции. Следует сравнивать ожидаемую форму ответа операции с фактической длиной, учитывая код транзакции и контекст команды.

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

Сохраняйте обе стороны контракта

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

Ссылки


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