-
Notifications
You must be signed in to change notification settings - Fork 9.1k
Description
version 1.12.2521.0.
Unsure how I got into this state. Probably
- open windows 1, 2, 3. 1 is not the MRU window.
- Close 2 and 3.
- Try
globalSummonthe window. Terminal is in an infinite loop now insideMonarch::_getMostRecentPeasantID
but my repo's in the middle of a weird merge ATM so I can't verify on main
The symbols for this build don't include accurate source info, or at least my windbg is fucky. But what seems to be happening is _getMostRecentPeasantID is in the while (_mruPeasants.cbegin() + positionInList < _mruPeasants.cend()) loop. We're looking for ID=3, which we don't find in the list of peasants, so _getPeasant ends up returning null. We determine that we should have cleaned out that peasant ID from the MRU entries at that point, so we try again. However, we didn't. The MRU list still contains 3 at index 0, so we go looking for it again.
auto maybeThePeasant = peasantSearch == _peasants.end() ? nullptr : peasantSearch->second; in Monarch::_getPeasant ends up setting maybeThePeasant to null, which we then happily return (without cleaning up any MRU entries for it).
absolutely baseless list of possible commits to investigate:
- Add the ability to quit all terminal instances #11143
- Provide the focused tab title in the Tray Icon's context menu #11043
- Persist window layout on window close #10972
I did not have the tray icon enabled.
Filing on myself so I don't lose this, but I don't think I'm getting anything more out of this debugger
There's no valuable logs other than a million Monarch_Collect_WasDead(Id=3, Desktop={guid})