remove_npcs causes ctd without log #62369
Labels
<Bug>
This needs to be fixed
[C++]
Changes (can be) made in C++. Previously named `Code`
EOC: Effects On Condition
Anything concerning Effects On Condition
(P3 - Medium)
Medium (normal) priority
(S2 - Confirmed)
Bug that's been confirmed to exist
Describe the bug
See #60938 for a specific occurrence of the issue. Game hangs for a moment or two and then crashes without producing a log. According to investigations by @mqrause this is caused by a combination of the compass sidebar widget trying to update when forced redraw is enabled.
Call stack:
Steps to reproduce
http://files.catbox.moe/oevx9t.zip Load this save. Walk north in any build before 18761d7.
(Hosted 3rd party due to filesize of ~41MB. In case of loss, another save is available in #60938)
Expected behavior
Crashing is not desired.
Screenshots
No response
Versions and configuration
http://files.catbox.moe/oevx9t.zip Load this save. Walk north in any build before 18761d7.
(Hosted 3rd party due to filesize of ~41MB. In case of loss, another save is available in #60938)
Additional context
@I-am-Erk suggested applying debug invisibility to the NPC before mapgen removes him. I locally changed the EOC trigger to this:
It prevents the player from crashing in most instances, but it notably does not work against clairvoyance, which may be acquired with artifacts.
A further suggestion was to change the delay trigger to 1s, like this:
This also prevents the crash in all circumstances that were tested. It is unclear to me or anyone involved why. Per @mqrause's discord participation: "[...] I've put up #62362 to fix the crash. But I couldn't figure out what causes the state (he's still visible after completing the dialog) that could lead to the crash in the first place."
The text was updated successfully, but these errors were encountered: