runtime: crossgen2 fails to compile dlls on armel with versionbubble after compilation of ILCompiler.ReadyToRun.dll
Description
This bug is related to compilation of crossgen2 itself with --inputbubble
option. It reproduces on tizen armel only, I was not able to reproduce it on ubuntu x64/arm64.
After compilation of System.Private.CoreLib.dll
and crossgen2/ILCompiler.ReadyToRun.dll
any dll fails to compile, for example error for crossgen2/crossgen2.dll
:
Error: Object reference not set to an instance of an object.
System.NullReferenceException: Object reference not set to an instance of an object.
at ILCompiler.CompilerTypeSystemContext.OpenPEFile(String filePath, MemoryMappedViewAccessor& mappedViewAccessor) in ILCompiler.ReadyToRun.dll:token 0x6000029+0x33
at ILCompiler.CompilerTypeSystemContext.AddModule(String filePath, String expectedSimpleName, Boolean useForBinding, ModuleData oldModuleData) in ILCompiler.ReadyToRun.dll:token 0x600002a+0xa
at ILCompiler.CompilerTypeSystemContext.GetOrAddModuleFromPath(String filePath, Boolean useForBinding) in ILCompiler.ReadyToRun.dll:token 0x6000028+0x4e
at ILCompiler.Program.Run(String[] args) in crossgen2.dll:token 0x600015a+0x18c
at ILCompiler.Program.Main(String[] args) in crossgen2.dll:token 0x6000162+0x5
crossgen2 compilation command:
./corerun ./crossgen2/crossgen2.dll -r:`pwd`/*.dll -r:`pwd`/crossgen2/*.dll -O --compilebubblegenerics --inputbubble -o:`pwd`/crossgen2/crossgen2.ni.dll `pwd`/crossgen2/crossgen2.dll
Without --inputbubble
everything works fine.
Can this happen because armel is not handled correctly somewhere in crossgen2?
About this issue
- Original URL
- State: closed
- Created 3 years ago
- Comments: 18 (18 by maintainers)
@mangod9 Not really. I’ll move this issue to 7.0.0, as its not a ship blocker for any work done for use in any supported scenarios. However, if @gbalykov is able to find a fix or find a repro which applies to a non-armel scenario we will likely be able to take it into the .NET 6 product, but we will not consider this bug as part of the .NET 6 release.