Hey everyone, I’m trying out the new support for AMD GPUs of RealityScan for my photogrammetry needs. I can’t seem to get a Normal Quality mesh to process. The program sends an error as soon as it starts processing the mesh, the progress bar stays there, but it does nothing, and just keeps ticking the time with no progress. RealityScan doesn’t crash instantly, instead a pop up shows up with the following text:
RealityScan caused an unhandled exception and will be closed.
The crash report was saved to the below path.
You will be asked to upload the report next time you run the application.
[path of the .dmp]
When I hit OK or close, RealityScan closes.
It also happens when I try to process a High Detail mesh, colorize a Preview mesh, or creating a Preview Mesh with Max Vertex Count, instead of sparse point cloud.
I tried to debug it by changing settings, using windbg and Claude, and asked for a detailed bug report. I will paste it here. I’d appreciate any help on finding a workaround, fix, or solution.
Bug Report: Access Violation (null pointer read) in amdhip64_7.dll during Normal Detail Mesh generation on AMD GPU — RealityScan 2.2
Summary
RealityScan.exe consistently crashes with an access violation (read from a null pointer) inside AMD’s HIP runtime (amdhip64_7.dll) while computing a Normal Detail mesh on an AMD GPU. The crash occurs during the image depth-map calculation stage, specifically while loading per-camera projection matrices into GPU constant memory. The crash is fully reproducible, is not affected by disabling GPU acceleration for the later mesh-calculation stage, and is not caused by any local ROCm/HIP install on the Windows host.
Environment
- RealityScan version: 2.2.0.53894
- OS: Windows 11 (build 10.0.26100.1)
- CPU: AMD Ryzen (Family 25, Model 97, Stepping 2) — 16 logical processors
- GPU: AMD Radeon — [fill in your exact model, e.g. RX 7900 XTX]
- AMD graphics driver version: [fill in — Adrenalin software version]
- ROCm/HIP on this machine: No ROCm/HIP SDK, related environment variables, or PATH entries are present on the Windows host. A ROCm install exists only inside an unrelated WSL Linux VM on the same physical machine, which cannot affect a native Windows process — confirmed by inspecting both User and System environment variables directly.
Steps to Reproduce
- Open a RealityScan project with aligned images. [attach or describe your dataset here if possible]
- Set the reconstruction region.
- Run “Calculate Normal Detail Model.”
- RealityScan.exe crashes during depth-map calculation, before the mesh completes.
Expected Behavior
Normal Detail mesh calculation completes successfully on AMD GPU hardware, as advertised for RealityScan 2.2’s AMD GPU support.
Actual Behavior
RealityScan.exe crashes with an unhandled access violation (0xC0000005) every time Normal Detail (and High Detail) mesh calculation is attempted.
What Has Already Been Tried (crash is NOT resolved by any of these)
- Setting GPU acceleration off for mesh calculation (
MvsGeometryGpuAccel=false) — crash still occurs. This setting appears to only affect the later mesh-geometry stage, not the earlier, GPU-only depth-map calculation stage where the crash actually happens. - Switching the depth-map algorithm version (
MvsDepthMapsLibVersion) to the alternate value — crash still occurs. - Ruled out a conflicting ROCm/HIP install: confirmed no ROCm-related environment variables or PATH entries exist on the Windows host (see Environment above).
Crash Analysis (WinDBG)
- Exception:
0xC0000005(Access Violation), attempting to read from address0x0— a null pointer dereference. - Faulting module:
amdhip64_7.dll, offset+0x1936e(WinDBG resolves this to the nearest exported symbol,hipGetCmdName+0x16d1e— the huge offset indicates the actual crash site has no public symbol and is not literally insidehipGetCmdName). - Call stack (top = crash site):
RealityScan_MvsDepthMaps_Hip!CapturingReality::ModelCalculation::Depthmaps::GpuHip::CU_G_loadCameraMatricesToConstantMemory+0x55famdhip64_7!hipMemcpyToSymbol+0x48- Unsymbolized internal HIP runtime code (nearest exports:
hipRegisterTracerCallback+0x8cea3/+0x8f233/+0xb7bd6) amdhip64_7!hipGetCmdName+0x16d1e← crash (cmp qword ptr [rbp],0, withrbp = 0)
Working hypothesis (not a confirmed root cause): RealityScan’s HIP depth-map module calls the standard hipMemcpyToSymbol API to upload per-camera projection matrices to GPU constant memory ahead of depth-map computation. The crash itself happens several frames deeper, inside AMD’s own closed-source HIP runtime, in code whose nearest symbols (hipGetCmdName, hipRegisterTracerCallback) belong to HIP’s internal API-tracing/instrumentation layer. This points to a null pointer somewhere in that internal tracing/callback machinery, rather than a RealityScan-side data or memory issue — but only AMD/Epic’s own symbols can confirm this precisely.
Additional Notes
- Preview Detail mesh works correctly — it doesn’t use this depth-map code path, only Normal/High Detail do.
- The crash is fully deterministic — it happens on every attempt, regardless of project/dataset.
- Happy to provide the full
.dmpfile or test additional configurations on request.
Full WinDBG Analysis (raw, for reference)
KEY_VALUES_STRING: 1
Key : AV.Dereference
Value: NullPtr
Key : AV.Type
Value: Read
Key : Failure.Bucket
Value: INVALID_POINTER_READ_c0000005_amdhip64_7.dll!Unknown
Key : Failure.Exception.Code
Value: 0xc0000005
Key : Failure.Exception.IP.Address
Value: 0x7ffb280e936e
Key : Failure.Exception.IP.Module
Value: amdhip64_7
Key : Failure.Exception.IP.Offset
Value: 0x1936e
Key : WER.OS.Version
Value: 10.0.26100.1
Key : WER.Process.Version
Value: 2.2.0.53894
CONTEXT: (.ecxr)
rax=000002d64b791cb0 rbx=000002ce022394d8 rcx=00007ffb11fd95f0
rdx=000002d64b1dabc0 rsi=000002ce022394d0 rdi=000002d64b1dabc0
rip=00007ffb280e936e rsp=000000f47dffcf40 rbp=0000000000000000
amdhip64_7!hipGetCmdName+0x16d1e:
00007ffb`280e936e 48837d0000 cmp qword ptr [rbp],0 ss:00000000`00000000=????????????????
EXCEPTION_RECORD: (.exr -1)
ExceptionAddress: 00007ffb280e936e (amdhip64_7!hipGetCmdName+0x0000000000016d1e)
ExceptionCode: c0000005 (Access violation)
NumberParameters: 2
Parameter[0]: 0000000000000000
Parameter[1]: 0000000000000000
Attempt to read from address 0000000000000000
PROCESS_NAME: RealityScan.exe
READ_ADDRESS: 0000000000000000
STACK_TEXT:
000000f4`7dffcf40 00007ffb`2833d056 : amdhip64_7!hipGetCmdName+0x16d1e
000000f4`7dffcfb0 00007ffb`283146b3 : amdhip64_7!hipRegisterTracerCallback+0xb7bd6
000000f4`7dffd070 00007ffb`28312323 : amdhip64_7!hipRegisterTracerCallback+0x8f233
000000f4`7dffd130 00007ffb`2846a508 : amdhip64_7!hipRegisterTracerCallback+0x8cea3
000000f4`7dffd850 00007ffb`11fa155f : amdhip64_7!hipMemcpyToSymbol+0x48
000000f4`7dffd890 00007ff6`ad694935 : RealityScan_MvsDepthMaps_Hip!CapturingReality::ModelCalculation::Depthmaps::GpuHip::CU_G_loadCameraMatricesToConstantMemory+0x55f
000000f4`7dffde50 00007ff6`ad68b07d : RealityScan+0x1c54935
000000f4`7dffdee0 00007ff6`ad68bafc : RealityScan+0x1c4b07d
000000f4`7dffe270 00007ff6`ad688cb1 : RealityScan+0x1c4bafc
000000f4`7dffe380 00007ff6`ad689cc0 : RealityScan+0x1c48cb1
000000f4`7dffe920 00007ff6`ad683ebe : RealityScan+0x1c49cc0
000000f4`7dffefe0 00007ff6`ad68468e : RealityScan+0x1c43ebe
000000f4`7dfff480 00007ff6`ad31ff58 : RealityScan+0x1c4468e
000000f4`7dfff510 00007ff6`acf30c30 : RealityScan+0x18dff58
000000f4`7dfff6d0 00007ff6`ad4115ef : RealityScan+0x14f0c30
000000f4`7dfff740 00007ff6`acf6e869 : RealityScan+0x19d15ef
000000f4`7dfff7d0 00007ffc`5f4bcd87 : RealityScan+0x152e869
000000f4`7dfff830 00007ffc`6104caec : kernel32!BaseThreadInitThunk+0x17
000000f4`7dfff860 00000000`00000000 : ntdll!RtlUserThreadStart+0x2c
FAILURE_BUCKET_ID: INVALID_POINTER_READ_c0000005_amdhip64_7.dll!Unknown
OSNAME: Windows 10
OS_VERSION: 10.0.26100.1
BUILDLAB_STR: ge_release