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

 
Предыдущий Следующий
kIOReturnNoFrames kIOReturnNotPermitted

kIOReturnMessageTooLarge

Ошибка на границе полезной нагрузки

kIOReturnMessageTooLarge означает получение сообщения чрезмерного размера. Ограничение относится к интерфейсу IOKit, сообщившему статус; общее значение не определяет, является ли это фиксированным максимумом протокола, несоответствием размера буфера или особым путём уведомлений семейства.

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

Как диагностировать

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

Ссылки


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