-
Notifications
You must be signed in to change notification settings - Fork 5.3k
Closed
Labels
Description
Description
I'm using BenchmarkDotNet with NativeAOT, but it failed to build and yielded the error message:
...
ILC: Method '[System.Management]System.Management.WbemObjectTextSrc..ctor()' will always throw because: Invalid IL or CLR metadata in 'Void System.Management.WbemObjectTextSrc..ctor()'
ILC: Method '[System.Management]System.Management.WbemContext..ctor()' will always throw because: Invalid IL or CLR metadata in 'Void System.Management.WbemContext..ctor()'
ILC: Method '[System.Management]System.Management.WbemLocator..ctor()' will always throw because: Invalid IL or CLR metadata in 'Void System.Management.WbemLocator..ctor()'
ILC: Method '[System.Management]System.Management.WbemDefPath..ctor()' will always throw because: Invalid IL or CLR metadata in 'Void System.Management.WbemDefPath..ctor()'
ILC: Method '[System.Management]System.Management.WbemStatusCodeText..ctor()' will always throw because: Invalid IL or CLR metadata in 'Void System.Management.WbemStatusCodeText..ctor()'
<unknown>:0: error: assembler label '' can not be undefined
<unknown>:0: error: assembler label '' can not be undefined
...
<unknown>:0: error: assembler label '' can not be undefined
<unknown>:0: error: assembler label '' can not be undefined
<unknown>:0: error: assembler label '' can not be undefined
<unknown>:0: error: assembler label '' can not be undefined
<unknown>:0: error: assembler label '' can not be undefined
<unknown>:0: error: assembler label '' can not be undefined
<unknown>:0: error: assembler label '' can not be undefined
<unknown>:0: error: assembler label '' can not be undefined
<unknown>:0: error: assembler label '' can not be undefined
<unknown>:0: error: assembler label '' can not be undefined
EXEC : error : The method or operation is not implemented. [...\bin\Release\net6.0\bf30ca63-8eeb-4379-8a70-8cf7fe931ae7\BenchmarkDotNet.Autogenerated.csproj]
System.NotImplementedException: The method or operation is not implemented.
at Internal.TypeSystem.Ecma.UnmanagedPdbSymbolReader.SymUnmanagedReaderWrapperCache.SymUnmanagedReaderRcw.GetMethod(Int32 methodToken, ISymUnmanagedMethod& method)
at Internal.TypeSystem.Ecma.UnmanagedPdbSymbolReader.GetSequencePointsForMethod(Int32 methodToken)+MoveNext()
at ILCompiler.DependencyAnalysis.MethodCodeNode.GetNativeSequencePoints()+MoveNext()
at ILCompiler.DependencyAnalysis.ObjectWriter.BuildDebugLocInfoMap(ObjectNode node)
at ILCompiler.DependencyAnalysis.ObjectWriter.EmitObject(String objectFilePath, IReadOnlyCollection`1 nodes, NodeFactory factory, ObjectWritingOptions options, IObjectDumper dumper, Logger logger)
at ILCompiler.RyuJitCompilation.CompileInternal(String outputFile, ObjectDumper dumper)
at ILCompiler.Compilation.ILCompiler.ICompilation.Compile(String outputFile, ObjectDumper dumper)
at ILCompiler.Program.Run(String[] args)
at ILCompiler.Program.Main(String[] args)
Reproduction Steps
var config = DefaultConfig.Instance
.AddJob(Job.ShortRun
.WithToolchain(CoreRtToolchain.CreateBuilder()
.UseCoreRtNuGet(
microsoftDotNetILCompilerVersion: "7.0.0-*",
nuGetFeedUrl: "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet7/nuget/v3/index.json")
.DisplayName("NativeAOT")
.TargetFrameworkMoniker("net6.0")
.ToToolchain()));
BenchmarkRunner.Run<Test>(config);
public class Test
{
[Benchmark]
public void SomeBenchmarkCode() { ... }
}Then run it with dotnet run -c Release.
Expected behavior
Successfully run benchmark.
Actual behavior
Failed to build benchmark
Regression?
No response
Known Workarounds
No response
Configuration
No response
Other information
No response