Reproduction steps:
1. Open the attached project “ReproProject”
2. Ensure to switch to target Platform to Android
3. Observe the Console Window
Expected result: No errors in the console
Actual result: The error “zzzUnity.Burst.CodeGen.BurstILPostProcessor: ILPostProcessor has thrown an exception: System.InvalidOperationException: Internal compiler error for Burst ILPostProcessor on Assembly-CSharp-Editor. Exception: System.ArgumentNullException: Value cannot be null. (Parameter 'self')“ is thrown
Reproducible with: 1.8.8, 1.8.10, 1.8.11 (2023.1.0a19, 2023.2.5f1, 2023.3.0b2)
Not reproducible with: 1.8.8, 1.8.10, 1.8.11 (2021.3.34f1, 2022.3.17f1, 2023.1.0a18)
Reproducible on: macOS Intel 14.2.1
Not Reproducible on: No other environment was tested
Notes:
- The error ceases to occur when the “/r:System.Drawing.dll” is removed from the csc.rsp file.
- The regression happened in the Editor versions and not the Package itself
- The issue is not reproducible when the Build Target is on Standalone
Full Error:
Processing assembly Library/Bee/artifacts/1300b0aEDbg.dag/Unity.Collections.BurstCompatibilityGen.dll, with 125 defines and 254 references
processors: Unity.Jobs.CodeGen.JobsILPostProcessor, zzzUnity.Burst.CodeGen.BurstILPostProcessor
running Unity.Jobs.CodeGen.JobsILPostProcessor
running zzzUnity.Burst.CodeGen.BurstILPostProcessor
zzzUnity.Burst.CodeGen.BurstILPostProcessor: ILPostProcessor has thrown an exception: System.InvalidOperationException: Internal compiler error for Burst ILPostProcessor on Unity.Collections.BurstCompatibilityGen. Exception: System.ArgumentNullException: Value cannot be null. (Parameter 'self')
at Mono.Cecil.Rocks.TypeDefinitionRocks.GetConstructors(TypeDefinition self)
at zzzUnity.Burst.CodeGen.FunctionPointerInvokeTransform.Initialize(AssemblyResolver loader, AssemblyDefinition assemblyDefinition, TypeSystem typeSystem)
at zzzUnity.Burst.CodeGen.FunctionPointerInvokeTransform.Run(AssemblyDefinition assemblyDefinition)
at zzzUnity.Burst.CodeGen.BurstILPostProcessor.Process(ICompiledAssembly compiledAssembly)
at zzzUnity.Burst.CodeGen.BurstILPostProcessor.Process(ICompiledAssembly compiledAssembly)
at Unity.ILPP.Runner.PostProcessingPipeline.PostProcessAssemblyAsync(PostProcessAssemblyRequest request, Action`2 progressSink)
PostProcessing failed: System.InvalidOperationException: Internal compiler error for Burst ILPostProcessor on Unity.Collections.BurstCompatibilityGen. Exception: System.ArgumentNullException: Value cannot be null. (Parameter 'self')
at Mono.Cecil.Rocks.TypeDefinitionRocks.GetConstructors(TypeDefinition self)
at zzzUnity.Burst.CodeGen.FunctionPointerInvokeTransform.Initialize(AssemblyResolver loader, AssemblyDefinition assemblyDefinition, TypeSystem typeSystem)
at zzzUnity.Burst.CodeGen.FunctionPointerInvokeTransform.Run(AssemblyDefinition assemblyDefinition)
at zzzUnity.Burst.CodeGen.BurstILPostProcessor.Process(ICompiledAssembly compiledAssembly)
at zzzUnity.Burst.CodeGen.BurstILPostProcessor.Process(ICompiledAssembly compiledAssembly)
at Unity.ILPP.Runner.PostProcessingPipeline.PostProcessAssemblyAsync(PostProcessAssemblyRequest request, Action`2 progressSink)
at Unity.ILPP.Runner.PostProcessingService.PostProcessAssembly(PostProcessAssemblyRequest request, IServerStreamWriter`1 responseStream, ServerCallContext context)
Unhandled Exception: System.InvalidOperationException: Post processing failed