| Предыдущий | Следующий |
| KERN_NO_ACCESS | KERN_MEMORY_ERROR |
KERN_MEMORY_FAILURE
KERN_MEMORY_FAILURE — результат объекта памяти и page fault, а не общая ошибка выделения. XNU определяет его для адреса, ссылающегося на уничтоженный memory object, и помечает отказ постоянным.
Виртуальная память Mach поддерживается объектами памяти. При fault данные берутся из объекта или pager. Если объект больше не существует, ядро не может удовлетворить обращение старого mapping. Повтор без изменения жизненного цикла или отображения не поможет.
Диагностический фокус
- Определите mapping и его backing object или file-like resource.
- Проверьте порядок unmap, close, terminate и invalidate, чтобы потребители не использовали устаревшее отображение.
- Проверьте, может ли другой компонент уничтожить объект при оставшихся ссылках.
- Отличайте от
KERN_MEMORY_ERROR, потенциально временного отсутствия данных.
Код важен для ядра, pager, отладчика и управления памятью. Он указывает на неверный жизненный цикл backing object, а не обычный указатель приложения.
Ссылки
Нужно найти другой код? Найти другой код состояния или ошибки.