Site icon EfmSoft

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

 
Предыдущий Следующий
MACH_RCV_INVALID_TYPE MACH_RCV_INVALID_TRAILER

MACH_RCV_SCATTER_SMALL

Что означает результат

MACH_RCV_SCATTER_SMALL: Mach IPC получил сообщение в scatter-режиме, но один из предоставленных получателем участков для out-of-line данных оказался меньше соответствующего фрагмента сообщения. Основной inline-буфер сообщения при этом не обязательно слишком мал.

Что проверить

  • Сохраните descriptor сообщения и scatter list, использованные в том же mach_msg receive.
  • Сопоставьте каждый out-of-line descriptor с размером соответствующего scatter-участка, а не только общий размер receive buffer.
  • Проверьте, не изменился ли формат сообщения у отправителя без синхронного изменения layout буферов получателя.
  • Если размеры вычисляются динамически, проверяйте переполнение и округление до выравнивания Mach descriptors.

Диагностика и исправление

Увеличьте конкретный scatter-участок или согласуйте формат сообщения между сторонами. Замена только основного receive buffer не исправляет слишком маленький target для out-of-line части.

Технические ссылки


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

Exit mobile version