Skip to main content
Participating Frequently
March 11, 2026
Question

Extra Processes called in tools switching / panels collapsing-opening

  • March 11, 2026
  • 0 replies
  • 23 views

Every time the user performs any of the following actions in the Develop module,
the application becomes "Not Responding" for 3–5 seconds before resuming:

  • Collapsing or expanding any panel (Basic, Tone Curve, HSL, Detail, etc.)
  • Switching between tools (Crop, Heal, Masking, Object Remove, etc.)
  • Switching from Develop to Library module and back

The freeze does NOT occur when:
  • Navigating between photos (Next / Previous)
  • Adjusting sliders within an already-open panel

This is a clear regression. The behavior was not present in LrC 14.x.
The issue was first reported by many users with LrC 15.0 and was NOT fixed in 15.1 or 15.2.

I performed detailed diagnostics with Claude Cowork; a full user-mode process dump was captured during an active "Not Responding" freeze and analyzed with WinDbg using the Microsoft public symbol server.

Root cause was identified via WinDbg analysis.

When any panel or tool transition occurs in LrC 15.x, the substrate event system spawns approximately 60 parallel Lua tasks via AgMainThreadAction_trigger. Each task pushes a request to AgTransitQueue and awaits a synchronous reply from the main thread.

The main thread, upon receiving its own ASAP task, executes a Lua script that calls updateWindow_L → NtUserUpdateWindow, triggering a synchronous WM_PAINT re-entrant callback. While the main thread processes WM_PAINT (painting all affected slider controls), it cannot drain the 60 pending AgTransitQueue items.

After WM_PAINT completes, the main thread processes all 60 queued items sequentially, consystent with new AI feature observers and event handlers (Object Remove, Masking AI, ONNX model lifecycle)
registering for panel transition events in LrC 15.0.