[Windows] STATUS_HEAP_CORRUPTION (0xc0000374) in ntdll.dll during Assisted Culling — regression introduced in 15.4.1
# Bug Report Draft — Lightroom Classic heap corruption
**Title:**
[Windows] STATUS_HEAP_CORRUPTION (0xc0000374) in ntdll.dll during Assisted Culling — regression introduced in 15.4.1
---
## Summary
Lightroom Classic crashes with `STATUS_HEAP_CORRUPTION` (0xc0000374) in `ntdll.dll`
on Windows 11. 12 occurrences since 4 July 2026. The crash is strongly correlated
with Assisted Culling analysis.
This is a **regression**. The same machine ran versions 15.2.1, 15.3, 15.3.1 and 15.4
across 96 days with zero heap-corruption crashes. The first occurrence appeared 11 days
after 15.4.1 was installed, and the crash rate increased roughly 11x after upgrading
to 15.5.
## Environment
| | |
|---|---|
| OS | Windows 11, build 26200 |
| CPU | Intel Core i7-12700F (12 cores / 20 threads, AVX2) |
| RAM | 32 GB |
| GPU | NVIDIA GeForce GTX 1650, 4 GB VRAM |
| GPU driver | 32.0.16.1088 (Studio 610.88, clean install) |
| Catalog/system disk | WD Blue SN570 NVMe SSD, 216 GB free |
| Camera Raw | 18.5 |
| Display | single 2560x1440 |
## Version history and crash correlation
Install dates taken from Adobe's own installer log
(`C:\Program Files (x86)\Common Files\Adobe\Installers\Install.log`).
| Installed | Version | Days in use | 0xc0000374 crashes |
|---|---|---:|---:|
| 2026-03-19 | 15.2.1 | 30 | 0 |
| 2026-04-18 | 15.3 | 53 | 0 |
| 2026-06-10 | 15.3.1 | 10 | 0 |
| 2026-06-20 | 15.4 | 3 | 0 |
| 2026-06-23 | **15.4.1** | 45 | **4** |
| 2026-08-07 | **15.5** | 8 | **8** |
15.5 was installed at 09:51 on 7 August. Three crashes followed the same day at
14:25, 14:29 and 14:35.
Windows Error Reporting on this machine retains records back to December 2025, so the
crash-free period before 4 July is genuine and not an artefact of log rotation.
## Crash signature
- Exception code: `c0000374` (STATUS_HEAP_CORRUPTION)
- Faulting module: `ntdll.dll`, offset `0x112165` (identical in all 12)
- Affected builds: 15.4.1.1 and 15.5.0.8
- WER buckets: StackHash_3394 (x4), StackHash_dfbf (x3), StackHash_496a (x2),
plus 0000 / f104 / c040 (x1 each)
Lightroom.exe is the only process on this machine that has ever raised 0xc0000374
(verified across all WER records).
## Reproduction — most recent occurrence
From `lrc_console.log`, captured before relaunch (15 August 2026):
```
12:35:57.848 Module Switched: develop -> library
12:35:58.464 isConstrainedEnvForCulling: false
12:35:58.593 AICulling:start
12:36:28 CRASH — no matching AICulling:complete
```
Assisted Culling was invoked **manually** via Identity Plate > Auto Analysis.
`AICulling_enableAutoCullingAnalysis` was `false` in that session, so automatic
analysis was not involved.
In the 30 seconds before the crash, the Camera Raw log records 142 ML inferences
across 8 models:
```
adobeone-mobileclip, mobileclip-based-classifier, subject-lite-culling,
undesirable-blur, face-detector, eyes-open-close, bfs-frame-score, bfs-face-score
```
A second crash on 14 August followed the same pattern: `AICulling:start` at 19:44:43,
crash at 19:44:48. Also no `complete`.
Note: it is not deterministic. On 14 August, five culling cycles completed normally in
the minute before the sixth crashed.
## Not memory exhaustion
Heap telemetry at the moment of the crash:
```
Private commit : 6.956 GB
Heap regions : 10,025
Camera Raw CPU : 1.515 GB
```
32 GB installed, 16 GB free. This is corruption, not exhaustion.
## Already ruled out
- **GPU driver** — clean install of Studio 610.88; stale 591.86 package removed from
the driver store. Crash persists.
- **GPU acceleration** — `GPUManagerPref = "off"`, all `useGPU*` flags false. Crash persists.
- **Automatic culling analysis** — disabled. Crash persists under manual invocation.
- **Disk space** — 216 GB free on NVMe. Crash rate actually *increased* after 242 GB
was freed on 8 August.
- **System RAM pressure** — see above.
- **Camera Raw 18.5** — shipped 5 August; crashes began 4 July.
## Additional finding: GPU preference does not disable WML GPU usage
With `GPUManagerPref = "off"`, the Camera Raw log still shows:
```
Initialize GPU system
Loaded GPU system: DirectX
GPU4 Soft Status Result: fail_insufficient_memory
Supports FP16 for DX on WML: YES
WML: Try use GPU? yes
259 compute pipeline states built
Current memory usage (GPU): 0.698GB Budget: 2.613GB (pool) 1.699GB (cache)
```
`nvwgf2umx.dll`, `nvgpucomp64.dll`, `nvldumdx.dll` and `nvppex.dll` remain loaded in
the process.
So the Windows ML inference path continues to schedule work on the GPU even when the
user has disabled graphics acceleration. There appears to be no supported way to move
Assisted Culling inference onto the CPU.
This exact behaviour was independently reported by JINGORO8816 on 30 July 2026, who
observed 262 "Building compute pipeline state" lines and the same
`fail_insufficient_memory` result with all GPU preferences set to off.
Note: VRAM capacity does not appear to be the determining factor. AD-Tran reports the
same Assisted Culling crash on an RTX 4060 Laptop GPU with 8 GB of VRAM.
## Related existing reports
| Reporter | Date | Platform | Overlap |
|---|---|---|---|
| AD-Tran | 10 Aug 2026 | Win 11, RTX 4060 Laptop 8 GB, 32 GB RAM | Same symptom: 15.5 crash during Assisted Culling / Auto Analysis |
| JINGORO8816 | 30 Jul 2026 | Win 10, RTX 3050 Ti | Same exception (0xc0000374 in ntdll); same GPU-not-disabled finding; trigger is 143 MP import rather than culling |
| kgdizainslv | Jul 2026 | macOS | 15.4/15.4.1 AI Assist Culling memory leaks and freezes (marked Released) |
| naemick | Jul 2026 | — | 15.4.1 persistent crashes and AI Culling memory issues |
Caveat offered in good faith: JINGORO8816 reproduced his crash on 14.5.2.1 and 15.1.0.5
as well, so the underlying heap defect may predate 15.4.1. On this machine, however, the
15.4.1 boundary is sharp — 96 crash-free days across four prior versions.
## Attachments
- `lrc_console-aug15-culling-crash.log` — captured before relaunch; contains the
culling timeline and main-thread stack
- `lrc_console-aug14-crash2.log` — 14 August crash, GDI+ stack
- `cameraraw-aug15-culling-crash.txt` — ML inference timings and heap telemetry
## What would help
1. Confirmation of what changed in the Assisted Culling / WML path between 15.4 and 15.4.1.
2. A supported way to force Assisted Culling inference onto the CPU.
3. Guidance on whether 4 GB VRAM is genuinely sufficient for this feature, given that
GPU4 reports `fail_insufficient_memory` on every launch.
