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

 
Предыдущий Следующий
kIOReturnUnsupported kIOReturnInternalError

kIOReturnVMError

Важен контекст виртуальной памяти

kIOReturnVMError — общий результат IOKit для прочей ошибки виртуальной памяти. Пути передачи IOKit могут перемещать данные между пользовательским процессом, ядром и физической памятью; поэтому дескрипторы, сопоставления и преобразование адресов важны, даже если приложение видит только операцию устройства.

Это значение шире обычного сбоя выделения. kIOReturnNoMemory означает невозможность выделить память, а kIOReturnCannotWire относится к удержанию физической памяти резидентной для ввода-вывода. Для kIOReturnVMError нужно определить конкретную операцию виртуальной памяти и представление буфера.

Какие данные сохранить

  • Владение буфером, диапазон адресов, размер, направление, этап дескриптора памяти и время жизни запроса.
  • Проверьте парность сопоставлений, дескрипторов и операций завершения при успехе, ошибке и отмене.
  • Уменьшите запрос до небольшого выровненного буфера, чтобы отличить проблему адресного пространства от накопленного давления ресурсов.
  • Не предполагайте, что указатель кучи приложения непосредственно пригоден пути ввода-вывода на стороне драйвера.

Ссылки


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