Site icon EfmSoft

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

 
Предыдущий Следующий
MACH_RCV_INVALID_NOTIFY MACH_RCV_PORT_DIED

MACH_RCV_INVALID_DATA

Буфер встроенных данных на стороне приёма непригоден для этой операции

MACH_RCV_INVALID_DATA — результат приёма, соответствующий недопустимому буферу сообщения для встроенных данных. Он относится к предоставленному вызывающей стороной хранилищу приёма, а не к неверной полезной нагрузке, сформированной другой стороной. В частности, он отличается от MACH_RCV_TOO_LARGE: сообщение о слишком большом размере может возникнуть при допустимом хранилище, тогда как данный статус означает, что сам буфер нельзя использовать в пути приёма.

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

Что исследовать

Ссылки


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

Exit mobile version