| Предыдущий | Следующий |
| kOSMetaClassInternal | kOSMetaClassNoInit |
kOSMetaClassHasInstances
kOSMetaClassHasInstances означает, что расширение ядра нельзя выгрузить, пока существуют живые объекты, производные от зарегистрированных им классов Libkern C++. Ограничение защищает ядро от удаления метаданных классов и кода, которые существующим экземплярам всё ещё нужны для времени жизни, диспетчеризации и уничтожения.
Это состояние жизненного цикла, а не запрос на принудительную выгрузку. Успешная диагностика определяет владеющий kext, зарегистрированную иерархию классов и объекты, ссылки или подключения служб которых сохраняют экземпляры живыми. Исправление относится к завершению работы и управлению ссылками, а не к подавлению возвращаемого значения.
Что следует проверить
- Найдите зарегистрированные классы kext и производные от них объекты служб или пользовательских клиентов.
- Проверьте незавершённые retain, рабочие циклы, командные объекты и связи поставщиков с клиентами.
- Убедитесь, что завершение работы закончено до запроса выгрузки и все асинхронные завершения обработаны.
- Отличайте событие от отказа загрузки kext из-за подписи кода или политики.
Ссылки
Нужно найти другой код? Найти другой код состояния или ошибки.