Search Issue Tracker

Duplicate

Votes

0

Found in

2017.4

2019.3.9f1

2020.2

Issue ID

1238212

Regression

No

Silent crash on assertion when debugging a generic delegate with an alias directive using Visual Studio

CodeEditors

-

Reproduction steps:
1. Open the attached project "case_1238212"
2. Load the "SampleScene"
3. Open the "Test.cs" script using Visual Studio
4. Set a breakpoint at line 14 (f = test;)
5. Click on the "Attach to Unity and Play"
6. Open the Unity Editor and click on "Switch to debug mode"
-- Observe the crash

Reproduces on: 2017.4.40f1, 2018.4.21f1, 2019.3.9f1, 2020.1.0b7, 2020.1.0a5

Notes:
- the assertion which fails and crashes the Editor: * Assertion: should not be reached at ..\mono\mini\debugger-agent.c:9718
- the delegate must reference a non-static method for the crash to occur
- could not reproduce the issue without the "using F = System.Func<string, int, double>" alias directive
- tested with Visual Studio 2019 version 16.4.3 and 16.5.4
- could not reproduce the crash using Rider 2019.2.3

The stack trace when using Unity 2017.4:
0x00007FFD44C59179 (KERNELBASE) RaiseException
0x00007FFCEDDD1158 (mono) [c:\buildslave\mono\build\eglib\src\goutput.c:201] g_logv
0x00007FFCEDDD117C (mono) [c:\buildslave\mono\build\eglib\src\goutput.c:211] g_log
0x00007FFCEDEA02A1 (mono) [c:\buildslave\mono\build\mono\mini\debugger-agent.c:6050] assembly_commands
0x00007FFCEDEA65C6 (mono) [c:\buildslave\mono\build\mono\mini\debugger-agent.c:7570] debugger_thread
0x00007FFCEDF29E73 (mono) [c:\buildslave\mono\build\libgc\win32_threads.c:585] thread_start
0x00007FFD44EF7974 (KERNEL32) BaseThreadInitThunk
0x00007FFD47D2A261 (ntdll) RtlUserThreadStart

  1. Resolution Note (2020.2.X):

    Fixed in 2020.2.0a7

Add comment

Log in to post comment