Copyright © 2026 Unity Technologies
Does not reproduce when QuadView is disabled.
| Build | Fault |
|---|---|
| Release | Kernel: GPU PAGE FAULT: addr = 0x40146E8000, FAULTING BLOCK: Flag cache, followed by ---- premature free ---- [0x401386F000-0x40146F1000] (vk_devicememory) was already freed by pid <pid> |
| Dev, symbols on | Userspace SIGSEGV in Unity render thread. Stack: GfxDeviceWorker::RunCommand → GfxDevice::ReleaseSetupAndBeginRenderPass → GfxDeviceVK::BeginRenderPassImpl → vk::RenderPassSwitcher::BeginCurrentRenderPass → vk::CommandBuffer::End() → vulkan.adreno.so. Fault address 0x0041207361696c41 decodes to ASCII "Alias A\0"; registers x0/x9 hold "Alias An" / " Analysi" — Vulkan object slot reused for a RenderGraph debug label. |
A Vulkan object (VkDeviceMemory in one case, likely VkCommandBuffer or VkRenderPass in the other) is being destroyed while Unity's render thread and/or the GPU still holds a reference to it. The kernel driver explicitly names this as a premature free of vk_devicememory in a compressed render target region — consistent with a per-eye or per-pass render target / depth buffer being released before the deferred GPU work referencing it completes.
The RenderPassSwitcher stack from the dev build with Unity symbols points at pass-transition logic between the outer and inner QuadView passes. Only fires with QuadView active, and only when the peripheral pass workload changes (as happens when tilting up).
URP XR / Vulkan render pass / OpenXR QuadView integration on trunk.
Issues you vote on will appear here