You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@AaronRobinsonMSFT@jkoritzinsky There seems to be a bug in interop sharing of IL marshalling stubs. We do not include SuppressGCTransition in the sharing key, and thus can end up using SuppressGCTransition IL marshaling stub for non-SuppressGCTransition case, or vice versa.
I just helped @trylek to debug a crash that was caused by this problem. I think we should consider fixing it in servicing.
@jkotas Agreed. I was chatting with @elinor-fung about this today actually and she was thinking it was a caching bug. Not taking this attribute into consideration is definitely an issue - boo.
Description
The following code results in
Fatal error. Invalid Program: attempted to call a UnmanagedCallersOnly method from managed code.
.Configuration
.NET Version: 5.0.101
OS: Windows 10 (18363.1256)
Architecture: x64
Regression?
N/A, since a lot of this stuff didn't even exist on 3.1.
Other information
Notably, if at least one of the following is true, then the crash no longer occurs:
SuppressGCTransition
is removed fromset_value
.set_value
is modified to take along
instead of anint
.call_callback
is modified to take along
instead of anint
.The text was updated successfully, but these errors were encountered: