Created attachment 15320 [details]
SIGSEGV Stack Trace
This is a complex console app that spawns 25 worker threads, it works with multiple transient data structures; it deserializes a lot of objects (using Newtonsoft.Json), and it may even create some circular references that put extra burden on the GC. However, the app is fast and stable on Windows. On Mono 4.5, however, it throws a SIGSEGV (see attached stack trace) after running for about 20 minutes. The input to the app can be randomized and the SIGSEGV still happens after 20 minutes, suggesting that some resource is becoming scarce, rather than a specific condition in code being hit. Furthermore, if we create a simple proof-of-concept experiment that calls on the same methods on the same referenced libraries, it will run without issues, which also seems to point to a GC problem. The SIGSEGV and stacktrace are very similar if the app is built on Windows using Visual Studio, or on Linux using xbuild, and has been hit with and without --gc=sgen (which for Mono 4.5 doesn't seem to make any difference). Any ideas are appreciated.