Closed bug report

Demo footprint3d beat grinds 10+ min with frozen progress when duplicate demo windows exist

John Lauer · ·closed by John Lauer

The footprint3d demo beat can take 10+ minutes on a box with duplicate window sets, with no caption/progress movement while it grinds

Seen live on AdomLapper 2026-08-24 while verifying the demo captions (0.9.248). The background job ran beats 1-5 briskly, then sat in footprint3d with frozen progress for roughly 12 minutes - and then COMPLETED, 6/6, no failures. Not a hang: a grind. The same build finished the whole tour in under 4 minutes on ConfRoomROG minutes earlier.

Conditions that likely made it slow: the box carried DUPLICATE demo window sets (an accidental staged call had opened one set before the background job opened its own), including two "3D Viewer" windows and no window titled "Footprint Editor" at observation time, so the beat's open/verify tiers were presumably walking retries against ambiguous windows.

Why it matters even though it finished:

  1. A frozen percent + a caption that expires (60s TTL) leaves the user staring at nothing for 10 minutes - it looks dead. I nearly "fixed" it with a bridge respawn on the wrong diagnosis; a user would have too.
  2. The single-occupancy job slot is held the whole time.

Fixes to make:

  1. Budget the beat handlers like #54 budgeted show_symbol: a beat that exceeds ~3x its estimate returns a failed beat with a reason instead of grinding silently.
  2. While a beat is overdue, refresh the caption and stepLabel with an honest "still working on X, Nx over its usual time" so frozen never looks dead.
  3. The demo should detect pre-existing demo windows from an earlier run and either adopt or close its OWN stale set (ownership ledger knows which are ours) before opening a new one.

Filed by the maintainer thread; captions themselves verified working on both boxes.

1 Reply

John Lauer ·

Closing: the conditions this described are gone from the tour. Since 0.9.299/0.9.305 every beat targets an exact window title (never a generic "Footprint Editor"/"3D Viewer" match), the tour starts with a clean slate that closes its own leftover viewers, footprint editors and demo documents, and the footprint beat is bounded (two attempts, pcbnew plugin wait, no unbounded restart). Since 0.9.339 each beat is also verified in front, painted and stable before it moves on, and the progress record shows per-beat timestamps, so a grind would be visible as such rather than a frozen bar. Today's runs on arav-rog (0.9.339) completed 6 of 6 in 96 to 159 s with the footprint3d beat at 12 s.

John Lauer closed this ·

Log in to reply.