Что означает код возврата ядра macOS 29 (KERN_INVALID_OBJECT)?

 
Также может означать:
КонстантаТипОС
ERROR_WRITE_FAULTОшибка WindowsWindows
ippStsWrongIntersectROIСтатус Intel IPPЛюбая
ESPIPEerrnoЛюбая
NO_SPIN_LOCK_AVAILABLEКод BSODWindows
Предыдущий Следующий
KERN_INVALID_POLICY KERN_ALREADY_WAITING

KERN_INVALID_OBJECT

KERN_INVALID_OBJECT не является общей ошибкой «недопустимого дескриптора объекта». В XNU этот код конкретно означает, что внешний диспетчер памяти не смог инициализировать объект памяти. Статус относится к протоколу объектов памяти Mach, в котором пейджер или диспетчер памяти взаимодействует с ядром, предоставляя данные для виртуальной памяти.

Этот контекст важен, поскольку обычный прикладной код, как правило, использует более высокоуровневые API памяти и может никогда не увидеть такой результат. Когда он всё же появляется, полезны сведения о жизненном цикле объекта памяти, рукопожатии инициализации и сбое на стороне пейджера, а не необработанный указатель, переданный посторонним клиентом.

Что следует проверить

  • Определите реализацию объекта памяти или пейджера, связанную со сбойным запросом.
  • Сопоставьте результат с созданием и инициализацией объекта, а также с любой более ранней ошибкой пейджера.
  • Отделите этот случай от KERN_INVALID_ADDRESS и KERN_PROTECTION_FAILURE, которые относятся к отображениям в адресном пространстве задачи.
  • Сохраняйте идентификаторы целевой задачи и порта объекта памяти там, где их безопасно записывать в журнал.

Ссылки


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