-
Notifications
You must be signed in to change notification settings - Fork 5.4k
R2RDump crashes when disassembling composite framework due to duplicate key in PGO method map #64291
Copy link
Copy link
Closed
Description
Example command line:
dotnet artifacts\bin\coreclr\windows.x64.Debug\r2rdump\r2rdump.dll --sc --header --disasm --in artifacts\tests\coreclr\windows.x64.Debug\Tests\Core_Root\framework-r2r.dll --out artifacts\tests\coreclr\windows.x64.Debug\Tests\Core_Root\framework-r2r.dll.r2rdump
Diagnostic output:
D:\git\runtime4\.dotnet Error: System.ArgumentException: An item with the same key has already been added. Key: Interop+IpHlpApi+FIXED_INFO System.Runtime.InteropServices.Marshal.PtrToStructure(IntPtr) at System.Collections.Generic.Dictionary`2.TryInsert(TKey key, TValue value, InsertionBehavior behavior) at System.Collections.Generic.Dictionary`2.Add(TKey key, TValue value) at ILCompiler.Reflection.ReadyToRun.ReadyToRunReader.ParsePgoMethods() in D:\git\runtime4\src\coreclr\tools\aot\ILCompiler.Reflection.ReadyToRun\ReadyToRunReader.cs:line 1075 at ILCompiler.Reflection.ReadyToRun.ReadyToRunReader.EnsureMethods() in D:\git\runtime4\src\coreclr\tools\aot\ILCompiler.Reflection.ReadyToRun\ReadyToRunReader.cs:line 515 at ILCompiler.Reflection.ReadyToRun.ReadyToRunReader.get_InstanceMethods() in D:\git\runtime4\src\coreclr\tools\aot\ILCompiler.Reflection.ReadyToRun\ReadyToRunReader.cs:line 337 at R2RDump.TextDumper.DumpSectionContents(ReadyToRunSection section) in D:\git\runtime4\src\coreclr\tools\r2rdump\TextDumper.cs:line 392 at R2RDump.TextDumper.DumpSection(ReadyToRunSection section) in D:\git\runtime4\src\coreclr\tools\r2rdump\TextDumper.cs:line 122 at R2RDump.TextDumper.DumpHeader(Boolean dumpSections) in D:\git\runtime4\src\coreclr\tools\r2rdump\TextDumper.cs:line 83 at R2RDump.R2RDump.Dump(ReadyToRunReader r2r) in D:\git\runtime4\src\coreclr\tools\r2rdump\R2RDump.cs:line 383 at R2RDump.R2RDump.Run() in D:\git\runtime4\src\coreclr\tools\r2rdump\R2RDump.cs:line 624
Code reference:
runtime/src/coreclr/tools/aot/ILCompiler.Reflection.ReadyToRun/ReadyToRunReader.cs
Line 1075 in fb284a8
| _pgoInfos.Add(key, info); |
/cc @dotnet/crossgen-contrib, @davidwrighton
Reactions are currently unavailable