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

All about bugs

View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.