Skip to content
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

Test failure Loader\\classloader\\DictionaryExpansion\\DictionaryExpansion\\DictionaryExpansion.cmd #75244

Closed
v-wenyuxu opened this issue Sep 8, 2022 · 9 comments · Fixed by #82841
Assignees
Labels
arch-x86 area-VM-coreclr disabled-test The test is disabled in source code against the issue os-windows
Milestone

Comments

@v-wenyuxu
Copy link

v-wenyuxu commented Sep 8, 2022

Run: runtime-coreclr outerloop 20220907.7

Failed test:

coreclr windows x86 Checked @ Windows.10.Amd64.Open

- Loader\\classloader\\DictionaryExpansion\\DictionaryExpansion\\DictionaryExpansion.cmd
Assert failure(PID 6192 [0x00001830], Thread: 6808 [0x1a98]): !"Unexpected code in temporary entrypoint"

CORECLR! MethodDescChunk::GetMethodDescFromCompactEntryPoint + 0x3C (0x70c73d86)
CORECLR! MethodDesc::GetMethodDescFromStubAddr + 0xE0 (0x70c73ef2)
CORECLR! MethodDesc::GetTemporaryEntryPoint + 0xF9 (0x70c75c49)
CORECLR! MethodTableBuilder::SetupMethodTable2 + 0x1A71 (0x70e39939)
CORECLR! MethodTableBuilder::BuildMethodTableThrowing + 0x132C (0x70e20e15)
CORECLR! ClassLoader::CreateTypeHandleForTypeDefThrowing + 0x121A (0x70e24fe4)
CORECLR! ClassLoader::CreateTypeHandleForTypeKey + 0x2BF (0x70b96843)
CORECLR! ClassLoader::DoIncrementalLoad + 0x374 (0x70b9754e)
CORECLR! ClassLoader::LoadTypeHandleForTypeKey_Body + 0x7FC (0x70ba006b)
CORECLR! ClassLoader::LoadTypeHandleForTypeKey + 0x177 (0x70b9f390)
File: D:\a_work\1\s\src\coreclr\vm\method.cpp Line: 2655
Image: C:\h\w\B71E0A06\p\corerun.exe

Return code:      1
Raw output file:      C:\h\w\B71E0A06\w\A9D10958\uploads\Reports\Loader.classloader\DictionaryExpansion\DictionaryExpansion\DictionaryExpansion.output.txt
Raw output:
BEGIN EXECUTION
"C:\h\w\B71E0A06\p\corerun.exe" -p "System.Reflection.Metadata.MetadataUpdater.IsSupported=false"  DictionaryExpansion.dll
TEST: FuncOnGenClass<String>
TEST: FuncOnGenClass<Object>
TEST: FuncOnGenClass2<Object>
TEST: FuncOnGenClass<Test_DictionaryExpansion>
TEST: GFunc<string>
TEST: GFunc<object>(i)
TEST: GFunc2<object>(i)
TEST: GFunc<Test_DictionaryExpansion>(i)
TEST: FuncOnGenClass<Object>
TEST: FuncOnGenClass<Object>
TEST: FuncOnGenClass2<Object>
TEST: FuncOnGenClass<Object>
TEST: GFunc<string>
TEST: GFunc<object>(i)
TEST: GFunc2<object>(i)
TEST: GFunc<Test_DictionaryExpansion>(i)
TEST: FuncOnGenClass<Object>
TEST: FuncOnGenClass<Object>
TEST: FuncOnGenClass2<Object>
TEST: FuncOnGenClass<Object>
TEST: GFunc<string>
TEST: GFunc<object>(i)
TEST: GFunc2<object>(i)
TEST: GFunc<Test_DictionaryExpansion>(i)
TEST: FuncOnGenClass<String>
TEST: FuncOnGenClass<Object>
TEST: FuncOnGenClass2<Object>
TEST: FuncOnGenClass<Test_DictionaryExpansion>
TEST: GFunc<string>
TEST: GFunc<object>(i)
TEST: GFunc2<object>(i)
TEST: GFunc<Test_DictionaryExpansion>(i)
TEST: FuncOnGenClass<String>
TEST: FuncOnGenClass<Object>
TEST: FuncOnGenClass2<Object>
TEST: FuncOnGenClass<Test_DictionaryExpansion>
TEST: GFunc<string>
TEST: GFunc<object>(i)
TEST: GFunc2<object>(i)
TEST: GFunc<Test_DictionaryExpansion>(i)
Expected: 100
Actual: -1073740286
END EXECUTION - FAILED
FAILED
Test Harness Exitcode is : 1
To run the test:

set CORE_ROOT=C:\h\w\B71E0A06\p
C:\h\w\B71E0A06\w\A9D10958\e\Loader\classloader\DictionaryExpansion\DictionaryExpansion\DictionaryExpansion.cmd
Expected: True
Actual:   False


Stack trace
   at Loader_classloader._DictionaryExpansion_DictionaryExpansion_DictionaryExpansion_._DictionaryExpansion_DictionaryExpansion_DictionaryExpansion_cmd()
   at System.RuntimeMethodHandle.InvokeMethod(Object target, Void** arguments, Signature sig, Boolean isConstructor)
   at System.Reflection.MethodInvoker.Invoke(Object obj, IntPtr* args, BindingFlags invokeAttr)

Error Message

Fill the error message using known issues guidance.

{
  "ErrorMessage": "Unexpected code in temporary entrypoint",
  "BuildRetry": false
}

Report

Build Definition Test Pull Request
170489 dotnet/runtime Loader.classloader.WorkItemExecution #82054
170305 dotnet/runtime Loader.classloader.WorkItemExecution #82048
170070 dotnet/runtime Loader.classloader.WorkItemExecution #82044
169897 dotnet/runtime Loader.classloader.WorkItemExecution #82020
169247 dotnet/runtime Loader.classloader.WorkItemExecution #80960
169177 dotnet/runtime Loader.classloader.WorkItemExecution #81747
169101 dotnet/runtime Loader.classloader.WorkItemExecution #82020
168736 dotnet/runtime Loader.classloader.WorkItemExecution
168737 dotnet/runtime Loader.classloader.WorkItemExecution #81612
168679 dotnet/runtime Loader.classloader.WorkItemExecution
168377 dotnet/runtime Loader.classloader.WorkItemExecution
167566 dotnet/runtime Loader.classloader.WorkItemExecution
167505 dotnet/runtime Loader.classloader.WorkItemExecution #81960
167112 dotnet/runtime Loader.classloader.WorkItemExecution #81947
167273 dotnet/runtime Loader.classloader.WorkItemExecution #81956
167228 dotnet/runtime Loader.classloader.WorkItemExecution #81953
166249 dotnet/runtime Loader.classloader.WorkItemExecution #81916
166084 dotnet/runtime Loader.classloader.WorkItemExecution #81830
165663 dotnet/runtime Loader.classloader.WorkItemExecution #81892
165339 dotnet/runtime Loader.classloader.WorkItemExecution
165031 dotnet/runtime Loader.classloader.WorkItemExecution
163081 dotnet/runtime Loader.classloader.WorkItemExecution #81721
164926 dotnet/runtime Loader.classloader.WorkItemExecution #81860
164625 dotnet/runtime Loader.classloader.WorkItemExecution #79169
164105 dotnet/runtime Loader.classloader.WorkItemExecution #78852
163875 dotnet/runtime Loader.classloader.WorkItemExecution #81818
163251 dotnet/runtime Loader.classloader.WorkItemExecution #81518
163549 dotnet/runtime Loader.classloader.WorkItemExecution
163174 dotnet/runtime Loader.classloader.WorkItemExecution #79169
162886 dotnet/runtime Loader.classloader.WorkItemExecution #80382
162850 dotnet/runtime Loader.classloader.WorkItemExecution #81772
162691 dotnet/runtime Loader.classloader.WorkItemExecution #81760
161394 dotnet/runtime Loader.classloader.WorkItemExecution #79544
160937 dotnet/runtime Loader.classloader.WorkItemExecution #80963
162566 dotnet/runtime Loader.classloader.WorkItemExecution #81756
162200 dotnet/runtime Loader.classloader.WorkItemExecution #81747
162159 dotnet/runtime Loader.classloader.WorkItemExecution #81612
162096 dotnet/runtime Loader.classloader.WorkItemExecution
162002 dotnet/runtime Loader.classloader.WorkItemExecution #81518
161973 dotnet/runtime Loader.classloader.WorkItemExecution #81734
161586 dotnet/runtime Loader.classloader.WorkItemExecution #81711
161207 dotnet/runtime Loader.classloader.WorkItemExecution #81439
160488 dotnet/runtime Loader.classloader.WorkItemExecution #81666
160846 dotnet/runtime Loader.classloader.WorkItemExecution #81635
157062 dotnet/runtime Loader.classloader.WorkItemExecution #81532
160676 dotnet/runtime Loader.classloader.WorkItemExecution #81682
160659 dotnet/runtime Loader.classloader.WorkItemExecution #81651
160324 dotnet/runtime Loader\classloader\DictionaryExpansion\DictionaryExpansion\DictionaryExpansion.cmd
160167 dotnet/runtime Loader.classloader.WorkItemExecution
160036 dotnet/runtime Loader\classloader\DictionaryExpansion\DictionaryExpansion\DictionaryExpansion.cmd
159946 dotnet/runtime Loader.classloader.WorkItemExecution #81635
159233 dotnet/runtime Loader.classloader.WorkItemExecution #81547
159730 dotnet/runtime Loader.classloader.WorkItemExecution #81632
159337 dotnet/runtime Loader.classloader.WorkItemExecution #81618
159356 dotnet/runtime Loader.classloader.WorkItemExecution #79544
159266 dotnet/runtime Loader.classloader.WorkItemExecution #80573
159133 dotnet/runtime Loader.classloader.WorkItemExecution #81612
158976 dotnet/runtime Loader.classloader.WorkItemExecution #79544
158919 dotnet/runtime Loader.classloader.WorkItemExecution
158671 dotnet/runtime Loader.classloader.WorkItemExecution #81052
158424 dotnet/runtime Loader.classloader.WorkItemExecution
158412 dotnet/runtime Loader.classloader.WorkItemExecution #81412
158275 dotnet/runtime Loader.classloader.WorkItemExecution #81582
157900 dotnet/runtime Loader.classloader.WorkItemExecution #74623
157859 dotnet/runtime Loader.classloader.WorkItemExecution #81539
157588 dotnet/runtime Loader.classloader.WorkItemExecution #81052
157231 dotnet/runtime Loader.classloader.WorkItemExecution #81538
157075 dotnet/runtime Loader.classloader.WorkItemExecution #81073
156985 dotnet/runtime Loader.classloader.WorkItemExecution
155751 dotnet/runtime Loader.classloader.WorkItemExecution #81461
155708 dotnet/runtime Loader.classloader.WorkItemExecution #81480
155569 dotnet/runtime Loader.classloader.WorkItemExecution #81474
155436 dotnet/runtime Loader.classloader.WorkItemExecution
155327 dotnet/runtime Loader.classloader.WorkItemExecution #81461
155234 dotnet/runtime Loader.classloader.WorkItemExecution #81454
155139 dotnet/runtime Loader.classloader.WorkItemExecution
154824 dotnet/runtime Loader.classloader.WorkItemExecution #79134
154721 dotnet/runtime Loader.classloader.WorkItemExecution #81407
154673 dotnet/runtime Loader.classloader.WorkItemExecution #79783
154496 dotnet/runtime Loader.classloader.WorkItemExecution #81010
154370 dotnet/runtime Loader.classloader.WorkItemExecution #81122
154278 dotnet/runtime Loader.classloader.WorkItemExecution #81430
153385 dotnet/runtime Loader.classloader.WorkItemExecution #80324
152807 dotnet/runtime Loader.classloader.WorkItemExecution #81267
152615 dotnet/runtime Loader.classloader.WorkItemExecution #81206
152270 dotnet/runtime Loader.classloader.WorkItemExecution #79283
152171 dotnet/runtime Loader.classloader.WorkItemExecution #81343
152115 dotnet/runtime Loader\classloader\DictionaryExpansion\DictionaryExpansion\DictionaryExpansion.cmd
152024 dotnet/runtime Loader.classloader.WorkItemExecution #81331
151932 dotnet/runtime Loader\classloader\DictionaryExpansion\DictionaryExpansion\DictionaryExpansion.cmd
151792 dotnet/runtime Loader.classloader.WorkItemExecution #81267
151557 dotnet/runtime Loader.classloader.WorkItemExecution #81312
151256 dotnet/runtime Loader.classloader.WorkItemExecution #81243
151290 dotnet/runtime Loader.classloader.WorkItemExecution #80401
151230 dotnet/runtime Loader.classloader.WorkItemExecution #81135
150147 dotnet/runtime Loader.classloader.WorkItemExecution #78544

Summary

24-Hour Hit Count 7-Day Hit Count 1-Month Count
7 40 96
@v-wenyuxu v-wenyuxu added arch-x86 os-windows blocking-outerloop Blocking the 'runtime-coreclr outerloop' and 'runtime-libraries-coreclr outerloop' runs labels Sep 8, 2022
@dotnet-issue-labeler
Copy link

I couldn't figure out the best area label to add to this issue. If you have write-permissions please help me learn by adding exactly one area label.

@ghost ghost added the untriaged New issue has not been triaged by the area owner label Sep 8, 2022
@mangod9 mangod9 added this to the 8.0.0 milestone Sep 12, 2022
@ghost ghost removed the untriaged New issue has not been triaged by the area owner label Sep 12, 2022
@v-wenyuxu
Copy link
Author

Failed again in: runtime-coreclr outerloop 20221018.4

Failed test:

coreclr windows x86 Checked @ Windows.10.Amd64.Open

- Loader\\classloader\\DictionaryExpansion\\DictionaryExpansion\\DictionaryExpansion.cmd

Error message:

Assert failure(PID 6576 [0x000019b0], Thread: 8720 [0x2210]): !"Unexpected code in temporary entrypoint"

CORECLR! MethodDescChunk::GetMethodDescFromCompactEntryPoint + 0x3C (0x70a8537c)
CORECLR! MethodDesc::GetMethodDescFromStubAddr + 0xE0 (0x70a854e8)
CORECLR! MethodDesc::GetTemporaryEntryPoint + 0xF9 (0x70a8723f)
CORECLR! MethodTableBuilder::SetupMethodTable2 + 0x1A71 (0x70c4c240)
CORECLR! MethodTableBuilder::BuildMethodTableThrowing + 0x132C (0x70c33725)
CORECLR! ClassLoader::CreateTypeHandleForTypeDefThrowing + 0x121A (0x70c378f4)
CORECLR! ClassLoader::CreateTypeHandleForTypeKey + 0x2BF (0x709a6af3)
CORECLR! ClassLoader::DoIncrementalLoad + 0x374 (0x709a77fe)
CORECLR! ClassLoader::LoadTypeHandleForTypeKey_Body + 0x7FC (0x709b0319)
CORECLR! ClassLoader::LoadTypeHandleForTypeKey + 0x177 (0x709af63e)
File: D:\a_work\1\s\src\coreclr\vm\method.cpp Line: 2641
Image: C:\h\w\9E3C0929\p\corerun.exe

Return code:      1
Raw output file:      C:\h\w\9E3C0929\w\B1E809DC\uploads\Reports\Loader.classloader\DictionaryExpansion\DictionaryExpansion\DictionaryExpansion.output.txt
Raw output:
BEGIN EXECUTION
"C:\h\w\9E3C0929\p\corerun.exe" -p "System.Reflection.Metadata.MetadataUpdater.IsSupported=false"  DictionaryExpansion.dll
TEST: FuncOnGenClass<String>
TEST: FuncOnGenClass<Object>
TEST: FuncOnGenClass2<Object>
TEST: FuncOnGenClass<Test_DictionaryExpansion>
TEST: GFunc<string>
TEST: GFunc<object>(i)
TEST: GFunc2<object>(i)
TEST: GFunc<Test_DictionaryExpansion>(i)
TEST: FuncOnGenClass<Object>
TEST: FuncOnGenClass<Object>
TEST: FuncOnGenClass2<Object>
TEST: FuncOnGenClass<Object>
TEST: GFunc<string>
TEST: GFunc<object>(i)
TEST: GFunc2<object>(i)
TEST: GFunc<Test_DictionaryExpansion>(i)
TEST: FuncOnGenClass<Object>
TEST: FuncOnGenClass<Object>
TEST: FuncOnGenClass2<Object>
TEST: FuncOnGenClass<Object>
TEST: GFunc<string>
TEST: GFunc<object>(i)
TEST: GFunc2<object>(i)
TEST: GFunc<Test_DictionaryExpansion>(i)
TEST: FuncOnGenClass<String>
TEST: FuncOnGenClass<Object>
TEST: FuncOnGenClass2<Object>
TEST: FuncOnGenClass<Test_DictionaryExpansion>
TEST: GFunc<string>
TEST: GFunc<object>(i)
TEST: GFunc2<object>(i)
TEST: GFunc<Test_DictionaryExpansion>(i)
TEST: FuncOnGenClass<String>
TEST: FuncOnGenClass<Object>
TEST: FuncOnGenClass2<Object>
TEST: FuncOnGenClass<Test_DictionaryExpansion>
TEST: GFunc<string>
TEST: GFunc<object>(i)
TEST: GFunc2<object>(i)
TEST: GFunc<Test_DictionaryExpansion>(i)
Expected: 100
Actual: -1073740286
END EXECUTION - FAILED
FAILED
Test Harness Exitcode is : 1
To run the test:

set CORE_ROOT=C:\h\w\9E3C0929\p
C:\h\w\9E3C0929\w\B1E809DC\e\Loader\classloader\DictionaryExpansion\DictionaryExpansion\DictionaryExpansion.cmd
Expected: True
Actual:   False


Stack trace
   at Loader_classloader._DictionaryExpansion_DictionaryExpansion_DictionaryExpansion_._DictionaryExpansion_DictionaryExpansion_DictionaryExpansion_cmd()
   at System.RuntimeMethodHandle.InvokeMethod(Object target, Void** arguments, Signature sig, Boolean isConstructor)
   at System.Reflection.MethodInvoker.Invoke(Object obj, IntPtr* args, BindingFlags invokeAttr)

@jkotas jkotas added the Known Build Error Use this to report build issues in the .NET Helix tab label Dec 23, 2022
@v-wenyuxu
Copy link
Author

Failed again in: runtime-coreclr jitstressregs 20221225.1

Failed test:

coreclr windows x86 Checked jitstressregs1 @ Windows.10.Amd64.Open

- Loader\\classloader\\DictionaryExpansion\\DictionaryExpansion\\DictionaryExpansion.cmd

coreclr windows x86 Checked jitstressregs4 @ Windows.10.Amd64.Open

- Loader\\classloader\\DictionaryExpansion\\DictionaryExpansion\\DictionaryExpansion.cmd

coreclr windows x86 Checked jitstressregs0x1000 @ Windows.10.Amd64.Open

- Loader\\classloader\\DictionaryExpansion\\DictionaryExpansion\\DictionaryExpansion.cmd

coreclr windows x86 Checked jitstressregs0x10 @ Windows.10.Amd64.Open

- Loader\\classloader\\DictionaryExpansion\\DictionaryExpansion\\DictionaryExpansion.cmd

Error message:

Assert failure(PID 4836 [0x000012e4], Thread: 6044 [0x179c]): !"Unexpected code in temporary entrypoint"

CORECLR! MethodDescChunk::GetMethodDescFromCompactEntryPoint + 0x3C (0x6d436a7c)
CORECLR! MethodDesc::GetMethodDescFromStubAddr + 0xE0 (0x6d436be8)
CORECLR! MethodDesc::GetTemporaryEntryPoint + 0xF9 (0x6d438931)
CORECLR! MethodTableBuilder::SetupMethodTable2 + 0x1A71 (0x6d5fb0b8)
CORECLR! MethodTableBuilder::BuildMethodTableThrowing + 0x132C (0x6d5e25b5)
CORECLR! ClassLoader::CreateTypeHandleForTypeDefThrowing + 0x121A (0x6d5e6785)
CORECLR! ClassLoader::CreateTypeHandleForTypeKey + 0x2BF (0x6d357cf3)
CORECLR! ClassLoader::DoIncrementalLoad + 0x374 (0x6d3589fe)
CORECLR! ClassLoader::LoadTypeHandleForTypeKey_Body + 0x7FC (0x6d36168e)
CORECLR! ClassLoader::LoadTypeHandleForTypeKey + 0x177 (0x6d3609b3)
File: D:\a_work\1\s\src\coreclr\vm\method.cpp Line: 2641
Image: C:\h\w\AA250986\p\corerun.exe

Return code:      1
Raw output file:      C:\h\w\AA250986\w\931808B3\uploads\Reports\Loader.classloader\DictionaryExpansion\DictionaryExpansion\DictionaryExpansion.output.txt
Raw output:
BEGIN EXECUTION
"C:\h\w\AA250986\p\corerun.exe" -p "System.Reflection.Metadata.MetadataUpdater.IsSupported=false"  DictionaryExpansion.dll
TEST: FuncOnGenClass<String>
TEST: FuncOnGenClass<Object>
TEST: FuncOnGenClass2<Object>
TEST: FuncOnGenClass<Test_DictionaryExpansion>
TEST: GFunc<string>
TEST: GFunc<object>(i)
TEST: GFunc2<object>(i)
TEST: GFunc<Test_DictionaryExpansion>(i)
TEST: FuncOnGenClass<Object>
TEST: FuncOnGenClass<Object>
TEST: FuncOnGenClass2<Object>
TEST: FuncOnGenClass<Object>
TEST: GFunc<string>
TEST: GFunc<object>(i)
TEST: GFunc2<object>(i)
TEST: GFunc<Test_DictionaryExpansion>(i)
TEST: FuncOnGenClass<Object>
TEST: FuncOnGenClass<Object>
TEST: FuncOnGenClass2<Object>
TEST: FuncOnGenClass<Object>
TEST: GFunc<string>
TEST: GFunc<object>(i)
TEST: GFunc2<object>(i)
TEST: GFunc<Test_DictionaryExpansion>(i)
TEST: FuncOnGenClass<String>
TEST: FuncOnGenClass<Object>
TEST: FuncOnGenClass2<Object>
TEST: FuncOnGenClass<Test_DictionaryExpansion>
TEST: GFunc<string>
TEST: GFunc<object>(i)
TEST: GFunc2<object>(i)
TEST: GFunc<Test_DictionaryExpansion>(i)
TEST: FuncOnGenClass<String>
TEST: FuncOnGenClass<Object>
TEST: FuncOnGenClass2<Object>
TEST: FuncOnGenClass<Test_DictionaryExpansion>
TEST: GFunc<string>
TEST: GFunc<object>(i)
TEST: GFunc2<object>(i)
TEST: GFunc<Test_DictionaryExpansion>(i)
Expected: 100
Actual: -1073740286
END EXECUTION - FAILED
FAILED
Test Harness Exitcode is : 1
To run the test:

set CORE_ROOT=C:\h\w\AA250986\p
C:\h\w\AA250986\w\931808B3\e\Loader\classloader\DictionaryExpansion\DictionaryExpansion\DictionaryExpansion.cmd
Expected: True
Actual:   False


Stack trace
   at Loader_classloader._DictionaryExpansion_DictionaryExpansion_DictionaryExpansion_._DictionaryExpansion_DictionaryExpansion_DictionaryExpansion_cmd()
   at System.RuntimeMethodHandle.InvokeMethod(Object target, Void** arguments, Signature sig, Boolean isConstructor)
   at System.Reflection.MethodInvoker.Invoke(Object obj, IntPtr* args, BindingFlags invokeAttr)

@v-wenyuxu
Copy link
Author

Failed again in: runtime-coreclr outerloop 20230102.2

Failed test:

coreclr windows x86 Checked no_tiered_compilation @ Windows.10.Amd64.Open

- Loader\\classloader\\DictionaryExpansion\\DictionaryExpansion\\DictionaryExpansion.cmd

Error message:

Assert failure(PID 10280 [0x00002828], Thread: 6888 [0x1ae8]): !"Unexpected code in temporary entrypoint"

CORECLR! MethodDescChunk::GetMethodDescFromCompactEntryPoint + 0x3C (0x6ffa5c7c)
CORECLR! MethodDesc::GetMethodDescFromStubAddr + 0xE0 (0x6ffa5de8)
CORECLR! MethodDesc::GetTemporaryEntryPoint + 0xF9 (0x6ffa7b31)
CORECLR! MethodTableBuilder::SetupMethodTable2 + 0x1A71 (0x7016a2c7)
CORECLR! MethodTableBuilder::BuildMethodTableThrowing + 0x132C (0x701517c5)
CORECLR! ClassLoader::CreateTypeHandleForTypeDefThrowing + 0x121A (0x70155996)
CORECLR! ClassLoader::CreateTypeHandleForTypeKey + 0x2BF (0x6fec7cf3)
CORECLR! ClassLoader::DoIncrementalLoad + 0x374 (0x6fec89fe)
CORECLR! ClassLoader::LoadTypeHandleForTypeKey_Body + 0x7FC (0x6fed168e)
CORECLR! ClassLoader::LoadTypeHandleForTypeKey + 0x177 (0x6fed09b3)
File: D:\a_work\1\s\src\coreclr\vm\method.cpp Line: 2641
Image: C:\h\w\ABE909CA\p\corerun.exe

Return code:      1
Raw output file:      C:\h\w\ABE909CA\w\AD74096F\uploads\Reports\Loader.classloader\DictionaryExpansion\DictionaryExpansion\DictionaryExpansion.output.txt
Raw output:
BEGIN EXECUTION
"C:\h\w\ABE909CA\p\corerun.exe" -p "System.Reflection.Metadata.MetadataUpdater.IsSupported=false"  DictionaryExpansion.dll
TEST: FuncOnGenClass<String>
TEST: FuncOnGenClass<Object>
TEST: FuncOnGenClass2<Object>
TEST: FuncOnGenClass<Test_DictionaryExpansion>
TEST: GFunc<string>
TEST: GFunc<object>(i)
TEST: GFunc2<object>(i)
TEST: GFunc<Test_DictionaryExpansion>(i)
TEST: FuncOnGenClass<Object>
TEST: FuncOnGenClass<Object>
TEST: FuncOnGenClass2<Object>
TEST: FuncOnGenClass<Object>
TEST: GFunc<string>
TEST: GFunc<object>(i)
TEST: GFunc2<object>(i)
TEST: GFunc<Test_DictionaryExpansion>(i)
TEST: FuncOnGenClass<Object>
TEST: FuncOnGenClass<Object>
TEST: FuncOnGenClass2<Object>
TEST: FuncOnGenClass<Object>
TEST: GFunc<string>
TEST: GFunc<object>(i)
TEST: GFunc2<object>(i)
TEST: GFunc<Test_DictionaryExpansion>(i)
TEST: FuncOnGenClass<String>
TEST: FuncOnGenClass<Object>
TEST: FuncOnGenClass2<Object>
TEST: FuncOnGenClass<Test_DictionaryExpansion>
TEST: GFunc<string>
TEST: GFunc<object>(i)
TEST: GFunc2<object>(i)
TEST: GFunc<Test_DictionaryExpansion>(i)
TEST: FuncOnGenClass<String>
TEST: FuncOnGenClass<Object>
TEST: FuncOnGenClass2<Object>
TEST: FuncOnGenClass<Test_DictionaryExpansion>
TEST: GFunc<string>
TEST: GFunc<object>(i)
TEST: GFunc2<object>(i)
TEST: GFunc<Test_DictionaryExpansion>(i)
Expected: 100
Actual: -1073740286
END EXECUTION - FAILED
FAILED
Test Harness Exitcode is : 1
To run the test:

set CORE_ROOT=C:\h\w\ABE909CA\p
C:\h\w\ABE909CA\w\AD74096F\e\Loader\classloader\DictionaryExpansion\DictionaryExpansion\DictionaryExpansion.cmd
Expected: True
Actual:   False


Stack trace
   at Loader_classloader._DictionaryExpansion_DictionaryExpansion_DictionaryExpansion_._DictionaryExpansion_DictionaryExpansion_DictionaryExpansion_cmd()
   at System.RuntimeMethodHandle.InvokeMethod(Object target, Void** arguments, Signature sig, Boolean isConstructor)
   at System.Reflection.MethodInvoker.Invoke(Object obj, IntPtr* args, BindingFlags invokeAttr)

@buyaa-n
Copy link
Contributor

buyaa-n commented Jan 27, 2023

Failed again in https://github.com/dotnet/runtime/pull/78544/checks?check_run_id=10921602265

Assert failure(PID 5028 [0x000013a4], Thread: 5008 [0x1390]): !"Unexpected code in temporary entrypoint"
      
      CORECLR! MethodDescChunk::GetMethodDescFromCompactEntryPoint + 0x3C (0x7037527c)
      CORECLR! MethodDesc::GetMethodDescFromStubAddr + 0xE0 (0x703753e8)
      CORECLR! MethodDesc::GetTemporaryEntryPoint + 0xF9 (0x70377131)
      CORECLR! MethodTableBuilder::SetupMethodTable2 + 0x1A71 (0x705395eb)
      CORECLR! MethodTableBuilder::BuildMethodTableThrowing + 0x132C (0x70520ada)
      CORECLR! ClassLoader::CreateTypeHandleForTypeDefThrowing + 0x121A (0x70524cb4)
      CORECLR! ClassLoader::CreateTypeHandleForTypeKey + 0x2BF (0x70297c53)
      CORECLR! ClassLoader::DoIncrementalLoad + 0x374 (0x7029895e)
      CORECLR! ClassLoader::LoadTypeHandleForTypeKey_Body + 0x7FC (0x702a15f1)
      CORECLR! ClassLoader::LoadTypeHandleForTypeKey + 0x177 (0x702a0913)
          File: D:\a\_work\1\s\src\coreclr\vm\method.cpp Line: 2641
          Image: C:\h\w\B70109B3\p\corerun.exe
      
      
      Return code:      1
      Raw output file:      C:\h\w\B70109B3\w\AC3E0960\uploads\Reports\Loader.classloader\DictionaryExpansion\DictionaryExpansion\DictionaryExpansion.output.txt

@trylek
Copy link
Member

trylek commented Jan 31, 2023

I have reassigned the bug to myself as David is expected to be OOF for a prolonged period of time. I'm now working with @janvorli on the initial pointers, as it's apparently x86-specific my first guess is that it's probably related to architecture-specific rules for emitting stubs.

@v-wenyuxu
Copy link
Author

Failed again in: runtime-coreclr outerloop 20230205.2

Failed test:

coreclr windows x86 Checked no_tiered_compilation @ Windows.10.Amd64.Open

- Loader\\classloader\\DictionaryExpansion\\DictionaryExpansion\\DictionaryExpansion.cmd

Error message:

Assert failure(PID 12892 [0x0000325c], Thread: 13936 [0x3670]): !"Unexpected code in temporary entrypoint"

CORECLR! MethodDescChunk::GetMethodDescFromCompactEntryPoint + 0x3C (0x7046524e)
CORECLR! MethodDesc::GetMethodDescFromStubAddr + 0xE0 (0x704653ba)
CORECLR! MethodDesc::GetTemporaryEntryPoint + 0xF9 (0x70467103)
CORECLR! MethodTableBuilder::SetupMethodTable2 + 0x1A71 (0x706297a0)
CORECLR! MethodTableBuilder::BuildMethodTableThrowing + 0x132C (0x70610c7a)
CORECLR! ClassLoader::CreateTypeHandleForTypeDefThrowing + 0x121A (0x70614e57)
CORECLR! ClassLoader::CreateTypeHandleForTypeKey + 0x2BF (0x70387c83)
CORECLR! ClassLoader::DoIncrementalLoad + 0x374 (0x7038898e)
CORECLR! ClassLoader::LoadTypeHandleForTypeKey_Body + 0x7FC (0x7039161e)
CORECLR! ClassLoader::LoadTypeHandleForTypeKey + 0x177 (0x70390943)
File: D:\a_work\1\s\src\coreclr\vm\method.cpp Line: 2638
Image: C:\h\w\BAF109D5\p\corerun.exe

Return code:      1
Raw output file:      C:\h\w\BAF109D5\w\B701093B\uploads\Reports\Loader.classloader\DictionaryExpansion\DictionaryExpansion\DictionaryExpansion.output.txt
Raw output:
BEGIN EXECUTION
"C:\h\w\BAF109D5\p\corerun.exe" -p "System.Reflection.Metadata.MetadataUpdater.IsSupported=false"  DictionaryExpansion.dll
TEST: FuncOnGenClass<String>
TEST: FuncOnGenClass<Object>
TEST: FuncOnGenClass2<Object>
TEST: FuncOnGenClass<Test_DictionaryExpansion>
TEST: GFunc<string>
TEST: GFunc<object>(i)
TEST: GFunc2<object>(i)
TEST: GFunc<Test_DictionaryExpansion>(i)
TEST: FuncOnGenClass<Object>
TEST: FuncOnGenClass<Object>
TEST: FuncOnGenClass2<Object>
TEST: FuncOnGenClass<Object>
TEST: GFunc<string>
TEST: GFunc<object>(i)
TEST: GFunc2<object>(i)
TEST: GFunc<Test_DictionaryExpansion>(i)
TEST: FuncOnGenClass<Object>
TEST: FuncOnGenClass<Object>
TEST: FuncOnGenClass2<Object>
TEST: FuncOnGenClass<Object>
TEST: GFunc<string>
TEST: GFunc<object>(i)
TEST: GFunc2<object>(i)
TEST: GFunc<Test_DictionaryExpansion>(i)
TEST: FuncOnGenClass<String>
TEST: FuncOnGenClass<Object>
TEST: FuncOnGenClass2<Object>
TEST: FuncOnGenClass<Test_DictionaryExpansion>
TEST: GFunc<string>
TEST: GFunc<object>(i)
TEST: GFunc2<object>(i)
TEST: GFunc<Test_DictionaryExpansion>(i)
TEST: FuncOnGenClass<String>
TEST: FuncOnGenClass<Object>
TEST: FuncOnGenClass2<Object>
TEST: FuncOnGenClass<Test_DictionaryExpansion>
TEST: GFunc<string>
TEST: GFunc<object>(i)
TEST: GFunc2<object>(i)
TEST: GFunc<Test_DictionaryExpansion>(i)
Expected: 100
Actual: -1073740286
END EXECUTION - FAILED
FAILED
Test Harness Exitcode is : 1
To run the test:

set CORE_ROOT=C:\h\w\BAF109D5\p
C:\h\w\BAF109D5\w\B701093B\e\Loader\classloader\DictionaryExpansion\DictionaryExpansion\DictionaryExpansion.cmd
Expected: True
Actual:   False


Stack trace
   at Loader_classloader._DictionaryExpansion_DictionaryExpansion_DictionaryExpansion_._DictionaryExpansion_DictionaryExpansion_DictionaryExpansion_cmd()
   at System.RuntimeMethodHandle.InvokeMethod(Object target, Void** arguments, Signature sig, Boolean isConstructor)
   at System.Reflection.MethodInvoker.Invoke(Object obj, IntPtr* args, BindingFlags invokeAttr)

@jakobbotsch jakobbotsch added blocking-clean-ci Blocking PR or rolling runs of 'runtime' or 'runtime-extra-platforms' and removed blocking-outerloop Blocking the 'runtime-coreclr outerloop' and 'runtime-libraries-coreclr outerloop' runs labels Feb 10, 2023
@v-wenyuxu
Copy link
Author

Failed again in: runtime-coreclr jitstress-isas-x86 20230211.1

Failed tests:

coreclr windows x86 Checked jitstress_isas_incompletehwintrinsic @ Windows.10.Amd64.Open
- Loader\\classloader\\DictionaryExpansion\\DictionaryExpansion\\DictionaryExpansion.cmd

coreclr windows x86 Checked jitstress_isas_x86_nobmi1 @ Windows.10.Amd64.Open
- Loader\\classloader\\DictionaryExpansion\\DictionaryExpansion\\DictionaryExpansion.cmd

coreclr windows x86 Checked jitstress_isas_x86_noaes @ Windows.10.Amd64.Open
- Loader\\classloader\\DictionaryExpansion\\DictionaryExpansion\\DictionaryExpansion.cmd

coreclr windows x86 Checked jitstress_isas_x86_nobmi2 @ Windows.10.Amd64.Open
- Loader\\classloader\\DictionaryExpansion\\DictionaryExpansion\\DictionaryExpansion.cmd

coreclr windows x86 Checked jitstress_isas_x86_nofma @ Windows.10.Amd64.Open
- Loader\\classloader\\DictionaryExpansion\\DictionaryExpansion\\DictionaryExpansion.cmd

coreclr windows x86 Checked jitstress_isas_x86_nopclmulqdq @ Windows.10.Amd64.Open
- Loader\\classloader\\DictionaryExpansion\\DictionaryExpansion\\DictionaryExpansion.cmd

coreclr windows x86 Checked jitstress_isas_x86_nopopcnt @ Windows.10.Amd64.Open
- Loader\\classloader\\DictionaryExpansion\\DictionaryExpansion\\DictionaryExpansion.cmd

Error message:


Assert failure(PID 1060 [0x00000424], Thread: 4684 [0x124c]): !"Unexpected code in temporary entrypoint"

CORECLR! MethodDescChunk::GetMethodDescFromCompactEntryPoint + 0x3C (0x70b5527e)
CORECLR! MethodDesc::GetMethodDescFromStubAddr + 0xE0 (0x70b553ea)
CORECLR! MethodDesc::GetTemporaryEntryPoint + 0xF9 (0x70b57133)
CORECLR! MethodTableBuilder::SetupMethodTable2 + 0x1A71 (0x70d19cc2)
CORECLR! MethodTableBuilder::BuildMethodTableThrowing + 0x132C (0x70d0119a)
CORECLR! ClassLoader::CreateTypeHandleForTypeDefThrowing + 0x121A (0x70d05374)
CORECLR! ClassLoader::CreateTypeHandleForTypeKey + 0x2BF (0x70a77c83)
CORECLR! ClassLoader::DoIncrementalLoad + 0x374 (0x70a7898e)
CORECLR! ClassLoader::LoadTypeHandleForTypeKey_Body + 0x7FC (0x70a8161e)
CORECLR! ClassLoader::LoadTypeHandleForTypeKey + 0x177 (0x70a80943)
   File: D:\a\_work\1\s\src\coreclr\vm\method.cpp Line: 2638
   Image: C:\h\w\B52309B5\p\corerun.exe


Return code:      1
Raw output file:      C:\h\w\B52309B5\w\A4DA092D\uploads\Reports\Loader.classloader\DictionaryExpansion\DictionaryExpansion\DictionaryExpansion.output.txt
Raw output:
BEGIN EXECUTION
"C:\h\w\B52309B5\p\corerun.exe" -p "System.Reflection.Metadata.MetadataUpdater.IsSupported=false"  DictionaryExpansion.dll 
TEST: FuncOnGenClass<String>
TEST: FuncOnGenClass<Object>
TEST: FuncOnGenClass2<Object>
TEST: FuncOnGenClass<Test_DictionaryExpansion>
TEST: GFunc<string>
TEST: GFunc<object>(i)
TEST: GFunc2<object>(i)
TEST: GFunc<Test_DictionaryExpansion>(i)
TEST: FuncOnGenClass<Object>
TEST: FuncOnGenClass<Object>
TEST: FuncOnGenClass2<Object>
TEST: FuncOnGenClass<Object>
TEST: GFunc<string>
TEST: GFunc<object>(i)
TEST: GFunc2<object>(i)
TEST: GFunc<Test_DictionaryExpansion>(i)
TEST: FuncOnGenClass<Object>
TEST: FuncOnGenClass<Object>
TEST: FuncOnGenClass2<Object>
TEST: FuncOnGenClass<Object>
TEST: GFunc<string>
TEST: GFunc<object>(i)
TEST: GFunc2<object>(i)
TEST: GFunc<Test_DictionaryExpansion>(i)
TEST: FuncOnGenClass<String>
TEST: FuncOnGenClass<Object>
TEST: FuncOnGenClass2<Object>
TEST: FuncOnGenClass<Test_DictionaryExpansion>
TEST: GFunc<string>
TEST: GFunc<object>(i)
TEST: GFunc2<object>(i)
TEST: GFunc<Test_DictionaryExpansion>(i)
TEST: FuncOnGenClass<String>
TEST: FuncOnGenClass<Object>
TEST: FuncOnGenClass2<Object>
TEST: FuncOnGenClass<Test_DictionaryExpansion>
TEST: GFunc<string>
TEST: GFunc<object>(i)
TEST: GFunc2<object>(i)
TEST: GFunc<Test_DictionaryExpansion>(i)
Expected: 100
Actual: -1073740286
END EXECUTION - FAILED
FAILED
Test Harness Exitcode is : 1
To run the test:
> set CORE_ROOT=C:\h\w\B52309B5\p
> C:\h\w\B52309B5\w\A4DA092D\e\Loader\classloader\DictionaryExpansion\DictionaryExpansion\DictionaryExpansion.cmd
Expected: True
Actual:   False

Stack trace:

  at Loader_classloader._DictionaryExpansion_DictionaryExpansion_DictionaryExpansion_._DictionaryExpansion_DictionaryExpansion_DictionaryExpansion_cmd()
  at System.RuntimeMethodHandle.InvokeMethod(Object target, Void** arguments, Signature sig, Boolean isConstructor)
  at System.Reflection.MethodInvoker.Invoke(Object obj, IntPtr* args, BindingFlags invokeAttr)

BruceForstall added a commit to BruceForstall/runtime that referenced this issue Feb 13, 2023
@BruceForstall BruceForstall added disabled-test The test is disabled in source code against the issue and removed blocking-clean-ci Blocking PR or rolling runs of 'runtime' or 'runtime-extra-platforms' Known Build Error Use this to report build issues in the .NET Helix tab labels Feb 14, 2023
@janvorli
Copy link
Member

I kept trying to repro the issue locally, but so far, I was unable to succeed. I've ran the test in a loop for two days and there was no repro.
Unfortunately, from the dump I cannot figure out how the issue happens. It looks like it is a problem of collectible assemblies where we are trying to access a chunk that was allocated from an already destroyed native LoaderAllocator.
I've tried to modify the test in various ways to cause GC to happen more often on another thread, run the failing part of the test in a loop in the code, but nothing made the issue repro.
I keep trying.

@ghost ghost added the in-pr There is an active PR which will close this issue when it is merged label Mar 1, 2023
janvorli added a commit to janvorli/runtime that referenced this issue Mar 1, 2023
When a RX mapping in the ExecutableAllocation is released and there is a
RW mapping cached for it, it incorrectly stays in the cache. So when the
same virtual address range that was just released gets reserved again
and a request to get RW mapping comes in, the cached RW mapping is used.
But it is likely that the new RX mapping has a different offset in the
underlying file mapping and thus the RW mapping is unrelated to the new
RX mapping. Using this RW mapping results either in an overwrite of a
different block of memory or just a silent dropping of what's written.

This was discovered when investigating a GC reliability framework crash.
It turned out it was also the culprit behind the dotnet#75244 issue that I
was unable to reproduce and it kept  occuring in the CI on x86 only for
quite some time.

In addition to the fix, I've found that there was an off by one
condition in the ExecutableAllocator::FindRWBlock so I've fixed that.
And I've also noticed that in UnlockedLoaderHeap::UnlockedReservePages,
if the allocation of LoaderHeapBlock failed, we would leave the data
block incorrectly on the m_pRangeList. I've fixed that too.

Close dotnet#75244
janvorli added a commit that referenced this issue Mar 3, 2023
…82841)

When a RX mapping in the ExecutableAllocation is released and there is a
RW mapping cached for it, it incorrectly stays in the cache. So when the
same virtual address range that was just released gets reserved again
and a request to get RW mapping comes in, the cached RW mapping is used.
But it is likely that the new RX mapping has a different offset in the
underlying file mapping and thus the RW mapping is unrelated to the new
RX mapping. Using this RW mapping results either in an overwrite of a
different block of memory or just a silent dropping of what's written.

This was discovered when investigating a GC reliability framework crash.
It turned out it was also the culprit behind the #75244 issue that I
was unable to reproduce and it kept  occuring in the CI on x86 only for
quite some time.

In addition to the fix, I've found that there was an off by one
condition in the ExecutableAllocator::FindRWBlock so I've fixed that.
And I've also noticed that in UnlockedLoaderHeap::UnlockedReservePages,
if the allocation of LoaderHeapBlock failed, we would leave the data
block incorrectly on the m_pRangeList. I've fixed that too.

Close #75244
@ghost ghost removed the in-pr There is an active PR which will close this issue when it is merged label Mar 3, 2023
@ghost ghost locked as resolved and limited conversation to collaborators Apr 2, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
arch-x86 area-VM-coreclr disabled-test The test is disabled in source code against the issue os-windows
Projects
None yet
Development

Successfully merging a pull request may close this issue.

10 participants