[PR #12666] Fix a pair of crashes, likely related to defterm #29167

Open
opened 2026-01-31 09:33:13 +00:00 by claunia · 0 comments
Owner

Original Pull Request: https://github.com/microsoft/terminal/pull/12666

State: closed
Merged: Yes


This fixes a pair of inbox bugs, hopefully.

  • MSFT:35731327
    • There's a small window where a peasant is being created when a monarch is exiting. When that happens, the new peasant will try to tell itself (the new monarch) when the peasant was last activated, but because the window hasn't actually finished instantiating, the peasant doesn't yet have a LastActivatedArgs to tell the monarch about.
  • MSFT:32518679 (ARM version) / MSFT:32279047 (AMD64 version)
    • This one's tricky. Not totally sure this is the fix, bug assuming my hypothesis is correct, this should fix it. Regardless, this does fix a bug that was in the code.
    • If the king dies right as another window is starting, right while the new window is starting to ProposeCommandline to the monarch, the monarch could die. If it does, the new window just explodes too. Not what you want.

Vaguely tested the second bug manually, by setting breakpoints in the monarch, starting a defterm, then exiting the monarch while the handoff was in process. That now creates a new window, so that's at least something. RemotingTests::TestProposeCommandlineWithDeadMonarch was the closest I could get to testing that.

The first bug only got an eye check. Not sure how to repro, but I figured yeet and hopefully we get it.

**Original Pull Request:** https://github.com/microsoft/terminal/pull/12666 **State:** closed **Merged:** Yes --- This fixes a pair of inbox bugs, hopefully. * MSFT:35731327 * There's a small window where a peasant is being created when a monarch is exiting. When that happens, the new peasant will try to tell itself (the new monarch) when the peasant was last activated, but because the window hasn't actually finished instantiating, the peasant doesn't yet have a LastActivatedArgs to tell the monarch about. * MSFT:32518679 (ARM version) / MSFT:32279047 (AMD64 version) * This one's tricky. Not totally sure this is the fix, bug assuming my hypothesis is correct, this should fix it. Regardless, this does fix a bug that was in the code. * If the king dies right as another window is starting, right while the new window is starting to ProposeCommandline to the monarch, the monarch could die. If it does, the new window just explodes too. Not what you want. Vaguely tested the second bug manually, by setting breakpoints in the monarch, starting a defterm, then exiting the monarch while the handoff was in process. That now creates a new window, so that's at least something. `RemotingTests::TestProposeCommandlineWithDeadMonarch` was the closest I could get to testing that. The first bug only got an eye check. Not sure how to repro, but I figured yeet and hopefully we get it. * [x] Closes #12624
claunia added the pull-request label 2026-01-31 09:33:13 +00:00
Sign in to join this conversation.
No Label pull-request
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/terminal#29167