BenchmarkDotNet icon indicating copy to clipboard operation
BenchmarkDotNet copied to clipboard

BenchmarkDotNet nightly fails to disassemble .Net 7.0 properly

Open MichalPetryka opened this issue 1 year ago • 3 comments

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)

MichalPetryka avatar Aug 02 '22 00:08 MichalPetryka

On a 2nd try, it failed on a different one of the benchmarks.

MichalPetryka avatar Aug 02 '22 01:08 MichalPetryka

Hi @MichalPetryka

Is there any chance you could share a repro?

adamsitnik avatar Aug 02 '22 08:08 adamsitnik

Here's the benchmark I've experienced it with, not sure though if it's caused by it or something else: ConcurrentBench.zip

MichalPetryka avatar Aug 02 '22 10:08 MichalPetryka

It should be now fixed with #2071

adamsitnik avatar Aug 25 '22 10:08 adamsitnik