Should .net core still be throwing a System.ExecutionEngineException?

0

I have a .netcore 3.1 (with some .netstandard 2.0 libraries, no external references and only managed code) project where I'm currently investigating an issue with managed heap corruption. Occasionally, it throws a System.ExecutionEngineException, with HResult=0x80131506, in different areas of the code (for instance, when creating a new list).

Update: I have removed the .net dll and rewrote it as a .net standard project, but the issue persists.

I haven't been able to create a simple project to demonstrate the issue, but when I looked up the exception on msdn, I got:

"This type previously indicated an unspecified fatal error in the runtime. The runtime no longer raises this exception so this type is obsolete."

It further lists that this type is obsolete for all of .net core. I've never had to delve so deep into .net to try and investigate heap corruption, so I'm not 100% sure how to phrase what I'm looking for, but I guess it comes down to:

  1. Does the fact that my project is throwing this exception give me any more insight into why the heap is corrupted? (can I track down where this is coming from)
  2. Is it still possible for .net to throw this exception if something goes wrong, given that it's not supposed to be thrown?
  3. If it's not just an artifact of "you have memory corruption somewhere", is there a tool/technique to narrow this down somehow?
c#
memory
clr
asked on Stack Overflow Apr 9, 2021 by Kolichikov • edited Apr 13, 2021 by Kolichikov

0 Answers

Nobody has answered this question yet.


User contributions licensed under CC BY-SA 3.0