Что означает код NTSTATUS 0xC0000434 (STATUS_PTE_CHANGED)?

 
Предыдущий Следующий
STATUS_ENCOUNTERED_WRITE_IN_PROGRESS STATUS_PURGE_FAILED

STATUS_PTE_CHANGED

Что означает STATUS_PTE_CHANGED

STATUS_PTE_CHANGED означает, что page-table entry, на который опиралась операция virtual memory, изменился до её завершения. Это состояние гонки или изменения mapping, а не самостоятельное доказательство corruption.

Что проверить

  • Сопоставьте статус с concurrent map, unmap, decommit или protection changes того же region.
  • Не используйте сохранённый PTE или cached protection state после операции, меняющей address space.
  • В kernel code проверьте lifetime locks и порядок синхронизации вокруг изменения mappings.

Как действовать

Перечитайте актуальное состояние region и повторяйте только ту операцию, для которой retry разрешён контрактом. Если status воспроизводится без конкурентных изменений, тогда уже исследуйте ошибку управления виртуальной памятью или драйвер, который меняет mapping неожиданно.

Технические ссылки


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