We are investigating a recurring GPU crash in UE 5.7.4 with Lumen Hardware Ray Tracing using the Inline Ray Tracing path.
The crash occurs inside Lumen HWRT compute shaders, most notably:
LumenRadiosityHardwareRayTracingCS
Nsight Aftermath resolves the shader-side call chain approximately as:
LumenRadiosityHardwareRayTracingCS
↓
TraceLumenMinimalRay(...)
↓
Inline RayQuery against TLAS
↓
triangle hit committed
↓
LoadInlineRayTracingTriangleAttributes(...)
↓
LoadVertexPositionFloat3(...)
↓
SourceBuffer.Load(...)
↓
GPU MMU / Page Fault
The relevant shader code is mainly around:
Engine/Shaders/Private/Lumen/LumenHardwareRayTracingCommon.ush
and the Inline Ray Tracing geometry/metadata loading path involves:
Engine/Shaders/Private/RayTracing/TraceRayInlineD3D12.ush
The important part is that the crash happens after the Inline RayQuery has already produced a triangle hit.
The query result is then used to locate the corresponding Inline Ray Tracing metadata record. From that record, UE obtains the bindless Index/Vertex Buffer descriptors required to read the hit geometry.
Conceptually, the failing path is:
TLAS
↓
Inline RayQuery hit
↓
Instance / Geometry / Primitive information
↓
Inline Ray Tracing metadata
↓
Bindless VB / IB descriptor
↓
LoadVertexPositionFloat3
↓
SourceBuffer.Load
↓
GPU Page Fault
The crash is more likely to happen during map/level transitions, heavy streaming, World Partition streaming, or geometry lifetime changes.
Our current suspicion is a resource lifetime / residency mismatch.
A stale Inline metadata record alone should normally not be dangerous if no TLAS still references it. The problematic case would be:
an in-flight TLAS can still hit an old geometry
↓
the corresponding metadata is still reachable
↓
the metadata still contains a VB / IB descriptor
↓
but the underlying VB / IB has already been
streamed out / evicted / released / reused
↓
SourceBuffer.Load
↓
GPU Page Fault
So the main thing we are trying to confirm is whether there is a lifetime gap between:
TLAS → Inline Metadata → Bindless Descriptor → VB/IB Resource
where the underlying geometry resource can become invalid before all GPU work referencing the old TLAS has finished.
We would like to know whether this is a known issue in UE 5.7.4, especially around Lumen Inline HWRT + RT Geometry residency / streaming / lifetime management.