BenchmarkDotNet
BenchmarkDotNet copied to clipboard
BenchmarkDotNet nightly fails to disassemble .Net 7.0 properly
BenchmarkDotNet 0.13.1.1835 from nightlies when running a .Net Framework 4.8 host failed to disassemble 1 out of 14 benchmarks with:
Failed to disassemble with following exception:
Sequence contains no matching element.
in System.Linq.Enumerable.Single[TSource](IEnumerable`1 source, Func`2 predicate)
in BenchmarkDotNet.Disassemblers.ClrMdV1Disassembler.AttachAndDisassemble(Settings settings)
in BenchmarkDotNet.Disassemblers.Program.Main(String[] args)
The end table list code sizes for all benchmarks but the one with the error. The output asm file however contains the data for just 8 out of 14 benchmarks, BDN seemed to error out with this while printing it:
System.ArgumentNullException: Value cannot be null.
Parameter name: source
in System.Linq.Enumerable.ToDictionary[TSource,TKey,TElement](IEnumerable`1 source, Func`2 keySelector, Func`2 elementSelector, IEqualityComparer`1 comparer)
in BenchmarkDotNet.Disassemblers.DisassemblyResult.get_AddressToNameMapping()
in BenchmarkDotNet.Disassemblers.Exporters.DisassemblyPrettifier.Prettify(DisassembledMethod method, DisassemblyResult disassemblyResult, DisassemblyDiagnoserConfig config, String labelPrefix)
in BenchmarkDotNet.Disassemblers.Exporters.GithubMarkdownDisassemblyExporter.Export(ILogger logger, DisassemblyResult disassemblyResult, DisassemblyDiagnoserConfig config, Boolean quotingCode)
in BenchmarkDotNet.Disassemblers.Exporters.GithubMarkdownDisassemblyExporter.ExportToLog(Summary summary, ILogger logger)
in BenchmarkDotNet.Exporters.ExporterBase.ExportToFiles(Summary summary, ILogger consoleLogger)
in BenchmarkDotNet.Exporters.CompositeExporter.<>c__DisplayClass5_0.<ExportToFiles>b__0(IExporter exporter)
On a 2nd try, it failed on a different one of the benchmarks.
Hi @MichalPetryka
Is there any chance you could share a repro?
Here's the benchmark I've experienced it with, not sure though if it's caused by it or something else: ConcurrentBench.zip
It should be now fixed with #2071