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

 
Предыдущий Следующий
kOSMetaClassInstNoSuper kOSMetaClassNoKext

kOSMetaClassDuplicateClass

kOSMetaClassDuplicateClass возникает, когда устаревший путь регистрации OSMetaClass обнаруживает дублирующийся класс. Речь идёт о реестре классов C++ Libkern, а не просто о повторяющемся идентификаторе пакета kext или дублирующейся службе устройства в I/O Registry.

Практический вопрос состоит в том, какие две регистрации предоставляют одинаковое удостоверение класса и почему обе дошли до загрузчика. Типичные признаки: уже загруженная зависимость, сборка с перекрывающимися определениями классов или предыдущая неудачная загрузка, сделавшая последовательность диагностики неясной. Правильное исправление — устранить конфликт владельцев и порядка регистрации, а не переименовывать несвязанную службу I/O во время выполнения.

Что сравнить

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

Ссылки


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