dotnet / dotnet/performance

System.Numerics.Tests.Perf_BigInteger.Ctor_ByteArray benchmark crashes when profiling ETW

Open
#1,485 4 comments 0 reactions 0 assignees View on GitHub
Dominant language
F#
Stars
773
Forks
301
Avg merge
6d 9h
Merged PRs (30d)
15

Description

When I try to run the `System.Numerics.Tests.Perf_BigInteger.Ctor_ByteArray` benchmark and collect an ETW trace, the benchmark crashes. I'm running the benchmark using the following command:

```cmd
py .\scripts\benchmarks_ci.py -c Release -f netcoreapp5.0 --filter '*System.Numerics.Tests.Perf_BigInteger.Ctor_ByteArray*' --bdn-arguments '-p ETW'
```

The benchmarks start running, but towards the end it throws the following error:

```
// **************************
[2020/08/26 12:40:08][INFO] // Benchmark: Perf_BigInteger.Ctor_ByteArray: Job-VWENRA(PowerPlanMode=00000000-0000-0000-0000-000000000000, Runtime=.NET Core 5.0, Arguments=/p:DebugType=portable, Toolchain=netcoreapp5.0, IterationTime=250.0000 ms, MaxIterationCount=20, MinIterationCount=15, WarmupCount=1) [numberString=123456789012(...)901234567890 [200]]
[2020/08/26 12:40:08][INFO] // *** Execute ***
[2020/08/26 12:40:08][INFO] // Launch: 1 / 1
[2020/08/26 12:40:08][INFO] // Execute: dotnet "13a368b9-dfba-4cd3-9940-06fdcc587b0d.dll" --benchmarkName "System.Numerics.Tests.Perf_BigInteger.Ctor_ByteArray(numberString: 12345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890)" --job "PowerPlanMode=00000000-0000-0000-0000-000000000000, Runtime=.NET Core 5.0, Arguments=/p:DebugType=portable, Toolchain=netcoreapp5.0, IterationTime=250.0000 ms, MaxIterationCount=20, MinIterationCount=15, WarmupCount=1" --benchmarkId 2 in C:\Users\acovingt\source\repos\performance\artifacts\bin\MicroBenchmarks\Release\netcoreapp5.0\13a368b9-dfba-4cd3-9940-06fdcc587b0d\bin\Release\netcoreapp5.0
[2020/08/26 12:40:08][INFO] Unhandled exception. System.IO.FileNotFoundException: Unspecified error
[2020/08/26 12:40:08][INFO]
[2020/08/26 12:40:08][INFO] at System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(Int32 errorCode)
[2020/08/26 12:40:08][INFO] at Microsoft.Diagnostics.Tracing.Session.TraceEventSession.EnableKernelProvider(Keywords flags, Keywords stackCapture)
[2020/08/26 12:40:08][INFO] at BenchmarkDotNet.Diagnostics.Windows.KernelSession.EnableProviders()
[2020/08/26 12:40:08][INFO] at BenchmarkDotNet.Diagnostics.Windows.EtwProfiler.Start(DiagnoserActionParameters parameters)
[2020/08/26 12:40:08][INFO] at BenchmarkDotNet.Diagnostics.Windows.EtwProfiler.Handle(HostSignal signal, DiagnoserActionParameters parameters)
[2020/08/26 12:40:08][INFO] at BenchmarkDotNet.Diagnosers.CompositeDiagnoser.Handle(HostSignal signal, DiagnoserActionParameters parameters)
[2020/08/26 12:40:08][INFO] at BenchmarkDotNet.Toolchains.DotNetCli.DotNetCliExecutor.Execute(BenchmarkCase benchmarkCase, BenchmarkId benchmarkId, ILogger logger, ArtifactsPaths artifactsPaths, IDiagnoser diagnoser, String executableName, IResolver resolver)
[2020/08/26 12:40:08][INFO] at BenchmarkDotNet.Toolchains.DotNetCli.DotNetCliExecutor.Execute(ExecuteParameters executeParameters)
[2020/08/26 12:40:08][INFO] at BenchmarkDotNet.Running.BenchmarkRunnerClean.Execute(ILogger logger, BenchmarkCase benchmarkCase, BenchmarkId benchmarkId, IToolchain toolchain, BuildResult buildResult, IResolver resolver)
[2020/08/26 12:40:08][INFO] at BenchmarkDotNet.Running.BenchmarkRunnerClean.RunCore(BenchmarkCase benchmarkCase, BenchmarkId benchmarkId, ILogger logger, IResolver resolver, BuildResult buildResult)
[2020/08/26 12:40:08][INFO] at BenchmarkDotNet.Running.BenchmarkRunnerClean.Run(BenchmarkRunInfo benchmarkRunInfo, Dictionary`2 buildResults, IResolver resolver, ILogger logger, List`1 artifactsToCleanup, String resultsFolderPath, String logFilePath, StartedClock& runChronometer)
[2020/08/26 12:40:08][INFO] at BenchmarkDotNet.Running.BenchmarkRunnerClean.Run(BenchmarkRunInfo[] benchmarkRunInfos)
[2020/08/26 12:40:08][INFO] at BenchmarkDotNet.Running.BenchmarkSwitcher.RunWithDirtyAssemblyResolveHelper(String[] args, IConfig config)
[2020/08/26 12:40:08][INFO] at BenchmarkDotNet.Running.BenchmarkSwitcher.Run(String[] args, IConfig config)
[2020/08/26 12:40:08][INFO] at MicroBenchmarks.Program.Main(String[] args) in C:\Users\acovingt\source\repos\performance\src\benchmarks\micro\Program.cs:line 41
```

If I omit the `--bdn-arguments '-p ETW'`, it doesn't crash.

Here's the `dotnet --info` output from `benchmarks_ci.py` for extra context:

```
[2020/08/26 12:39:05][INFO] $ dotnet --info
[2020/08/26 12:39:06][INFO] .NET SDK (reflecting any global.json):
[2020/08/26 12:39:06][INFO] Version: 6.0.100-alpha.1.20426.4
[2020/08/26 12:39:06][INFO] Commit: e8e3c763bf
[2020/08/26 12:39:06][INFO]
[2020/08/26 12:39:06][INFO] Runtime Environment:
[2020/08/26 12:39:06][INFO] OS Name: Windows
[2020/08/26 12:39:06][INFO] OS Version: 10.0.19041
[2020/08/26 12:39:06][INFO] OS Platform: Windows
[2020/08/26 12:39:06][INFO] RID: win10-x64
[2020/08/26 12:39:06][INFO] Base Path: C:\Users\acovingt\source\repos\performance\tools\dotnet\x64\sdk\6.0.100-alpha.1.20426.4\
[2020/08/26 12:39:06][INFO]
[2020/08/26 12:39:06][INFO] Host (useful for support):
[2020/08/26 12:39:06][INFO] Version: 5.0.0-rc.1.20417.14
[2020/08/26 12:39:06][INFO] Commit: 907f7da59b
[2020/08/26 12:39:06][INFO]
[2020/08/26 12:39:06][INFO] .NET SDKs installed:
[2020/08/26 12:39:06][INFO] 3.1.303 [C:\Users\acovingt\source\repos\performance\tools\dotnet\x64\sdk]
[2020/08/26 12:39:06][INFO] 5.0.100-rc.1.20407.13 [C:\Users\acovingt\source\repos\performance\tools\dotnet\x64\sdk]
[2020/08/26 12:39:06][INFO] 5.0.100-rc.1.20411.2 [C:\Users\acovingt\source\repos\performance\tools\dotnet\x64\sdk]
[2020/08/26 12:39:06][INFO] 5.0.100-rc.1.20413.9 [C:\Users\acovingt\source\repos\performance\tools\dotnet\x64\sdk]
[2020/08/26 12:39:06][INFO] 5.0.100-rc.1.20418.3 [C:\Users\acovingt\source\repos\performance\tools\dotnet\x64\sdk]
[2020/08/26 12:39:06][INFO] 5.0.100-rc.1.20419.9 [C:\Users\acovingt\source\repos\performance\tools\dotnet\x64\sdk]
[2020/08/26 12:39:06][INFO] 5.0.100-rc.1.20420.16 [C:\Users\acovingt\source\repos\performance\tools\dotnet\x64\sdk]
[2020/08/26 12:39:06][INFO] 6.0.100-alpha.1.20421.6 [C:\Users\acovingt\source\repos\performance\tools\dotnet\x64\sdk]
[2020/08/26 12:39:06][INFO] 6.0.100-alpha.1.20426.4 [C:\Users\acovingt\source\repos\performance\tools\dotnet\x64\sdk]
[2020/08/26 12:39:06][INFO]
[2020/08/26 12:39:06][INFO] .NET runtimes installed:
[2020/08/26 12:39:06][INFO] Microsoft.AspNetCore.App 3.1.6 [C:\Users\acovingt\source\repos\performance\tools\dotnet\x64\shared\Microsoft.AspNetCore.App]
[2020/08/26 12:39:06][INFO] Microsoft.AspNetCore.App 5.0.0-rc.1.20405.9 [C:\Users\acovingt\source\repos\performance\tools\dotnet\x64\shared\Microsoft.AspNetCore.App]
[2020/08/26 12:39:06][INFO] Microsoft.AspNetCore.App 5.0.0-rc.1.20419.22 [C:\Users\acovingt\source\repos\performance\tools\dotnet\x64\shared\Microsoft.AspNetCore.App]
[2020/08/26 12:39:06][INFO] Microsoft.NETCore.App 3.1.6 [C:\Users\acovingt\source\repos\performance\tools\dotnet\x64\shared\Microsoft.NETCore.App]
[2020/08/26 12:39:06][INFO] Microsoft.NETCore.App 5.0.0-rc.1.20404.16 [C:\Users\acovingt\source\repos\performance\tools\dotnet\x64\shared\Microsoft.NETCore.App]
[2020/08/26 12:39:06][INFO] Microsoft.NETCore.App 5.0.0-rc.1.20417.14 [C:\Users\acovingt\source\repos\performance\tools\dotnet\x64\shared\Microsoft.NETCore.App]
[2020/08/26 12:39:06][INFO] Microsoft.WindowsDesktop.App 3.1.6 [C:\Users\acovingt\source\repos\performance\tools\dotnet\x64\shared\Microsoft.WindowsDesktop.App]
[2020/08/26 12:39:06][INFO] Microsoft.WindowsDesktop.App 5.0.0-rc.1.20405.1 [C:\Users\acovingt\source\repos\performance\tools\dotnet\x64\shared\Microsoft.WindowsDesktop.App]
[2020/08/26 12:39:06][INFO] Microsoft.WindowsDesktop.App 5.0.0-rc.1.20417.4 [C:\Users\acovingt\source\repos\performance\tools\dotnet\x64\shared\Microsoft.WindowsDesktop.App]
```

Please let me know if I can clarify any of the above. Thanks in advance!

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.