-
Notifications
You must be signed in to change notification settings - Fork 5.2k
Description
Description
In the dotnet-runtime-perf pipeline, we are seeing multiple Linux jobs hitting the error dotnet/x64/sdk/9.0.100-preview.7.24323.5/Roslyn/Microsoft.CSharp.Core.targets(85,5): error MSB6006: "csc.dll" exited with code 139. when building our MicroBenchmarks.csproj file for BDN testing. This is occurring on between 0-3 of the 30 helix workitems we send out for each job with no consistency for which of the 30 workitems is affected or the agent machine hitting the error. Pretty sure I have a CoreDump from some of these failed runs if that would be useful.
Potentially related to: #57558
Reproduction Steps
Need to test more but this should work for reproing, though as mentioned in the description, hitting the error is not consistent.
Steps (high level):
- Clone dotnet/performance.
- From the top level the performance repo, run
python3 ./scripts/benchmarks_ci.py --csproj ./src/benchmarks/micro/MicroBenchmarks.csproj --incremental no --architecture x64 -f net9.0 --dotnet-versions 9.0.100-preview.6.24320.9 --bdn-arguments="--anyCategories Libraries Runtime --logBuildOutput --generateBinLog --partition-count 30 --partition-index 29" - If BDN tests start running successful, you did not hit the error.
Steps (inner command, this should match but ping if this seems to be missing a step):
- Clone dotnet/performance.
- Install dotnet version equal or newer than 9.0.100-preview.6.24320.9 with dotnet-install.sh:
dotnet-install.sh -InstallDir ./performance/tools/dotnet/x64 -Architecture x64 -Version 9.0.100-preview.6.24320.9 - From the top level of the performance repo, run
dotnet run --project ./src/benchmarks/micro/MicroBenchmarks.csproj --configuration Release --framework net9.0 --no-restore --no-build -- --anyCategories Libraries Runtime "" --logBuildOutput --generateBinLog --partition-count 30 --partition-index 29 --artifacts ./artifacts/BenchmarkDotNet.Artifacts --packages ./artifacts/packages --buildTimeout 1200
Expected behavior
Build is successful and continues to run the BenchmarkDotNet tests.
Actual behavior
The build fails
dotnet build /home/helixbot/work/B45E09D9/w/AC2C09AE/e/performance/src/benchmarks/micro/MicroBenchmarks.csproj --configuration Release --framework net9.0 --no-restore /p:NuGetPackageRoot=/home/helixbot/work/B45E09D9/w/AC2C09AE/e/performance/artifacts/packages /p:RestorePackagesPath=/home/helixbot/work/B45E09D9/w/AC2C09AE/e/performance/artifacts/packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1
Reporting -> /home/helixbot/work/B45E09D9/w/AC2C09AE/e/performance/artifacts/bin/Reporting/Release/netstandard2.0/Reporting.dll
BenchmarkDotNet.Extensions -> /home/helixbot/work/B45E09D9/w/AC2C09AE/e/performance/artifacts/bin/BenchmarkDotNet.Extensions/Release/netstandard2.0/BenchmarkDotNet.Extensions.dll
/home/helixbot/work/B45E09D9/w/AC2C09AE/e/performance/tools/dotnet/x64/sdk/9.0.100-preview.7.24323.5/Roslyn/Microsoft.CSharp.Core.targets(85,5): error MSB6006: "csc.dll" exited with code 139.
Full logs from example run with the error available: dotnet-runtime-perf Run 20240620.3. The specific partitions are Partition 2 and Partition 6 from the job 'Performance linux x64 release coreclr JIT micro perfowl NoJS False False False net9.0'.
Regression?
This started occurring between our runs dotnet-runtime-perf Run 20240620.2 and dotnet-runtime-perf Run 20240620.3.
The runtime repo comparison for between these two jobs is 4a7fe65...b0c4728.
Our performance repo also took one update but it seems highly unlikely to be related: dotnet/performance#4279.
Version difference information available in the information section below.
Known Workarounds
None
Configuration
.NET Version information:
Information from first run with error dotnet-runtime-perf Run 20240620.3:
$ dotnet --info
.NET SDK:
Version: 9.0.100-preview.6.24320.9
Commit: 7822425c3e
Workload version: 9.0.100-manifests.cc027b4d
MSBuild version: 17.11.0-preview-24318-05+4a45d5633
Runtime Environment:
OS Name: ubuntu
OS Version: 22.04
OS Platform: Linux
RID: linux-x64
Base Path: <Path>/performance/tools/dotnet/x64/sdk/9.0.100-preview.6.24320.9/
.NET workloads installed:
Configured to use loose manifests when installing new manifests.
There are no installed workloads to display.
Host:
Version: 9.0.0-preview.6.24319.11
Architecture: x64
Commit: static
.NET SDKs installed:
9.0.100-preview.6.24320.9 [<Path>/performance/tools/dotnet/x64/sdk]
.NET runtimes installed:
Microsoft.AspNetCore.App 9.0.0-preview.6.24320.4 [<Path>/performance/tools/dotnet/x64/shared/Microsoft.AspNetCore.App]
Microsoft.NETCore.App 9.0.0-preview.6.24319.11 [<Path>/performance/tools/dotnet/x64/shared/Microsoft.NETCore.App]
Information from run before error dotnet-runtime-perf Run 20240620.2:
$ dotnet --info
.NET SDK:
Version: 9.0.100-preview.6.24319.5
Commit: f3ebfb5ccb
Workload version: 9.0.100-manifests.bae61ee5
MSBuild version: 17.11.0-preview-24318-02+0a3683cf7
Runtime Environment:
OS Name: ubuntu
OS Version: 22.04
OS Platform: Linux
RID: linux-x64
Base Path: <path>/performance/tools/dotnet/x64/sdk/9.0.100-preview.6.24319.5/
.NET workloads installed:
Configured to use loose manifests when installing new manifests.
There are no installed workloads to display.
Host:
Version: 9.0.0-preview.6.24307.2
Architecture: x64
Commit: static
.NET SDKs installed:
9.0.100-preview.6.24319.5 [<path>/performance/tools/dotnet/x64/sdk]
.NET runtimes installed:
Microsoft.AspNetCore.App 9.0.0-preview.6.24309.2 [<path>/performance/tools/dotnet/x64/shared/Microsoft.AspNetCore.App]
Microsoft.NETCore.App 9.0.0-preview.6.24307.2 [<path>/performance/tools/dotnet/x64/shared/Microsoft.NETCore.App]
This is happening across multiple different machine hardware configurations.
Other information
No response