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

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

Open
ericstj opened this issue Sep 19, 2024 · 2 comments
Labels
area-NativeAOT-coreclr 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 untriaged New issue has not been triaged by the area owner

Comments

@ericstj
Copy link
Member

ericstj commented Sep 19, 2024

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
@ericstj ericstj added 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 Sep 19, 2024
@dotnet-policy-service dotnet-policy-service bot added the untriaged New issue has not been triaged by the area owner label Sep 19, 2024
Copy link
Contributor

Tagging subscribers to this area: @agocke, @MichalStrehovsky, @jkotas
See info in area-owners.md if you want to be subscribed.

@MichalStrehovsky
Copy link
Member

This is very close to where we were hitting #104340 in the compiler. It's possible it's the same issue, just a different manifestation.

We'll know when we update the SDK that builds the repo to RC2 (it has the fix).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area-NativeAOT-coreclr 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 untriaged New issue has not been triaged by the area owner
Projects
Status: No status
Development

No branches or pull requests

2 participants