Skip to content

Fix crash/hang on tab close + shutdown, and tutorial UI bugs (found in #416 review) - #440

Merged
VedMistry42 merged 2 commits into
EY/MultiTabsfrom
PR416Fixes
Aug 29, 2026
Merged

Fix crash/hang on tab close + shutdown, and tutorial UI bugs (found in #416 review)#440
VedMistry42 merged 2 commits into
EY/MultiTabsfrom
PR416Fixes

Conversation

@VedMistry42

Copy link
Copy Markdown

Found these while reviewing #416, opening a fix branch off EY/MultiTabs directly since these bugs need to be resolved before that PR merges.

Crash/hang fixes:

  • Closing a tab (or quitting the app) while it had an in-flight network request could force-kill a worker thread blocked in a network syscall, corrupting shared networking state and hanging all future model loads until restart
  • Added local connection cancellation (RequestRegistry) so requests resolve promptly when a tab is closed/abandoned, and deferred tab destruction until any in-flight request has actually settled
  • Tested extensively including repeated Cmd+Q-mid-process repros, multiple simultaneous pending tabs, and quitting while loading from the Home tab

Tutorial UI fixes:

  • Steps checked a different tab accessor than the one actually used to load models, causing the tutorial to appear frozen and never advance
  • Media Clipboard and Interface Summary steps failed to highlight anything (clipboard not shown by default; separately, an empty-rect painting bug drew a stray box)
  • Spam-clicking Next created duplicate tabs (no guard against repeated calls while a load was in flight)
  • Finishing the tutorial reset the auto-loaded tab instead of closing it, leaving it permanently blank
  • One originally-reported issue (tutorial overlay covering the Home page) was intentionally left as-is after testing — preferred the original centered position

Not fixed here, flagged separately as out of scope (confirmed pre-existing via diff against develop, not introduced by #416):

  • A crash in MidiDisplayComponent when loading a malformed MIDI file
  • The Media Clipboard visibility default itself (separate from the tutorial highlight bug fixed above)

On the retry-crash bug (dangling pointer in ModelSelectionWidget): diagnosed once with a full stack trace early on, but extensively retested since — including under AddressSanitizer across multiple cycles — and unable to reproduce after the ModelTab.h changes in this branch. Not confirmed as an active blocker, noting here in case it resurfaces.

Tested manually throughout, plus an AddressSanitizer build for the retry-crash investigation.

Closing a tab (or quitting the app) while it had an in-flight network
request could force-kill a blocked worker thread, corrupting shared
networking state and hanging all future model loads. Adds local
connection cancellation (RequestRegistry) and defers tab destruction
until any in-flight request has actually settled.

Found while reviewing PR #416.
…tabs, blank tab on finish)

- Tutorial steps checked the wrong tab accessor, causing it to appear
  frozen and never advance
- Media Clipboard/Interface Summary steps failed to highlight anything
- Interface Summary painted a stray box from an unrelated empty-rect bug
- Spam-clicking Next created duplicate tabs (no in-flight-load guard)
- Finishing the tutorial reset the auto-loaded tab instead of closing it,
  leaving it permanently blank

Found while reviewing PR #416.
@VedMistry42
VedMistry42 merged commit 71b75db into EY/MultiTabs Aug 29, 2026
3 of 4 checks passed
@VedMistry42
VedMistry42 deleted the PR416Fixes branch August 29, 2026 23:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant