Lightroom Classic 15.3 hangs and must be force-quit — macOS spindump shows a self-deadlock in a Camera Raw thread (NegativeQueue) when opening RAW files in Develop or on import
- May 29, 2026
- 1 reply
- 8 views
Lightroom Classic 15.3 intermittently becomes completely unresponsive (permanent hang, requires Force Quit) when opening RAW images in the Develop module or when generating previews during import. A macOS `spindump` captured during a live hang shows the cause is a **self-deadlock inside the Camera Raw engine** bundled with Lightroom Classic 15.3.
The operating system's own deadlock detector flagged it. The spindump header reads:
- `Deadlocked: 1 thread - Thread 0x11612a "Queue Processor - NegativeQueue_1"`
- `Blocked by Deadlock: 3 threads - "Queue Processor - OpenNegativesForDevelop_1, _2, _3"`
The deadlock graph points the thread **at itself**:
`Deadlock: ... thread 0x11612a "NegativeQueue_1" -> thread 0x11612a "NegativeQueue_1"`
The deadlocked thread's call stack runs through AgKernel (Lua) into CameraRaw, ending at:
`... (CameraRaw) -> std::mutex::lock() -> _pthread_mutex_firstfit_lock_slow -> __psynch_mutexwait`
with the kernel annotation: `(blocked by turnstile waiting for this thread - part of a deadlock)`.
This is consistent with a **re-entrant acquisition of a non-recursive mutex** on the `NegativeQueue_1` worker thread inside Camera Raw. Once that thread self-deadlocks, the three `OpenNegativesForDevelop` threads (the Develop module opening the selected RAW) block on the same lock, and the main thread blocks on it as well when the app is asked to quit — which is why quitting also hangs and Force Quit is the only exit.
## Lightroom Classic Version Number
15.3 (15.3) — `CameraRaw.lrtoolkit` bundled engine reported as version 15.3
## OS Version Number
macOS 26.5 (build 25F71), arm64e
## Hardware
Mac Studio (Mac14,14), Apple M2 Ultra, 192 GB RAM
## Camera Model / File Types
Occurs with DJI Mavic 3 Cine DNG files and Sony mirrorless RAW (ARW) files. **Note:** the hang also occurs on files that were already imported and are stored on the internal SSD, with no camera, card, or external device connected — so it is not specific to any camera, card reader, or storage device.
## Step-by-Step Reproduction Instructions
This is intermittent (timing/race dependent), but the conditions that trigger it are consistent:
1. Open or create a catalog and import RAW files (DJI Mavic 3 Cine DNG and/or Sony ARW).
2. In the Library module, browse images normally — this works fine (cached previews render).
3. Switch to the Develop module on a RAW image (or perform an import that generates previews).
4. Intermittently — and more reliably after several catalog open/close cycles in one session (e.g., around the third catalog of a multi-shoot day) — the application hangs completely and stops responding.
5. The hang also reproduces with images already imported and stored on the local internal SSD, with no device connected.
6. Attempting File > Quit (or Cmd-Q) at that point also hangs; Force Quit is required.
In the captured incident, the application was unresponsive for approximately 16 minutes (958 seconds) before the spindump was taken.
## Expected Result
Switching to Develop (or importing) renders the RAW image and the application remains responsive. Quitting the application succeeds normally.
## Actual Result
The application becomes permanently unresponsive and must be Force Quit. macOS identifies a self-deadlock on the Camera Raw `NegativeQueue_1` thread.
## Diagnostic Evidence (attached)
- **`lrc_spindump.txt`** — full macOS spindump captured during the live hang. Contains the kernel deadlock determination, the self-pointing deadlock graph, and the full call stacks of the deadlocked thread and the three blocked Develop threads.
- **Activity Monitor process sample** — independent capture taken minutes earlier in the same hang, showing the `OpenNegativesForDevelop_1` thread and the main thread (during app termination) both blocked acquiring the same Camera Raw mutex.
Additional facts that rule out common environmental causes:
- **Not memory pressure:** process footprint at the time of the hang was ~1.56 GB on a 192 GB machine.
- **Not storage/disk I/O:** no read/open/file-system calls in any blocked stack; the blocking primitive is an in-memory mutex.
- **Not GPU:** no Metal/GPU frames in any live thread, and the hang also reproduces with Preferences > Performance > Use Graphics Processor set to **Off**.
- **Not catalog corruption:** reproduces in brand-new, empty catalogs.
## Regression Note
This began after updating to 15.3 (April 2026). Rolling Lightroom Classic back to **15.2.1** appears to avoid the hang so far, which suggests the self-deadlock is a regression introduced in 15.3.