Bug 45684 - SGen systematically crashes while unloading child domain
Summary: SGen systematically crashes while unloading child domain
Status: NEW
Alias: None
Product: Runtime
Classification: Mono
Component: GC (show other bugs)
Version: 4.6.0 (C8)
Hardware: PC Windows
: --- normal
Target Milestone: ---
Assignee: Bugzilla
Depends on:
Reported: 2016-10-19 08:03 UTC by Seifeddine Dridi
Modified: 2016-10-26 02:11 UTC (History)
3 users (show)

See Also:
Is this bug a regression?: ---
Last known good build:

C++ testcase (908 bytes, text/plain)
2016-10-19 08:03 UTC, Seifeddine Dridi
Simple C# program (186 bytes, text/x-csharp)
2016-10-19 08:04 UTC, Seifeddine Dridi
.NET binary (3.00 KB, application/x-ms-dos-executable)
2016-10-19 08:04 UTC, Seifeddine Dridi

Description Seifeddine Dridi 2016-10-19 08:03:19 UTC
Created attachment 18115 [details]
C++ testcase

SGen systematically crashes when unloading a child domain that has been created in a separate thread. The error message is:

"* Assertion: should not be reached at c:\j\workspace\v\repos\mono\mono\sgen\sgen-scan-object.h:90"

I have attached a simple test case which can be used to reproduce the error.
Comment 1 Seifeddine Dridi 2016-10-19 08:04:10 UTC
Created attachment 18116 [details]
Simple C# program
Comment 2 Seifeddine Dridi 2016-10-19 08:04:41 UTC
Created attachment 18117 [details]
.NET binary
Comment 3 Seifeddine Dridi 2016-10-19 08:10:21 UTC
The crash can still be reproduced if we attach the child domain to the main thread instead of creating a new one.
Comment 4 Zoltan Varga 2016-10-26 02:11:25 UTC
Unfortunately the appdomain support in our embedding api is kinda flaky/confusing so these issues can happen.

Note You need to log in before you can comment on or make changes to this bug.