Skip to content

ILC is hitting a NullReferenceException when processing linker XML from an assembly #108031

@ericstj

Description

@ericstj

Build Information

Build: https://dev.azure.com/dnceng-public/cbb18261-c48f-4abb-8651-8cdcb5474649/_build/results?buildId=812591
Build error leg or test failing: Build / osx-x64 Debug CoreCLR_Libraries / Build product
Pull request: #107639

Error Message

Fill the error message using step by step known issues guidance.

{
  "ErrorMessage": ["Code generation failed for method", "System.NullReferenceException", "System.Xml.XPath.XPathNodeIterator.Enumerator.MoveNext" ]
  "ErrorPattern": "",
  "BuildRetry": true,
  "ExcludeConsoleLog": false
}

error from ILC:

  ILLink.Tasks -> /Users/runner/work/1/s/artifacts/bin/ILLink.Tasks/Debug/net9.0/ILLink.Tasks.dll
  System.Private.CoreLib.Generators -> /Users/runner/work/1/s/artifacts/bin/System.Private.CoreLib.Generators/Release/netstandard2.0/System.Private.CoreLib.Generators.dll
  System.Private.CoreLib -> /Users/runner/work/1/s/artifacts/bin/System.Private.CoreLib/ref/Release/net9.0/System.Private.CoreLib.dll
  Microsoft.Interop.SourceGeneration -> /Users/runner/work/1/s/artifacts/bin/Microsoft.Interop.SourceGeneration/Debug/netstandard2.0/Microsoft.Interop.SourceGeneration.dll
  LibraryImportGenerator -> /Users/runner/work/1/s/artifacts/bin/LibraryImportGenerator/Debug/netstandard2.0/Microsoft.Interop.LibraryImportGenerator.dll
  System.Private.CoreLib -> /Users/runner/work/1/s/artifacts/bin/coreclr/osx.x64.Release/IL/System.Private.CoreLib.dll
  cdac-build-tool -> /Users/runner/work/1/s/artifacts/bin/coreclr/osx.x64.Release/cdac-build-tool/cdac-build-tool.dll
  Generating native code
EXEC : error : One or more errors occurred. (Code generation failed for method '[System.Runtime.InteropServices]System.Runtime.InteropServices.Marshalling.ComExposedClassAttribute`1<System.__Canon>..ctor()') [/Users/runner/work/1/s/src/native/managed/cdacreader/src/cdacreader.csproj]
##[error]EXEC(0,0): error : (NETCORE_ENGINEERING_TELEMETRY=Build) One or more errors occurred. (Code generation failed for method '[System.Runtime.InteropServices]System.Runtime.InteropServices.Marshalling.ComExposedClassAttribute`1<System.__Canon>..ctor()')
  System.AggregateException: One or more errors occurred. (Code generation failed for method '[System.Runtime.InteropServices]System.Runtime.InteropServices.Marshalling.ComExposedClassAttribute`1<System.__Canon>..ctor()')
   ---> ILCompiler.CodeGenerationFailedException: Code generation failed for method '[System.Runtime.InteropServices]System.Runtime.InteropServices.Marshalling.ComExposedClassAttribute`1<System.__Canon>..ctor()'
   ---> ILCompiler.NativeAotFatalErrorException: ILC: error IL1013: Error processing 'name'.
   ---> System.NullReferenceException: Object reference not set to an instance of an object.
     at System.Xml.XPath.XNodeNavigator.MoveToFirstChild() + 0x22
     at MS.Internal.Xml.XPath.XPathChildIterator.MoveNext() + 0x1c
     at System.Xml.XPath.XPathNodeIterator.Enumerator.MoveNext() + 0xe9
     at ILCompiler.ProcessLinkerXmlBase.ProcessAssemblies(XPathNavigator) + 0x169
     at ILCompiler.ProcessLinkerXmlBase.ProcessXml(Boolean) + 0x105
     --- End of inner exception stack trace ---
     at ILCompiler.ProcessLinkerXmlBase.ProcessXml(Boolean) + 0x25b
     at ILCompiler.SubstitutionProvider.AssemblyFeatureInfo..ctor(EcmaModule, Logger, IReadOnlyDictionary`2, BodyAndFieldSubstitutions) + 0x193
     at ILCompiler.SubstitutionProvider.FeatureSwitchHashtable.CreateValueFromKey(EcmaModule) + 0x35
     at Internal.TypeSystem.LockFreeReaderHashtable`2.CreateValueAndEnsureValueIsInTable(TKey) + 0x14
     at ILCompiler.SubstitutionProvider.GetSubstitution(MethodDesc) + 0x78
     at ILCompiler.SubstitutedILProvider.GetMethodIL(MethodDesc) + 0x20
     at ILCompiler.Compilation.CombinedILProvider.GetMethodIL(MethodDesc) + 0x1f
     at ILCompiler.Compilation.ILCache.CreateValueFromKey(MethodDesc) + 0x3a
     at Internal.TypeSystem.LockFreeReaderHashtable`2.CreateValueAndEnsureValueIsInTable(TKey) + 0x14
     at ILCompiler.Compilation.GetMethodIL(MethodDesc) + 0xc0
     at Internal.IL.ILImporter..ctor(ILScanner, MethodDesc, MethodIL) + 0x5a
     at ILCompiler.ILScanner.CompileSingleMethod(ScannedMethodNode) + 0x46
     --- End of inner exception stack trace ---
     at ILCompiler.ILScanner.CompileSingleMethod(ScannedMethodNode) + 0x20e
     at System.Threading.Tasks.Parallel.<>c__DisplayClass19_0`2.<ForWorker>b__1(RangeWorker&, Int64, Boolean&) + 0x10a
  --- End of stack trace from previous location ---
     at System.Threading.Tasks.Parallel.<>c__DisplayClass19_0`2.<ForWorker>b__1(RangeWorker&, Int64, Boolean&) + 0x51b
     at System.Threading.Tasks.TaskReplicator.Replica.Execute() + 0x8d
     --- End of inner exception stack trace ---
     at System.Threading.Tasks.TaskReplicator.Run[TState](TaskReplicator.ReplicatableUserAction`1, ParallelOptions, Boolean) + 0x2bf
     at System.Threading.Tasks.Parallel.ForWorker[TLocal,TInt](TInt, TInt, ParallelOptions, Action`1, Action`2, Func`4, Func`1, Action`1) + 0x216
  --- End of stack trace from previous location ---
     at System.Threading.Tasks.Parallel.ThrowSingleCancellationExceptionOrOtherException(ICollection, CancellationToken, Exception) + 0x31
     at System.Threading.Tasks.Parallel.ForWorker[TLocal,TInt](TInt, TInt, ParallelOptions, Action`1, Action`2, Func`4, Func`1, Action`1) + 0x42e
     at ILCompiler.ILScanner.CompileMultiThreaded(List`1) + 0x242
     at ILCompiler.ILScanner.ComputeDependencyNodeDependencies(List`1) + 0x170
     at ILCompiler.DependencyAnalysisFramework.DependencyAnalyzer`2.ComputeMarkedNodes() + 0x14e
     at ILCompiler.ILScanner.ILCompiler.IILScanner.Scan() + 0x19
     at ILCompiler.Program.<Run>g__RunScanner|4_0(Program.<>c__DisplayClass4_0&) + 0x21f
     at ILCompiler.Program.Run() + 0x29cd
     at ILCompiler.ILCompilerRootCommand.<>c__DisplayClass240_0.<.ctor>b__0(ParseResult) + 0x31e
/Users/runner/work/1/s/.packages/microsoft.dotnet.ilcompiler/9.0.0-rc.1.24431.7/build/Microsoft.NETCore.Native.targets(317,5): error MSB3073: The command ""/Users/runner/work/1/s/.packages/runtime.osx-x64.microsoft.dotnet.ilcompiler/9.0.0-rc.1.24431.7/tools/ilc" @"/Users/runner/work/1/s/artifacts/obj/cdacreader/Release/net9.0/osx-x64/native/libcdacreader.ilc.rsp"" exited with code 1. [/Users/runner/work/1/s/src/native/managed/cdacreader/src/cdacreader.csproj]

Report

Summary

24-Hour Hit Count 7-Day Hit Count 1-Month Count
0 0 0

Metadata

Metadata

Assignees

No one assigned

    Labels

    Known Build ErrorUse this to report build issues in the .NET Helix tabarea-NativeAOT-coreclrblocking-clean-ciBlocking PR or rolling runs of 'runtime' or 'runtime-extra-platforms'

    Type

    No type

    Projects

    Status

    No status

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions