Hi folks! There have been a lot of crash reports for Reelism 2, and I wanted to mention that many of those issues should be fixed in the new dev builds of GZDoom.
Quick explanation: GZDoom used to allow actors to play sounds even after they had been destroyed and were awaiting garbage collection. In the unlikely event that this happened (ie., if an actor tried playing a sound after it was destroyed during the same tic function), GZDoom would crash. This was fixed last week in commit e281f992a
. A version of this bug was reported for Beautiful Doom
; I compared this crash log with the other crash reports we've received over the last month, and most of them reported the same access violation at address 0x1D4, which leads me to believe it's the same bug.
This seems to happen inconsistently and infrequently (see Rachael's reply about not being able to reproduce it
). So why was this rare crash bug happening so often in Reelism 2?
The big issue seems to be the number of actors. By the end of a game of Reelism, there are high-triple-digit numbers of actors always being alerted to the player, plus projectiles, plus items constantly spawning and unspawning. On Gutrot Island – the map with the most crash issues – the number of monsters can even get into the thousands. That significantly increases the odds of a rare event like this. It also explains why this bug was often reported happening during boss rounds, because at that point, the map would have accumulated five rounds worth of monsters.
The other issue, of course, is that we're awful at coding.
It's on the backburner to go back and manually fix other places where an actor might be able to play sounds after it's destroyed (see 0.61 for an example of this fix), but the engine-level changes to GZDoom should help alleviate this problem!