Site icon EfmSoft

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

 
Предыдущий Следующий
kOSMetaClassInternal kOSMetaClassNoInit

kOSMetaClassHasInstances

kOSMetaClassHasInstances означает, что расширение ядра нельзя выгрузить, пока существуют живые объекты, производные от зарегистрированных им классов Libkern C++. Ограничение защищает ядро от удаления метаданных классов и кода, которые существующим экземплярам всё ещё нужны для времени жизни, диспетчеризации и уничтожения.

Это состояние жизненного цикла, а не запрос на принудительную выгрузку. Успешная диагностика определяет владеющий kext, зарегистрированную иерархию классов и объекты, ссылки или подключения служб которых сохраняют экземпляры живыми. Исправление относится к завершению работы и управлению ссылками, а не к подавлению возвращаемого значения.

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

  • Найдите зарегистрированные классы kext и производные от них объекты служб или пользовательских клиентов.
  • Проверьте незавершённые retain, рабочие циклы, командные объекты и связи поставщиков с клиентами.
  • Убедитесь, что завершение работы закончено до запроса выгрузки и все асинхронные завершения обработаны.
  • Отличайте событие от отказа загрузки kext из-за подписи кода или политики.

Ссылки


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

Exit mobile version