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

WASM Microbenchmarks Not Working #2250

Closed
LoopedBard3 opened this issue Feb 8, 2022 · 45 comments · Fixed by dotnet/BenchmarkDotNet#1932, #2288, #2305 or dotnet/runtime#66493
Closed

WASM Microbenchmarks Not Working #2250

LoopedBard3 opened this issue Feb 8, 2022 · 45 comments · Fixed by dotnet/BenchmarkDotNet#1932, #2288, #2305 or dotnet/runtime#66493
Labels
bug Something isn't working impact test coverage test maybe disabled due to this issue WRI Issues and PR's that may be especially useful to WRI or should be viewed during WRI

Comments

@LoopedBard3
Copy link
Member

Wasm Microbenchmarks are still failing after the BDN update. Two spots that pop out are a seeming failure with building, although another build of seemingly the same location succeeds after; and an inability to run a specific 'main.js' file from the browser-wasm/AppBundle folder. Respectively:

// start dotnet build -c Release /p:DebugType=portable -bl:benchmarkdotnet.binlog --no-restore /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 /p:Deterministic=true /p:Optimize=true /p:NuGetPackageRoot="/home/helixbot/work/A50E08AE/p/performance/artifacts/packages" in /home/helixbot/work/A50E08AE/p/performance/artifacts/bin/MicroBenchmarks/Release/net7.0/f55d017a-085a-41d6-a734-6abcdf4c2743
[2022/02/08 12:59:15][INFO] // command took 14.99s and exited with 1

and

[2022/02/08 13:14:47][INFO] // Execute: /home/helixbot/.jsvu/v8 --expose_wasm main.js -- --run f55d017a-085a-41d6-a734-6abcdf4c2743.dll --benchmarkName Burgers.Test2 --job "PowerPlanMode=00000000-0000-0000-0000-000000000000, Runtime=Wasm, Arguments=/p:DebugType=portable,-bl:benchmarkdotnet.binlog, Toolchain=Wasm, IterationTime=250.0000 ms, MaxIterationCount=20, MinIterationCount=15, WarmupCount=1" --benchmarkId 0  in /home/helixbot/work/A50E08AE/p/performance/artifacts/bin/MicroBenchmarks/Release/net7.0/f55d017a-085a-41d6-a734-6abcdf4c2743/bin/net7.0/browser-wasm/AppBundle
[2022/02/08 13:14:47][INFO] Failed to set up high priority. Make sure you have the right permissions. Message: Permission denied
[2022/02/08 13:14:47][INFO] Error reading 'main.js'
[2022/02/08 13:14:47][INFO] No Workload Results were obtained from the run.

Upon further investigation, it looks like the main.js file got renamed to test-main.js. Example ls result in AppBundle:

dotnet.js  dotnet.timezones.blat  dotnet.wasm  icudt.dat  index.html  managed  mono-config.json  run-v8.sh  supportFiles  test-main.js

@naricc @SamMonoRT

@LoopedBard3 LoopedBard3 added bug Something isn't working impact test coverage test maybe disabled due to this issue labels Feb 8, 2022
@SamMonoRT
Copy link
Member

@pavelsavara @lewing - please take a look

@pavelsavara
Copy link
Member

Yes test-main.js is right thing to do for Net7.0 but still main.js for Net6.0.
Does this repo target both ?

@naricc
Copy link

naricc commented Feb 9, 2022

This should be resovled with this change to BDN: dotnet/BenchmarkDotNet#1916

Are it looks like the update to pull the new version of BDN merged: #2245

So why is this still broken with the same error message? Did we get the wrong BDN version?

@LoopedBard3
Copy link
Member Author

@pavelsavara This run specifies to target net7.0. The inner build command is:

dotnet build /home/helixbot/work/AA7B0915/p/performance/src/benchmarks/micro/MicroBenchmarks.csproj --configuration Release --framework net7.0 --no-restore 

giving this output

[2022/02/09 08:14:09][INFO] Microsoft (R) Build Engine version 17.2.0-preview-22104-01+09bdfae16 for .NET
[2022/02/09 08:14:09][INFO] Copyright (C) Microsoft Corporation. All rights reserved.
[2022/02/09 08:14:09][INFO] 
[2022/02/09 08:14:10][INFO]   Reporting -> /home/helixbot/work/AA7B0915/p/performance/artifacts/bin/Reporting/Release/netstandard2.0/Reporting.dll
[2022/02/09 08:14:11][INFO]   BenchmarkDotNet.Extensions -> /home/helixbot/work/AA7B0915/p/performance/artifacts/bin/BenchmarkDotNet.Extensions/Release/netstandard2.0/BenchmarkDotNet.Extensions.dll
[2022/02/09 08:14:14][INFO]   MicroBenchmarks -> /home/helixbot/work/AA7B0915/p/performance/artifacts/bin/MicroBenchmarks/Release/net7.0/MicroBenchmarks.dll
[2022/02/09 08:14:14][INFO] 
[2022/02/09 08:14:14][INFO] Build succeeded.
[2022/02/09 08:14:14][INFO]     0 Warning(s)
[2022/02/09 08:14:14][INFO]     0 Error(s)
[2022/02/09 08:14:14][INFO] 
[2022/02/09 08:14:14][INFO] Time Elapsed 00:00:05.25

@naricc
Copy link

naricc commented Feb 10, 2022

I retrieved the command it is running the microbenchmakrs with from the logs:

dotnet run --project /home/helixbot/work/B9C40A56/p/performance/src/benchmarks/micro/MicroBenchmarks.csproj --configuration Release --framework net7.0 --no-restore --no-build -- --anyCategories Libraries Runtime "" --category-exclusion-filter NoInterpreter NoWASM NoMono --wasmEngine /home/helixbot/.jsvu/v8 --runtimeSrcDir /home/helixbot/work/B9C40A56/p/dotnet-wasm --aotcompilermode wasm --buildTimeout 3600 "" --partition-count 30 --partition-index 0

Trying this command locally (with modifications. for the paths), and it seems to run fine. So I am not sure where the error is coming in. Are these runs happening with the very latest Microbenchmarks.csproj?

I will retrieve the helix payload and see what I can get out of it.

@LoopedBard3 LoopedBard3 added the WRI Issues and PR's that may be especially useful to WRI or should be viewed during WRI label Feb 10, 2022
@lewing
Copy link
Member

lewing commented Feb 19, 2022

dotnet/BenchmarkDotNet#1926 should help

@lewing
Copy link
Member

lewing commented Feb 22, 2022

The bdn change has merged, what are the next steps?

@naricc
Copy link

naricc commented Feb 22, 2022

@LoopedBard3 @DrewScoggins Can one of you update the BDN version the microbenchmarks pull, and upload the new package to the repository?

@LoopedBard3
Copy link
Member Author

PR to update the version is up: #2270.

@LoopedBard3
Copy link
Member Author

It looks like even after the update, the main.js file is the one being looked for.

@lewing
Copy link
Member

lewing commented Feb 25, 2022

It looks like even after the update, the main.js file is the one being looked for.

Looking at dotnet/BenchmarkDotNet#1916 my guess is that
string main_js = runtime.RuntimeMoniker < RuntimeMoniker.WasmNet70 ? "main.js" : "test-main.js";
Is picking the wrong js file when RuntimeMoniker.Wasm is being used instead of RuntimeMoniker.WasmNet70

https://github.com/dotnet/BenchmarkDotNet/blob/beb543a6714623a6644adb3fbfc492820b888a14/src/BenchmarkDotNet.Annotations/Jobs/RuntimeMoniker.cs#L141-L156

@lewing
Copy link
Member

lewing commented Feb 25, 2022

cc @radekdoulik

@radekdoulik
Copy link
Member

It looks like even after the update, the main.js file is the one being looked for.

@LoopedBard3 could you please add link to the log, where this is visible?

radekdoulik added a commit to radekdoulik/BenchmarkDotNet that referenced this issue Mar 2, 2022
Fix dotnet/performance#2250

Commit 80f45ce started using the runtime moniker to decide, which
main JS file to use. We use `test-main.js` in net7.0, while we were
using `main.js` in older versions.

To make that work, let set the right runtime moniker to WasmRuntime. So
that later in `Executor::ProcessStartInfo` we select the right file.
adamsitnik pushed a commit to dotnet/BenchmarkDotNet that referenced this issue Mar 3, 2022
* [wasm] Set the right runtime moniker

Fix dotnet/performance#2250

Commit 80f45ce started using the runtime moniker to decide, which
main JS file to use. We use `test-main.js` in net7.0, while we were
using `main.js` in older versions.

To make that work, let set the right runtime moniker to WasmRuntime. So
that later in `Executor::ProcessStartInfo` we select the right file.
@lewing
Copy link
Member

lewing commented Mar 3, 2022

@LoopedBard3 I assume we need to take another BDN update to pick up dotnet/BenchmarkDotNet#1932 before this can actually be closed?

@LoopedBard3
Copy link
Member Author

Yes, it looks this change is a part of version 0.13.1.1706? If so, I can push the new versions and watch for the update in our runs before officially closing this issue.

@LoopedBard3
Copy link
Member Author

Updated the BDN. We also found a change to make on our end that helped locally as shown in #2288 so these combined should be the last stuff for the fix.

@LoopedBard3
Copy link
Member Author

Mistakenly closed this with the last issue. Although the fixes made it so the tests are running now, but we are running into some sort of timeout:

[2022/03/09 05:14:58][INFO] // The benchmarking process did not quit on time, it's going to get force killed now.
[2022/03/09 05:14:58][INFO] Unhandled exception. System.InvalidOperationException: Process must exit before requested information can be determined.
[2022/03/09 05:14:58][INFO]    at System.Diagnostics.Process.EnsureState(State state)
[2022/03/09 05:14:58][INFO]    at System.Diagnostics.Process.get_ExitCode()
[2022/03/09 05:14:58][INFO]    at BenchmarkDotNet.Toolchains.Executor.Execute(Process process, BenchmarkCase benchmarkCase, SynchronousProcessOutputLoggerWithDiagnoser loggerWithDiagnoser, ILogger logger, ConsoleExitHandler consoleExitHandler, Int32 launchIndex)
[2022/03/09 05:14:58][INFO]    at BenchmarkDotNet.Toolchains.Executor.Execute(BenchmarkCase benchmarkCase, BenchmarkId benchmarkId, ILogger logger, ArtifactsPaths artifactsPaths, String args, IDiagnoser diagnoser, IResolver resolver, Int32 launchIndex)
[2022/03/09 05:14:58][INFO]    at BenchmarkDotNet.Toolchains.Executor.Execute(ExecuteParameters executeParameters)
[2022/03/09 05:14:58][INFO]    at BenchmarkDotNet.Running.BenchmarkRunnerClean.RunExecute(ILogger logger, BenchmarkCase benchmarkCase, BenchmarkId benchmarkId, IToolchain toolchain, BuildResult buildResult, IResolver resolver, IDiagnoser diagnoser, Int32 launchIndex)
[2022/03/09 05:14:58][INFO]    at BenchmarkDotNet.Running.BenchmarkRunnerClean.Execute(ILogger logger, BenchmarkCase benchmarkCase, BenchmarkId benchmarkId, IToolchain toolchain, BuildResult buildResult, IResolver resolver)
[2022/03/09 05:14:58][INFO]    at BenchmarkDotNet.Running.BenchmarkRunnerClean.RunCore(BenchmarkCase benchmarkCase, BenchmarkId benchmarkId, ILogger logger, IResolver resolver, BuildResult buildResult)
[2022/03/09 05:14:58][INFO]    at BenchmarkDotNet.Running.BenchmarkRunnerClean.Run(BenchmarkRunInfo benchmarkRunInfo, Dictionary`2 buildResults, IResolver resolver, ILogger logger, List`1 artifactsToCleanup, String resultsFolderPath, String logFilePath, Int32 totalBenchmarkCount, StartedClock& runsChronometer, Int32& benchmarksToRunCount)
[2022/03/09 05:14:58][INFO]    at BenchmarkDotNet.Running.BenchmarkRunnerClean.Run(BenchmarkRunInfo[] benchmarkRunInfos)
[2022/03/09 05:14:58][INFO]    at BenchmarkDotNet.Running.BenchmarkSwitcher.RunWithDirtyAssemblyResolveHelper(String[] args, IConfig config, Boolean askUserForInput)
[2022/03/09 05:14:58][INFO]    at BenchmarkDotNet.Running.BenchmarkSwitcher.Run(String[] args, IConfig config)
[2022/03/09 05:14:58][INFO]    at MicroBenchmarks.Program.Main(String[] args) in /home/helixbot/work/9FAC0876/p/performance/src/benchmarks/micro/Program.cs:line 42
[2022/03/09 05:14:58][INFO] $ popd
[2022/03/09 05:14:58][ERROR] Process exited with status 134
[2022/03/09 05:14:58][INFO] Run failure registered
Traceback (most recent call last):
  File "/home/helixbot/work/9FAC0876/p/performance/scripts/benchmarks_ci.py", line 263, in <module>
    __main(sys.argv[1:])
  File "/home/helixbot/work/9FAC0876/p/performance/scripts/benchmarks_ci.py", line 241, in __main
    args
  File "/home/helixbot/work/9FAC0876/p/performance/scripts/micro_benchmarks.py", line 317, in run
    *run_args
  File "/home/helixbot/work/9FAC0876/p/performance/scripts/dotnet.py", line 471, in run
    self.working_directory)
  File "/home/helixbot/work/9FAC0876/p/performance/scripts/performance/common.py", line 227, in run
    returncode, quoted_cmdline)
subprocess.CalledProcessError: Command '$ dotnet run --project /home/helixbot/work/9FAC0876/p/performance/src/benchmarks/micro/MicroBenchmarks.csproj --configuration Release --framework net7.0 --no-restore --no-build -- --anyCategories Libraries Runtime "" --category-exclusion-filter NoInterpreter NoWASM NoMono --wasmEngine /home/helixbot/.jsvu/v8 --runtimeSrcDir /home/helixbot/work/9FAC0876/p/dotnet-wasm --aotcompilermode wasm --buildTimeout 3600 "" --partition-count 30 --partition-index 6 --artifacts /home/helixbot/work/9FAC0876/p/artifacts/BenchmarkDotNet.Artifacts --packages /home/helixbot/work/9FAC0876/p/performance/artifacts/packages --runtimes wasmnet70' returned non-zero exit status 134.
+ export _commandExitCode=1

@LoopedBard3 LoopedBard3 reopened this Mar 9, 2022
@lewing
Copy link
Member

lewing commented Mar 9, 2022

@radical is looking into this

@LoopedBard3
Copy link
Member Author

Looks like #2296 did not fix the issue. Looking more closely at the run itself, it looks like we are setting the build-time to be higher at 3600 (I am assuming seconds). At least based on --buildTimeout 3600 from

python3 /home/helixbot/work/AA3F09CA/p/performance/scripts/benchmarks_ci.py --csproj /home/helixbot/work/AA3F09CA/p/performance/src/benchmarks/micro/MicroBenchmarks.csproj --incremental no --architecture x64 -f net7.0 --upload-to-perflab-container --dotnet-versions 7.0.100-preview.3.22160.15 --cli-source-info args --cli-branch refs/heads/main --cli-commit-sha 28580bf9fc5d40c299af9a51b20f14f6a0db113a --cli-repository https://github.com/dotnet/runtime --cli-source-timestamp 2022-03-10T19:11:56Z --wasm --bdn-artifacts /home/helixbot/work/AA3F09CA/p/artifacts/BenchmarkDotNet.Artifacts --bdn-arguments=--anyCategories Libraries Runtime  --category-exclusion-filter NoInterpreter NoWASM NoMono --wasmEngine /home/helixbot/.jsvu/v8 --runtimeSrcDir /home/helixbot/work/AA3F09CA/p/dotnet-wasm --aotcompilermode wasm --buildTimeout 3600  --partition-count 30 --partition-index 2

It does not seem that this is the direct timeout causing the stoppage as that test run starts at 13:51:03 with the stoppage at 14:08:21 (~17 minutes). Is there a different timeout I may be missing?

@LoopedBard3
Copy link
Member Author

Looking a little bit above the failure, it looks like the same timeout failure occurs but doesn't cause the exception:

[2022/03/10 14:07:59][INFO] GC:  0 0 0 176 65863680
[2022/03/10 14:07:59][INFO] Threading:  0 0 65863680
[2022/03/10 14:07:59][INFO] 
[2022/03/10 14:07:59][INFO] // AfterAll
[2022/03/10 14:08:01][INFO] // The benchmarking process did not quit on time, it's going to get force killed now.
[2022/03/10 14:08:01][INFO] // Benchmark Process 25218 has exited with code 143.
[2022/03/10 14:08:01][INFO] 
[2022/03/10 14:08:01][INFO] Mean = 3.666 ns, StdErr = 0.017 ns (0.47%), N = 13, StdDev = 0.063 ns
[2022/03/10 14:08:01][INFO] Min = 3.619 ns, Q1 = 3.626 ns, Median = 3.646 ns, Q3 = 3.664 ns, Max = 3.848 ns
[2022/03/10 14:08:01][INFO] IQR = 0.038 ns, LowerFence = 3.569 ns, UpperFence = 3.722 ns
[2022/03/10 14:08:01][INFO] ConfidenceInterval = [3.591 ns; 3.741 ns] (CI 99.9%), Margin = 0.075 ns (2.05% of Mean)
[2022/03/10 14:08:01][INFO] Skewness = 1.85, Kurtosis = 5.56, MValue = 2

@radical
Copy link
Member

radical commented Mar 10, 2022

First part of the fix - dotnet/BenchmarkDotNet#1936 . Next: fixes in dotnet/performance, and dotnet/runtime.

It seems that a new nuget wasn't generated from that dotnet/BenchmarkDotNet#1936 (dotnet/BenchmarkDotNet#1936 (comment)). An updated nuget reference is needed here to continue rest of the fix.

@radical
Copy link
Member

radical commented Mar 11, 2022

This is the timeout for the execution of the benchmark running with v8 here, and IIUC it's set to 2s. Though it ends up running 8-10secs.

Shouldn't this timeout be configurable? I haven't been able to reproduce locally though, as I keep running into:

[2022/03/11 00:27:07][INFO] Unhandled exception. System.IndexOutOfRangeException: Index was outside the bounds of the array.
[2022/03/11 00:27:07][INFO]    at System.Reflection.CustomAttribute.FilterCustomAttributeRecord(MetadataToken caCtorToken, MetadataImport& scope, RuntimeModule decoratedModule, MetadataToken decoratedToken, RuntimeType attributeFilterType, Boolean mustBeInheritable, ListBuilder`1& derivedAttributes, RuntimeType& attributeType, IRuntimeMethodInfo& ctorWithParameters, Boolean& isVarArg)
[2022/03/11 00:27:07][INFO]    at System.Reflection.CustomAttribute.AddCustomAttributes(ListBuilder`1& attributes, RuntimeModule decoratedModule, Int32 decoratedMetadataToken, RuntimeType attributeFilterType, Boolean mustBeInheritable, ListBuilder`1 derivedAttributes)
[2022/03/11 00:27:07][INFO]    at System.Reflection.CustomAttribute.GetCustomAttributes(RuntimeMethodInfo method, RuntimeType caType, Boolean inherit)
[2022/03/11 00:27:07][INFO]    at BenchmarkDotNet.Validators.SetupCleanupValidator.ValidateAttributes[T](String benchmarkClassName, IEnumerable`1 allMethods)+MoveNext()
[2022/03/11 00:27:07][INFO]    at System.Collections.Generic.List`1.InsertRange(Int32 index, IEnumerable`1 collection)
[2022/03/11 00:27:07][INFO]    at BenchmarkDotNet.Validators.SetupCleanupValidator.Validate(ValidationParameters input)
[2022/03/11 00:27:07][INFO]    at System.Linq.Enumerable.SelectManySingleSelectorIterator`2.MoveNext()
[2022/03/11 00:27:07][INFO]    at System.Linq.Enumerable.DistinctIterator`1.MoveNext()
[2022/03/11 00:27:07][INFO]    at System.Collections.Generic.List`1.InsertRange(Int32 index, IEnumerable`1 collection)
[2022/03/11 00:27:07][INFO]    at BenchmarkDotNet.Running.BenchmarkRunnerClean.Validate(BenchmarkRunInfo[] benchmarks, ILogger logger)
[2022/03/11 00:27:07][INFO]    at BenchmarkDotNet.Running.BenchmarkRunnerClean.Run(BenchmarkRunInfo benchmarkRunInfo, Dictionary`2 buildResults, IResolver resolver, ILogger logger, List`1 artifactsToCleanup, String resultsFolderPath, String logFilePath, Int32 totalBenchmarkCount, StartedClock& runsChronometer, Int32& benchmarksToRunCount)
[2022/03/11 00:27:07][INFO]    at BenchmarkDotNet.Running.BenchmarkRunnerClean.Run(BenchmarkRunInfo[] benchmarkRunInfos)
[2022/03/11 00:27:07][INFO]    at BenchmarkDotNet.Running.BenchmarkSwitcher.RunWithDirtyAssemblyResolveHelper(String[] args, IConfig config, Boolean askUserForInput)
[2022/03/11 00:27:07][INFO]    at BenchmarkDotNet.Running.BenchmarkSwitcher.Run(String[] args, IConfig config)
[2022/03/11 00:27:07][INFO]    at marks..ign(Stream tArgs, CompressionLevel) in /Users/radical/dev/performance/src/benchmarks/micro/Program.cs:line 42

@radical
Copy link
Member

radical commented Mar 11, 2022

@adamsitnik
Copy link
Member

System.IndexOutOfRangeException: Index was outside the bounds of the array.

this looks like a System.Reflection bug, could you please provide the repro steps and version of the runtime you are using?

Shouldn't this timeout be configurable?

It should, but are we sure that it's not a product bug? It's the first time I see anyone having this issue.

@radical
Copy link
Member

radical commented Mar 11, 2022

This needs to be re-opened:)

@radical
Copy link
Member

radical commented Mar 11, 2022

Shouldn't this timeout be configurable?

It should, but are we sure that it's not a product bug? It's the first time I see anyone having this issue.

It might be a product bug, so I wanted to try out a longer timeout to see if it passes.

@radical
Copy link
Member

radical commented Mar 11, 2022

System.IndexOutOfRangeException: Index was outside the bounds of the array.

this looks like a System.Reflection bug, could you please provide the repro steps and version of the runtime you are using?

In a clean dotnet/performance checkout, I'm running:

python3 scripts/benchmarks_ci.py --csproj src/benchmarks/micro/MicroBenchmarks.csproj --incremental no --architecture x64 -f net7.0 --upload-to-perflab-container --dotnet-versions 7.0.100-preview.3.22151.18 --cli-source-info args --cli-branch refs/heads/main --cli-commit-sha 380a4723ea98067c28d54f30e1a652483a6a257a --cli-repository https://github.com/dotnet/runtime --cli-source-timestamp 2022-03-07T18:10:39Z --wasm --bdn-artifacts artifacts/BenchmarkDotNet.Artifacts "--bdn-arguments=--anyCategories Libraries Runtime  --category-exclusion-filter NoInterpreter NoWASM NoMono  --partition-count 30 --partition-index 0 --cli /tmp/payload/dotnet-workload/dotnet --wasmDataDir /tmp/payload/data --wasmEngine /Users/radical/.jsvu/v8"

This is using a locally setup /tmp/payload directory, which would be populated from the dotnet/runtime ymls. And it contains the js file, and the sdk+workload. Full log.

@radical
Copy link
Member

radical commented Mar 11, 2022

oh, and dotnet --info:

$ dotnet --info
.NET SDK (reflecting any global.json):
 Version:   6.0.100
 Commit:    9e8b04bbff

Runtime Environment:
 OS Name:     Mac OS X
 OS Version:  12.2
 OS Platform: Darwin
 RID:         osx-x64
 Base Path:   /usr/local/share/dotnet/sdk/6.0.100/

Host (useful for support):
  Version: 6.0.0
  Commit:  4822e3c3aa

.NET SDKs installed:
  6.0.100 [/usr/local/share/dotnet/sdk]

.NET runtimes installed:
  Microsoft.AspNetCore.App 6.0.0 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.App]
  Microsoft.NETCore.App 3.1.20 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]
  Microsoft.NETCore.App 6.0.0 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]

To install additional .NET runtimes or SDKs:
  https://aka.ms/dotnet-download

@LoopedBard3
Copy link
Member Author

Reopening as per above

@LoopedBard3 LoopedBard3 reopened this Mar 15, 2022
@radical
Copy link
Member

radical commented Mar 17, 2022

Next PR, towards fixing the AOT runs - dotnet/BenchmarkDotNet#1947 .

@radical
Copy link
Member

radical commented Mar 17, 2022

Also #2320, and dotnet/runtime#66795 .

@radical
Copy link
Member

radical commented Mar 17, 2022

And with these, in my manual runs, the AOT run succeeds.

@radical
Copy link
Member

radical commented Mar 18, 2022

PR to bump BDN in performance - #2323 . With this, the aot runs should start passing again.
The other PRs will help with local builds.

@LoopedBard3
Copy link
Member Author

#2323 and #2320 have both been merged! Is dotnet/runtime#66795 also something that will need to be merged? If so, do we have a manual run of the dotnet-runtime-perf pipeline to make sure it doesn't break other jobs?

@radical
Copy link
Member

radical commented Mar 21, 2022

#2323 and #2320 have both been merged! Is dotnet/runtime#66795 also something that will need to be merged? If so, do we have a manual run of the dotnet-runtime-perf pipeline to make sure it doesn't break other jobs?

I have kicked off a manual run for that, and I'll report back with the results.

@radical
Copy link
Member

radical commented Mar 21, 2022

All the wasm benchmark runs are passing now, for main, except one warning.
I'm still waiting on the manual run for the PR.

@radical
Copy link
Member

radical commented Mar 21, 2022

The aot run for the PR failed on one of the partitions while compiling Microsoft.Extensions.Configuration.Xml.dll.bc to .o. I'm trying to reproduce it locally now.

Failed to compile /home/helixbot/work/B9EB09EC/p/performance/artifacts/obj/BenchmarkDotNet.Autogenerated/Release/net7.0/browser-wasm/wasm/for-publish/Microsoft.Extensions.Configuration.Xml.dll.bc -> /home/helixbot/work/B9EB09EC/p/performance/artifacts/obj/BenchmarkDotNet.Autogenerated/Release/net7.0/browser-wasm/wasm/for-publish/Microsoft.Extensions.Configuration.Xml.dll.o [/home/helixbot/work/B9EB09EC/p/performance/artifacts/bin/MicroBenchmarks/Release/net7.0/d81729ad-ba16-4b54-a7ea-43b995bc8301/BenchmarkDotNet.Autogenerated.csproj]
 "/home/helixbot/work/B9EB09EC/p/dotnet-wasm/dotnet-workload/packs/Microsoft.NET.Runtime.Emscripten.2.0.23.Sdk.linux-x64/7.0.0-preview.3.22167.1/tools/bin/clang++" -target wasm32-unknown-emscripten -DEMSCRIPTEN -mllvm -combiner-global-alias-analysis=false -mllvm -enable-emscripten-cxx-exceptions -mllvm -enable-emscripten-sjlj -mllvm -disable-lsr -D__EMSCRIPTEN_major__=2 -D__EMSCRIPTEN_minor__=0 -D__EMSCRIPTEN_tiny__=23 -D_LIBCPP_ABI_VERSION=2 -Dunix -D__unix -D__unix__ -Werror=implicit-function-declaration -Xclang -iwithsysroot/include/SDL --sysroot=/home/helixbot/work/B9EB09EC/p/dotnet-wasm/dotnet-workload/packs/Microsoft.NET.Runtime.Emscripten.2.0.23.Sdk.linux-x64/7.0.0-preview.3.22167.1/tools/emscripten/cache/sysroot -Xclang -iwithsysroot/include/compat -O2 -v -c /home/helixbot/work/B9EB09EC/p/performance/artifacts/obj/BenchmarkDotNet.Autogenerated/Release/net7.0/browser-wasm/wasm/for-publish/Microsoft.Extensions.Configuration.Xml.dll.bc -o /tmp/tmplBAmej.tmp [/home/helixbot/work/B9EB09EC/p/performance/artifacts/bin/MicroBenchmarks/Release/net7.0/d81729ad-ba16-4b54-a7ea-43b995bc8301/BenchmarkDotNet.Autogenerated.csproj]
clang version 13.0.0 (/b/s/w/ir/cache/git/chromium.googlesource.com-external-github.com-llvm-llvm--project 5852582532b3eb3ea8da51a1e272d8d017bd36c9) [/home/helixbot/work/B9EB09EC/p/performance/artifacts/bin/MicroBenchmarks/Release/net7.0/d81729ad-ba16-4b54-a7ea-43b995bc8301/BenchmarkDotNet.Autogenerated.csproj]
Target: wasm32-unknown-emscripten [/home/helixbot/work/B9EB09EC/p/performance/artifacts/bin/MicroBenchmarks/Release/net7.0/d81729ad-ba16-4b54-a7ea-43b995bc8301/BenchmarkDotNet.Autogenerated.csproj]
Thread model: posix [/home/helixbot/work/B9EB09EC/p/performance/artifacts/bin/MicroBenchmarks/Release/net7.0/d81729ad-ba16-4b54-a7ea-43b995bc8301/BenchmarkDotNet.Autogenerated.csproj]
InstalledDir: /home/helixbot/work/B9EB09EC/p/dotnet-wasm/dotnet-workload/packs/Microsoft.NET.Runtime.Emscripten.2.0.23.Sdk.linux-x64/7.0.0-preview.3.22167.1/tools/bin [/home/helixbot/work/B9EB09EC/p/performance/artifacts/bin/MicroBenchmarks/Release/net7.0/d81729ad-ba16-4b54-a7ea-43b995bc8301/BenchmarkDotNet.Autogenerated.csproj]
 (in-process) [/home/helixbot/work/B9EB09EC/p/performance/artifacts/bin/MicroBenchmarks/Release/net7.0/d81729ad-ba16-4b54-a7ea-43b995bc8301/BenchmarkDotNet.Autogenerated.csproj]
 "/home/helixbot/work/B9EB09EC/p/dotnet-wasm/dotnet-workload/packs/Microsoft.NET.Runtime.Emscripten.2.0.23.Sdk.linux-x64/7.0.0-preview.3.22167.1/tools/bin/clang++" -cc1 -triple wasm32-unknown-emscripten -emit-obj --mrelax-relocations -disable-free -main-file-name Microsoft.Extensions.Configuration.Xml.dll.bc -mrelocation-model static -mframe-pointer=none -fno-rounding-math -mconstructor-aliases -target-cpu generic -fvisibility hidden -debugger-tuning=gdb -v -fcoverage-compilation-dir=/home/helixbot/work/B9EB09EC/p/performance/artifacts/bin/MicroBenchmarks/Release/net7.0/d81729ad-ba16-4b54-a7ea-43b995bc8301 -resource-dir /home/helixbot/work/B9EB09EC/p/dotnet-wasm/dotnet-workload/packs/Microsoft.NET.Runtime.Emscripten.2.0.23.Sdk.linux-x64/7.0.0-preview.3.22167.1/tools/lib/clang/13.0.0 -O2 -Werror=implicit-function-declaration -fdebug-compilation-dir=/home/helixbot/work/B9EB09EC/p/performance/artifacts/bin/MicroBenchmarks/Release/net7.0/d81729ad-ba16-4b54-a7ea-43b995bc8301 -ferror-limit 19 -fgnuc-version=4.2.1 -vectorize-loops -vectorize-slp -iwithsysroot/include/SDL -iwithsysroot/include/compat -mllvm -combiner-global-alias-analysis=false -mllvm -enable-emscripten-cxx-exceptions -mllvm -enable-emscripten-sjlj -mllvm -disable-lsr -o /tmp/tmplBAmej.tmp -x ir /home/helixbot/work/B9EB09EC/p/performance/artifacts/obj/BenchmarkDotNet.Autogenerated/Release/net7.0/browser-wasm/wasm/for-publish/Microsoft.Extensions.Configuration.Xml.dll.bc [/home/helixbot/work/B9EB09EC/p/performance/artifacts/bin/MicroBenchmarks/Release/net7.0/d81729ad-ba16-4b54-a7ea-43b995bc8301/BenchmarkDotNet.Autogenerated.csproj]
clang -cc1 version 13.0.0 based upon LLVM 13.0.0git default target x86_64-unknown-linux-gnu [/home/helixbot/work/B9EB09EC/p/performance/artifacts/bin/MicroBenchmarks/Release/net7.0/d81729ad-ba16-4b54-a7ea-43b995bc8301/BenchmarkDotNet.Autogenerated.csproj]
PLEASE submit a bug report to https://bugs.llvm.org/ and include the crash backtrace, preprocessed source, and associated run script. [/home/helixbot/work/B9EB09EC/p/performance/artifacts/bin/MicroBenchmarks/Release/net7.0/d81729ad-ba16-4b54-a7ea-43b995bc8301/BenchmarkDotNet.Autogenerated.csproj]
Stack dump: [/home/helixbot/work/B9EB09EC/p/performance/artifacts/bin/MicroBenchmarks/Release/net7.0/d81729ad-ba16-4b54-a7ea-43b995bc8301/BenchmarkDotNet.Autogenerated.csproj]
0.	Program arguments: /home/helixbot/work/B9EB09EC/p/dotnet-wasm/dotnet-workload/packs/Microsoft.NET.Runtime.Emscripten.2.0.23.Sdk.linux-x64/7.0.0-preview.3.22167.1/tools/bin/clang++ -target wasm32-unknown-emscripten -DEMSCRIPTEN -mllvm -combiner-global-alias-analysis=false -mllvm -enable-emscripten-cxx-exceptions -mllvm -enable-emscripten-sjlj -mllvm -disable-lsr -D__EMSCRIPTEN_major__=2 -D__EMSCRIPTEN_minor__=0 -D__EMSCRIPTEN_tiny__=23 -D_LIBCPP_ABI_VERSION=2 -Dunix -D__unix -D__unix__ -Werror=implicit-function-declaration -Xclang -iwithsysroot/include/SDL --sysroot=/home/helixbot/work/B9EB09EC/p/dotnet-wasm/dotnet-workload/packs/Microsoft.NET.Runtime.Emscripten.2.0.23.Sdk.linux-x64/7.0.0-preview.3.22167.1/tools/emscripten/cache/sysroot -Xclang -iwithsysroot/include/compat -O2 -v -c /home/helixbot/work/B9EB09EC/p/performance/artifacts/obj/BenchmarkDotNet.Autogenerated/Release/net7.0/browser-wasm/wasm/for-publish/Microsoft.Extensions.Configuration.Xml.dll.bc -o /tmp/tmplBAmej.tmp [/home/helixbot/work/B9EB09EC/p/performance/artifacts/bin/MicroBenchmarks/Release/net7.0/d81729ad-ba16-4b54-a7ea-43b995bc8301/BenchmarkDotNet.Autogenerated.csproj]
1.	Optimizer [/home/helixbot/work/B9EB09EC/p/performance/artifacts/bin/MicroBenchmarks/Release/net7.0/d81729ad-ba16-4b54-a7ea-43b995bc8301/BenchmarkDotNet.Autogenerated.csproj]
 #0 0x00007f8a80d57bd3 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/home/helixbot/work/B9EB09EC/p/dotnet-wasm/dotnet-workload/packs/Microsoft.NET.Runtime.Emscripten.2.0.23.Sdk.linux-x64/7.0.0-preview.3.22167.1/tools/bin/../lib/libLLVM-13git.so+0x18dbbd3) [/home/helixbot/work/B9EB09EC/p/performance/artifacts/bin/MicroBenchmarks/Release/net7.0/d81729ad-ba16-4b54-a7ea-43b995bc8301/BenchmarkDotNet.Autogenerated.csproj]
 #1 0x00007f8a80d559ce llvm::sys::RunSignalHandlers() (/home/helixbot/work/B9EB09EC/p/dotnet-wasm/dotnet-workload/packs/Microsoft.NET.Runtime.Emscripten.2.0.23.Sdk.linux-x64/7.0.0-preview.3.22167.1/tools/bin/../lib/libLLVM-13git.so+0x18d99ce) [/home/helixbot/work/B9EB09EC/p/performance/artifacts/bin/MicroBenchmarks/Release/net7.0/d81729ad-ba16-4b54-a7ea-43b995bc8301/BenchmarkDotNet.Autogenerated.csproj]
 #2 0x00007f8a80d56f4d llvm::sys::CleanupOnSignal(unsigned long) (/home/helixbot/work/B9EB09EC/p/dotnet-wasm/dotnet-workload/packs/Microsoft.NET.Runtime.Emscripten.2.0.23.Sdk.linux-x64/7.0.0-preview.3.22167.1/tools/bin/../lib/libLLVM-13git.so+0x18daf4d) [/home/helixbot/work/B9EB09EC/p/performance/artifacts/bin/MicroBenchmarks/Release/net7.0/d81729ad-ba16-4b54-a7ea-43b995bc8301/BenchmarkDotNet.Autogenerated.csproj]
 #3 0x00007f8a80c8aec3 (anonymous namespace)::CrashRecoveryContextImpl::HandleCrash(int, unsigned long) CrashRecoveryContext.cpp:0:0 [/home/helixbot/work/B9EB09EC/p/performance/artifacts/bin/MicroBenchmarks/Release/net7.0/d81729ad-ba16-4b54-a7ea-43b995bc8301/BenchmarkDotNet.Autogenerated.csproj]
 #4 0x00007f8a80c8b02e CrashRecoverySignalHandler(int) CrashRecoveryContext.cpp:0:0 [/home/helixbot/work/B9EB09EC/p/performance/artifacts/bin/MicroBenchmarks/Release/net7.0/d81729ad-ba16-4b54-a7ea-43b995bc8301/BenchmarkDotNet.Autogenerated.csproj]
 #5 0x00007f8a7f26f980 __restore_rt (/lib/x86_64-linux-gnu/libpthread.so.0+0x12980) [/home/helixbot/work/B9EB09EC/p/performance/artifacts/bin/MicroBenchmarks/Release/net7.0/d81729ad-ba16-4b54-a7ea-43b995bc8301/BenchmarkDotNet.Autogenerated.csproj]
 #6 0x00007f8a82344c6a SimplifyAddInst(llvm::Value*, llvm::Value*, bool, bool, llvm::SimplifyQuery const&, unsigned int) InstructionSimplify.cpp:0:0 [/home/helixbot/work/B9EB09EC/p/performance/artifacts/bin/MicroBenchmarks/Release/net7.0/d81729ad-ba16-4b54-a7ea-43b995bc8301/BenchmarkDotNet.Autogenerated.csproj]
 #7 0x00007f8a8235092e llvm::SimplifyInstruction(llvm::Instruction*, llvm::SimplifyQuery const&, llvm::OptimizationRemarkEmitter*) (/home/helixbot/work/B9EB09EC/p/dotnet-wasm/dotnet-workload/packs/Microsoft.NET.Runtime.Emscripten.2.0.23.Sdk.linux-x64/7.0.0-preview.3.22167.1/tools/bin/../lib/libLLVM-13git.so+0x2ed492e) [/home/helixbot/work/B9EB09EC/p/performance/artifacts/bin/MicroBenchmarks/Release/net7.0/d81729ad-ba16-4b54-a7ea-43b995bc8301/BenchmarkDotNet.Autogenerated.csproj]
 #8 0x00007f8a81cdff67 (anonymous namespace)::EarlyCSE::processNode(llvm::DomTreeNodeBase<llvm::BasicBlock>*) EarlyCSE.cpp:0:0 [/home/helixbot/work/B9EB09EC/p/performance/artifacts/bin/MicroBenchmarks/Release/net7.0/d81729ad-ba16-4b54-a7ea-43b995bc8301/BenchmarkDotNet.Autogenerated.csproj]
 #9 0x00007f8a81cde7a0 (anonymous namespace)::EarlyCSE::run() EarlyCSE.cpp:0:0 [/home/helixbot/work/B9EB09EC/p/performance/artifacts/bin/MicroBenchmarks/Release/net7.0/d81729ad-ba16-4b54-a7ea-43b995bc8301/BenchmarkDotNet.Autogenerated.csproj]
#10 0x00007f8a81cde2d4 llvm::EarlyCSEPass::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) (/home/helixbot/work/B9EB09EC/p/dotnet-wasm/dotnet-workload/packs/Microsoft.NET.Runtime.Emscripten.2.0.23.Sdk.linux-x64/7.0.0-preview.3.22167.1/tools/bin/../lib/libLLVM-13git.so+0x28622d4) [/home/helixbot/work/B9EB09EC/p/performance/artifacts/bin/MicroBenchmarks/Release/net7.0/d81729ad-ba16-4b54-a7ea-43b995bc8301/BenchmarkDotNet.Autogenerated.csproj]
#11 0x00007f8a82f6d5bd llvm::detail::PassModel<llvm::Function, llvm::EarlyCSEPass, llvm::PreservedAnalyses, llvm::AnalysisManager<llvm::Function> >::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) PassBuilder.cpp:0:0 [/home/helixbot/work/B9EB09EC/p/performance/artifacts/bin/MicroBenchmarks/Release/net7.0/d81729ad-ba16-4b54-a7ea-43b995bc8301/BenchmarkDotNet.Autogenerated.csproj]
#12 0x00007f8a80f11f11 llvm::PassManager<llvm::Function, llvm::AnalysisManager<llvm::Function> >::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) (/home/helixbot/work/B9EB09EC/p/dotnet-wasm/dotnet-workload/packs/Microsoft.NET.Runtime.Emscripten.2.0.23.Sdk.linux-x64/7.0.0-preview.3.22167.1/tools/bin/../lib/libLLVM-13git.so+0x1a95f11) [/home/helixbot/work/B9EB09EC/p/performance/artifacts/bin/MicroBenchmarks/Release/net7.0/d81729ad-ba16-4b54-a7ea-43b995bc8301/BenchmarkDotNet.Autogenerated.csproj]
#13 0x00007f8a82f6c80d llvm::detail::PassModel<llvm::Function, llvm::PassManager<llvm::Function, llvm::AnalysisManager<llvm::Function> >, llvm::PreservedAnalyses, llvm::AnalysisManager<llvm::Function> >::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) PassBuilder.cpp:0:0 [/home/helixbot/work/B9EB09EC/p/performance/artifacts/bin/MicroBenchmarks/Release/net7.0/d81729ad-ba16-4b54-a7ea-43b995bc8301/BenchmarkDotNet.Autogenerated.csproj]
#14 0x00007f8a80f16e14 llvm::ModuleToFunctionPassAdaptor::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) (/home/helixbot/work/B9EB09EC/p/dotnet-wasm/dotnet-workload/packs/Microsoft.NET.Runtime.Emscripten.2.0.23.Sdk.linux-x64/7.0.0-preview.3.22167.1/tools/bin/../lib/libLLVM-13git.so+0x1a9ae14) [/home/helixbot/work/B9EB09EC/p/performance/artifacts/bin/MicroBenchmarks/Release/net7.0/d81729ad-ba16-4b54-a7ea-43b995bc8301/BenchmarkDotNet.Autogenerated.csproj]
#15 0x00007f8a82f6cacd llvm::detail::PassModel<llvm::Module, llvm::ModuleToFunctionPassAdaptor, llvm::PreservedAnalyses, llvm::AnalysisManager<llvm::Module> >::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) PassBuilder.cpp:0:0 [/home/helixbot/work/B9EB09EC/p/performance/artifacts/bin/MicroBenchmarks/Release/net7.0/d81729ad-ba16-4b54-a7ea-43b995bc8301/BenchmarkDotNet.Autogenerated.csproj]
#16 0x00007f8a80f10b34 llvm::PassManager<llvm::Module, llvm::AnalysisManager<llvm::Module> >::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) (/home/helixbot/work/B9EB09EC/p/dotnet-wasm/dotnet-workload/packs/Microsoft.NET.Runtime.Emscripten.2.0.23.Sdk.linux-x64/7.0.0-preview.3.22167.1/tools/bin/../lib/libLLVM-13git.so+0x1a94b34) [/home/helixbot/work/B9EB09EC/p/performance/artifacts/bin/MicroBenchmarks/Release/net7.0/d81729ad-ba16-4b54-a7ea-43b995bc8301/BenchmarkDotNet.Autogenerated.csproj]
#17 0x00007f8a7de7bffc (anonymous namespace)::EmitAssemblyHelper::EmitAssemblyWithNewPassManager(clang::BackendAction, std::unique_ptr<llvm::raw_pwrite_stream, std::default_delete<llvm::raw_pwrite_stream> >) BackendUtil.cpp:0:0 [/home/helixbot/work/B9EB09EC/p/performance/artifacts/bin/MicroBenchmarks/Release/net7.0/d81729ad-ba16-4b54-a7ea-43b995bc8301/BenchmarkDotNet.Autogenerated.csproj]
#18 0x00007f8a7de76803 clang::EmitBackendOutput(clang::DiagnosticsEngine&, clang::HeaderSearchOptions const&, clang::CodeGenOptions const&, clang::TargetOptions const&, clang::LangOptions const&, llvm::StringRef, llvm::Module*, clang::BackendAction, std::unique_ptr<llvm::raw_pwrite_stream, std::default_delete<llvm::raw_pwrite_stream> >) (/home/helixbot/work/B9EB09EC/p/dotnet-wasm/dotnet-workload/packs/Microsoft.NET.Runtime.Emscripten.2.0.23.Sdk.linux-x64/7.0.0-preview.3.22167.1/tools/bin/../lib/libclang-cpp.so.13git+0x2664803) [/home/helixbot/work/B9EB09EC/p/performance/artifacts/bin/MicroBenchmarks/Release/net7.0/d81729ad-ba16-4b54-a7ea-43b995bc8301/BenchmarkDotNet.Autogenerated.csproj]
#19 0x00007f8a7e19d28a clang::CodeGenAction::ExecuteAction() (/home/helixbot/work/B9EB09EC/p/dotnet-wasm/dotnet-workload/packs/Microsoft.NET.Runtime.Emscripten.2.0.23.Sdk.linux-x64/7.0.0-preview.3.22167.1/tools/bin/../lib/libclang-cpp.so.13git+0x298b28a) [/home/helixbot/work/B9EB09EC/p/performance/artifacts/bin/MicroBenchmarks/Release/net7.0/d81729ad-ba16-4b54-a7ea-43b995bc8301/BenchmarkDotNet.Autogenerated.csproj]
#20 0x00007f8a7e796240 clang::FrontendAction::Execute() (/home/helixbot/work/B9EB09EC/p/dotnet-wasm/dotnet-workload/packs/Microsoft.NET.Runtime.Emscripten.2.0.23.Sdk.linux-x64/7.0.0-preview.3.22167.1/tools/bin/../lib/libclang-cpp.so.13git+0x2f84240) [/home/helixbot/work/B9EB09EC/p/performance/artifacts/bin/MicroBenchmarks/Release/net7.0/d81729ad-ba16-4b54-a7ea-43b995bc8301/BenchmarkDotNet.Autogenerated.csproj]
#21 0x00007f8a7e70ceaf clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) (/home/helixbot/work/B9EB09EC/p/dotnet-wasm/dotnet-workload/packs/Microsoft.NET.Runtime.Emscripten.2.0.23.Sdk.linux-x64/7.0.0-preview.3.22167.1/tools/bin/../lib/libclang-cpp.so.13git+0x2efaeaf) [/home/helixbot/work/B9EB09EC/p/performance/artifacts/bin/MicroBenchmarks/Release/net7.0/d81729ad-ba16-4b54-a7ea-43b995bc8301/BenchmarkDotNet.Autogenerated.csproj]
#22 0x00007f8a7e81529c clang::ExecuteCompilerInvocation(clang::CompilerInstance*) (/home/helixbot/work/B9EB09EC/p/dotnet-wasm/dotnet-workload/packs/Microsoft.NET.Runtime.Emscripten.2.0.23.Sdk.linux-x64/7.0.0-preview.3.22167.1/tools/bin/../lib/libclang-cpp.so.13git+0x300329c) [/home/helixbot/work/B9EB09EC/p/performance/artifacts/bin/MicroBenchmarks/Release/net7.0/d81729ad-ba16-4b54-a7ea-43b995bc8301/BenchmarkDotNet.Autogenerated.csproj]
#23 0x0000000000214560 cc1_main(llvm::ArrayRef<char const*>, char const*, void*) (/home/helixbot/work/B9EB09EC/p/dotnet-wasm/dotnet-workload/packs/Microsoft.NET.Runtime.Emscripten.2.0.23.Sdk.linux-x64/7.0.0-preview.3.22167.1/tools/bin/clang+++0x214560) [/home/helixbot/work/B9EB09EC/p/performance/artifacts/bin/MicroBenchmarks/Release/net7.0/d81729ad-ba16-4b54-a7ea-43b995bc8301/BenchmarkDotNet.Autogenerated.csproj]
#24 0x000000000021211d (/home/helixbot/work/B9EB09EC/p/dotnet-wasm/dotnet-workload/packs/Microsoft.NET.Runtime.Emscripten.2.0.23.Sdk.linux-x64/7.0.0-preview.3.22167.1/tools/bin/clang+++0x21211d) [/home/helixbot/work/B9EB09EC/p/performance/artifacts/bin/MicroBenchmarks/Release/net7.0/d81729ad-ba16-4b54-a7ea-43b995bc8301/BenchmarkDotNet.Autogenerated.csproj]
#25 0x00007f8a7e3e4992 void llvm::function_ref<void ()>::callback_fn<clang::driver::CC1Command::Execute(llvm::ArrayRef<llvm::Optional<llvm::StringRef> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*, bool*) const::$_1>(long) Job.cpp:0:0 [/home/helixbot/work/B9EB09EC/p/performance/artifacts/bin/MicroBenchmarks/Release/net7.0/d81729ad-ba16-4b54-a7ea-43b995bc8301/BenchmarkDotNet.Autogenerated.csproj]
#26 0x00007f8a80c8add7 llvm::CrashRecoveryContext::RunSafely(llvm::function_ref<void ()>) (/home/helixbot/work/B9EB09EC/p/dotnet-wasm/dotnet-workload/packs/Microsoft.NET.Runtime.Emscripten.2.0.23.Sdk.linux-x64/7.0.0-preview.3.22167.1/tools/bin/../lib/libLLVM-13git.so+0x180edd7) [/home/helixbot/work/B9EB09EC/p/performance/artifacts/bin/MicroBenchmarks/Release/net7.0/d81729ad-ba16-4b54-a7ea-43b995bc8301/BenchmarkDotNet.Autogenerated.csproj]
#27 0x00007f8a7e3e44e7 clang::driver::CC1Command::Execute(llvm::ArrayRef<llvm::Optional<llvm::StringRef> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*, bool*) const (/home/helixbot/work/B9EB09EC/p/dotnet-wasm/dotnet-workload/packs/Microsoft.NET.Runtime.Emscripten.2.0.23.Sdk.linux-x64/7.0.0-preview.3.22167.1/tools/bin/../lib/libclang-cpp.so.13git+0x2bd24e7) [/home/helixbot/work/B9EB09EC/p/performance/artifacts/bin/MicroBenchmarks/Release/net7.0/d81729ad-ba16-4b54-a7ea-43b995bc8301/BenchmarkDotNet.Autogenerated.csproj]
#28 0x00007f8a7e3afa08 clang::driver::Compilation::ExecuteCommand(clang::driver::Command const&, clang::driver::Command const*&) const (/home/helixbot/work/B9EB09EC/p/dotnet-wasm/dotnet-workload/packs/Microsoft.NET.Runtime.Emscripten.2.0.23.Sdk.linux-x64/7.0.0-preview.3.22167.1/tools/bin/../lib/libclang-cpp.so.13git+0x2b9da08) [/home/helixbot/work/B9EB09EC/p/performance/artifacts/bin/MicroBenchmarks/Release/net7.0/d81729ad-ba16-4b54-a7ea-43b995bc8301/BenchmarkDotNet.Autogenerated.csproj]
#29 0x00007f8a7e3afcd7 clang::driver::Compilation::ExecuteJobs(clang::driver::JobList const&, llvm::SmallVectorImpl<std::pair<int, clang::driver::Command const*> >&) const (/home/helixbot/work/B9EB09EC/p/dotnet-wasm/dotnet-workload/packs/Microsoft.NET.Runtime.Emscripten.2.0.23.Sdk.linux-x64/7.0.0-preview.3.22167.1/tools/bin/../lib/libclang-cpp.so.13git+0x2b9dcd7) [/home/helixbot/work/B9EB09EC/p/performance/artifacts/bin/MicroBenchmarks/Release/net7.0/d81729ad-ba16-4b54-a7ea-43b995bc8301/BenchmarkDotNet.Autogenerated.csproj]
#30 0x00007f8a7e3c9da1 clang::driver::Driver::ExecuteCompilation(clang::driver::Compilation&, llvm::SmallVectorImpl<std::pair<int, clang::driver::Command const*> >&) (/home/helixbot/work/B9EB09EC/p/dotnet-wasm/dotnet-workload/packs/Microsoft.NET.Runtime.Emscripten.2.0.23.Sdk.linux-x64/7.0.0-preview.3.22167.1/tools/bin/../lib/libclang-cpp.so.13git+0x2bb7da1) [/home/helixbot/work/B9EB09EC/p/performance/artifacts/bin/MicroBenchmarks/Release/net7.0/d81729ad-ba16-4b54-a7ea-43b995bc8301/BenchmarkDotNet.Autogenerated.csproj]
#31 0x00000000002119e6 main (/home/helixbot/work/B9EB09EC/p/dotnet-wasm/dotnet-workload/packs/Microsoft.NET.Runtime.Emscripten.2.0.23.Sdk.linux-x64/7.0.0-preview.3.22167.1/tools/bin/clang+++0x2119e6) [/home/helixbot/work/B9EB09EC/p/performance/artifacts/bin/MicroBenchmarks/Release/net7.0/d81729ad-ba16-4b54-a7ea-43b995bc8301/BenchmarkDotNet.Autogenerated.csproj]
#32 0x00007f8a7ae8cc87 __libc_start_main /build/glibc-uZu3wS/glibc-2.27/csu/../csu/libc-start.c:344:0 [/home/helixbot/work/B9EB09EC/p/performance/artifacts/bin/MicroBenchmarks/Release/net7.0/d81729ad-ba16-4b54-a7ea-43b995bc8301/BenchmarkDotNet.Autogenerated.csproj]
#33 0x000000000020ed4a _start (/home/helixbot/work/B9EB09EC/p/dotnet-wasm/dotnet-workload/packs/Microsoft.NET.Runtime.Emscripten.2.0.23.Sdk.linux-x64/7.0.0-preview.3.22167.1/tools/bin/clang+++0x20ed4a) [/home/helixbot/work/B9EB09EC/p/performance/artifacts/bin/MicroBenchmarks/Release/net7.0/d81729ad-ba16-4b54-a7ea-43b995bc8301/BenchmarkDotNet.Autogenerated.csproj]
clang++: error: clang frontend command failed with exit code 139 (use -v to see invocation) [/home/helixbot/work/B9EB09EC/p/performance/artifacts/bin/MicroBenchmarks/Release/net7.0/d81729ad-ba16-4b54-a7ea-43b995bc8301/BenchmarkDotNet.Autogenerated.csproj]
clang version 13.0.0 (/b/s/w/ir/cache/git/chromium.googlesource.com-external-github.com-llvm-llvm--project 5852582532b3eb3ea8da51a1e272d8d017bd36c9) [/home/helixbot/work/B9EB09EC/p/performance/artifacts/bin/MicroBenchmarks/Release/net7.0/d81729ad-ba16-4b54-a7ea-43b995bc8301/BenchmarkDotNet.Autogenerated.csproj]
Target: wasm32-unknown-emscripten [/home/helixbot/work/B9EB09EC/p/performance/artifacts/bin/MicroBenchmarks/Release/net7.0/d81729ad-ba16-4b54-a7ea-43b995bc8301/BenchmarkDotNet.Autogenerated.csproj]
Thread model: posix [/home/helixbot/work/B9EB09EC/p/performance/artifacts/bin/MicroBenchmarks/Release/net7.0/d81729ad-ba16-4b54-a7ea-43b995bc8301/BenchmarkDotNet.Autogenerated.csproj]
InstalledDir: /home/helixbot/work/B9EB09EC/p/dotnet-wasm/dotnet-workload/packs/Microsoft.NET.Runtime.Emscripten.2.0.23.Sdk.linux-x64/7.0.0-preview.3.22167.1/tools/bin [/home/helixbot/work/B9EB09EC/p/performance/artifacts/bin/MicroBenchmarks/Release/net7.0/d81729ad-ba16-4b54-a7ea-43b995bc8301/BenchmarkDotNet.Autogenerated.csproj]
clang++: note: diagnostic msg: Error generating preprocessed source(s) - no preprocessable inputs. [/home/helixbot/work/B9EB09EC/p/performance/artifacts/bin/MicroBenchmarks/Release/net7.0/d81729ad-ba16-4b54-a7ea-43b995bc8301/BenchmarkDotNet.Autogenerated.csproj]
emcc: error: '/home/helixbot/work/B9EB09EC/p/dotnet-wasm/dotnet-workload/packs/Microsoft.NET.Runtime.Emscripten.2.0.23.Sdk.linux-x64/7.0.0-preview.3.22167.1/tools/bin/clang++ -target wasm32-unknown-emscripten -DEMSCRIPTEN -mllvm -combiner-global-alias-analysis=false -mllvm -enable-emscripten-cxx-exceptions -mllvm -enable-emscripten-sjlj -mllvm -disable-lsr -D__EMSCRIPTEN_major__=2 -D__EMSCRIPTEN_minor__=0 -D__EMSCRIPTEN_tiny__=23 -D_LIBCPP_ABI_VERSION=2 -Dunix -D__unix -D__unix__ -Werror=implicit-function-declaration -Xclang -iwithsysroot/include/SDL --sysroot=/home/helixbot/work/B9EB09EC/p/dotnet-wasm/dotnet-workload/packs/Microsoft.NET.Runtime.Emscripten.2.0.23.Sdk.linux-x64/7.0.0-preview.3.22167.1/tools/emscripten/cache/sysroot -Xclang -iwithsysroot/include/compat -O2 -v -c /home/helixbot/work/B9EB09EC/p/performance/artifacts/obj/BenchmarkDotNet.Autogenerated/Release/net7.0/browser-wasm/wasm/for-publish/Microsoft.Extensions.Configuration.Xml.dll.bc -o /tmp/tmplBAmej.tmp' failed (returned 139) [took 0.338s] [/home/helixbot/work/B9EB09EC/p/performance/artifacts/bin/MicroBenchmarks/Release/net7.0/d81729ad-ba16-4b54-a7ea-43b995bc8301/BenchmarkDotNet.Autogenerated.csproj]

cc @radekdoulik @lewing

@radical
Copy link
Member

radical commented Mar 22, 2022

That clang crash isn't specific to my PR. It's happening on the batched builds too. Maybe the rest of the fixes will be needed too - 1. dotnet/runtime#66795; and 2. fix for #2327

@radical
Copy link
Member

radical commented Mar 22, 2022

These were the changes between the last working build (after the bump PR was merged), and the breaking one. Though I think it might be due to the issues that I mentioned earlier.

@radical
Copy link
Member

radical commented Mar 22, 2022

And it's being hit even with the new emscripten 3.1.1. I really think the other two changes are needed, and I'm trying to get the binaries in the failing case now, so I can confirm this hypothesis.

@radical
Copy link
Member

radical commented Mar 25, 2022

Next: #2330 . This will allow the build to complete without any errors, like not being able to copy files because they are in use by another process.

@radical
Copy link
Member

radical commented Mar 29, 2022

@radical
Copy link
Member

radical commented Apr 4, 2022

Update: The benchmark runs are working pretty well now, except for some sporadic emcc crashes. I will track those in separate issues.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working impact test coverage test maybe disabled due to this issue WRI Issues and PR's that may be especially useful to WRI or should be viewed during WRI
Projects
None yet
8 participants