Closed focustense closed 2 years ago
After analyzing the dump file uploaded by the user (too big to post here), this was narrowed down to the ReferenceFollower
class recursing subrecords infinitely. This was subsequently narrowed down to a specific mod ("Dibella's Blessing - Children of the North") which has head parts that reference themselves in the Extra Parts.
This is definitely wrong in the original mod, but it has to be handled better in EasyNPC because crashes that don't produce a managed stack trace or output to the application's error log are nigh on impossible to debug. It was fortunate that this particular user was able and willing to generate a full memory dump for it.
The workaround should be pretty simple, just track previously-visited form keys and exit out of the recursion when a previously-seen key is seen again.
Reported in Discord, no error log or Windows .NET event log generated, only a basic crash report:
Search for
0xc00000fd
turns up that it is a stack overflow.