-
Notifications
You must be signed in to change notification settings - Fork 4.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[dotnet-sdk-8.0.100-preview.6.23316.32] Applications failed with Fatal error. Internal CLR error. (0x80131506) #87807
Comments
Full stack:
It happened while loading virtual method |
Looks like Looked a little with @jkoritzinsky and there's some oddities where 00007ffc`2d48b988 488d45f7 lea rax, [rbp-9]
00007ffc`2d48b98c 4d8bcf mov cbDataSize (r9), pEndSig2 (r15)
00007ffc`2d48b98f 4889442440 mov qword ptr [rsp+40h], rax # spill CompareState state to stack
00007ffc`2d48b994 488d5567 lea rdx, [rbp+67h]
00007ffc`2d48b998 488b457f mov rax, qword ptr [rbp+7Fh]
00007ffc`2d48b99c 488d4d47 lea rcx, [rbp+47h]
00007ffc`2d48b9a0 4889442438 mov qword ptr [rsp+38h], pSubst2 (rax)
00007ffc`2d48b9a5 4d8bc4 mov r8, pEndSig1 (r12)
00007ffc`2d48b9a8 488b455f mov pSubst2 (rax), qword ptr [rbp+5Fh]
00007ffc`2d48b9ac 4889442430 mov qword ptr [rsp+30h], pSubst1 (rax)
00007ffc`2d48b9b1 488b4577 mov pSubst1 (rax), qword ptr [rbp+77h]
00007ffc`2d48b9b5 4889442428 mov qword ptr [rsp+28h], pModule2 (rax)
00007ffc`2d48b9ba 488b4557 mov pModule2 (rax), qword ptr [rbp+57h]
00007ffc`2d48b9be 4889442420 mov qword ptr [rsp+20h], pModule1 (rax)
00007ffc`2d48b9c3 e8e8821200 call coreclr!MetaSig::CompareElementType (7ffc2d5b3cb0) Then 3655 00007ffc`2d5b3cb0 48895c2410 mov qword ptr [rsp+10h],rbx
3655 00007ffc`2d5b3cb5 55 push rbp
3655 00007ffc`2d5b3cb6 56 push rsi
3655 00007ffc`2d5b3cb7 57 push rdi
3655 00007ffc`2d5b3cb8 4154 push r12
3655 00007ffc`2d5b3cba 4155 push r13
3655 00007ffc`2d5b3cbc 4156 push r14
3655 00007ffc`2d5b3cbe 4157 push r15
3655 00007ffc`2d5b3cc0 488d6c24f9 lea rbp,[rsp-7]
3655 00007ffc`2d5b3cc5 4881ecd0000000 sub rsp,0D0h
3673 00007ffc`2d5b3ccc 488b8587000000 mov rax,qword ptr [rbp+87h] # this is the slot for the CompareState* parameter. And later in the method this part: runtime/src/coreclr/vm/siginfo.cpp Lines 3739 to 3743 in f3b599e
gets translated to 00007ffc`2d5b3d67 4c8d8587000000 lea r8, [rbp+87h]
00007ffc`2d5b3d6e c7858700000022000000 mov dword ptr [rbp+87h], 22h
00007ffc`2d5b3d78 488bd7 mov rdx, pEndSig1 (rdi)
00007ffc`2d5b3d7b c7454722000000 mov dword ptr [rbp+47h], 22h
00007ffc`2d5b3d82 488bcb mov rcx, pSig1 (rbx)
00007ffc`2d5b3d85 e83672f9ff call coreclr!CorSigUncompressElementType_EndPtr (7ffc2d54afc0)
00007ffc`2d5b3d8a 8bc8 mov ecx, eax
00007ffc`2d5b3d8c e8af17f6ff call coreclr!IfFailThrow (7ffc2d515540)
00007ffc`2d5b3d91 4c8d4547 lea r8, [rbp+47h]
00007ffc`2d5b3d95 498bd7 mov rdx, r15
00007ffc`2d5b3d98 498bce mov rcx, r14
00007ffc`2d5b3d9b e82072f9ff call coreclr!CorSigUncompressElementType_EndPtr (7ffc2d54afc0) So the third parameter for CorSigUncompressElementType_EndPtr gets the same address as the state parameter. Similarly in the switch: runtime/src/coreclr/vm/siginfo.cpp Lines 3923 to 3932 in f3b599e
gets translated to: 0007ffc`2d5b4090 4c8d4547 lea r8, [rbp+47h]
00007ffc`2d5b4094 488bd7 mov rdx, pEndSig1 (rdi)
00007ffc`2d5b4097 488bcb mov rcx, pSig1 (rbx)
00007ffc`2d5b409a e87528f6ff call coreclr!CorSigUncompressToken_EndPtr (7ffc2d516914)
00007ffc`2d5b409f 8bc8 mov ecx, eax
00007ffc`2d5b40a1 e89a14f6ff call coreclr!IfFailThrow (7ffc2d515540)
00007ffc`2d5b40a6 4c8d8587000000 lea r8, [rbp+87h]
00007ffc`2d5b40ad 498bd7 mov rdx, r15
00007ffc`2d5b40b0 498bce mov rcx, r14
00007ffc`2d5b40b3 e85c28f6ff call coreclr!CorSigUncompressToken_EndPtr (7ffc2d516914)
00007ffc`2d5b40b8 8bc8 mov ecx, eax
00007ffc`2d5b40ba e88114f6ff call coreclr!IfFailThrow (7ffc2d515540)
00007ffc`2d5b40bf 488b06 mov rax, qword ptr [rsi]
00007ffc`2d5b40c2 4c8b4d6f mov r9, qword ptr [rbp+6Fh]
00007ffc`2d5b40c6 4c8b4567 mov r8, qword ptr [rbp+67h]
00007ffc`2d5b40ca 8b9587000000 mov edx, dword ptr [rbp+87h]
00007ffc`2d5b40d0 8b4d47 mov ecx, dword ptr [rbp+47h]
00007ffc`2d5b40d3 4889442420 mov qword ptr [rsp+20h], rax
00007ffc`2d5b40d8 e8df14f6ff call coreclr!CompareTypeTokens (7ffc2d5155b And for example, the busted pNext gets written at:
|
Talked with @jkotas, this is caused by a PGO optimization issue. Opened https://developercommunity.visualstudio.com/t/PGO-optimized-build-ends-up-reusing-argu/10398027 |
@hoyosjs @mangod9 Thank you for looking into this bug. We are in validation of .NET 8.0 Preview 6, could you confirm whether this issue is a blocker for .NET 8.0 Preview 6? |
This issue should be .NET 8.0 Preview 6 blocking. Does it still repro in the latest .NET 8.0 Preview 6 builds? If it still repros, it should be fixed by backporting up-to-date PGO data to P6. |
who has the next step to address this issue? Is work in-flight? |
@hoyosjs is investigating. Per JanK's suggestion, we are determining if current PGO data in main resolves the issue against P6, else we shall consider other options. One other option would be to disable PGO optimization in P6. |
Thank you all for the quick turnaround. Yes, it still repros on the latest P6 build dotnet-sdk-8.0.100-preview.6.23328.9 |
The latest p6 SDK fixed this confirmed: 8.0.100-preview.6.23329.15 |
There is no remaining work to do for this issue in this repo. |
Verified the 6 affected apps with dotnet-sdk-8.0.100-preview.6.23330.14, this issue has been fixed. Thank you! |
Description
When testing the 3rd party apps with the latest .NET 8.0 Preview 6 SDK build, multiple apps (6 apps in our Lab) were affected and reported error: 'Fatal error. Internal CLR error. (0x80131506)' when launching or running.
Application Name: EventStore, SmartStore, grandnode, GoNorth, grandnode2, globaltools
OS: Windows 10 21H2
CPU: X64
.NET Build Number: dotnet-sdk-8.0.100-preview.6.23316.32
App Github Link: https://github.com/EventStore/EventStore
Serilog.Expression Source: Releases · serilog/serilog-expressions (github.com)
or checking the app source at https://devdiv.visualstudio.com/DevDiv/_workitems/edit/1839140
Reproduction Steps
Minimal Repro steps (Demo attached): InternalCLRDemo.zip
Expected behavior
App will launch success.
Actual behavior
Launch failed with exception "System.ExecutionEngineException: 'Exception of type 'System.ExecutionEngineException' was thrown.'" and the following error:
Regression?
Yes.
Verify Scenarios:
Known Workarounds
No response
Configuration
No response
Other information
App Repro steps:
The machine only has dotnet-sdk-8.0.100-preview.6.23316.32 installed and DOTNET_ROLL_FORWARD_ON_NO_CANDIDATE_FX set as 2.
Expected Result:
launch the app successfully.
Actual Result:
Launch the app failed with the following error:
@dotnet-actwx-bot @dotnet/compat
The text was updated successfully, but these errors were encountered: