Skip to content

Conversation

@andrewlock
Copy link
Member

Summary of changes

Try to fix the flake we're been seeing in the dotnet pack stack of the runner build

Reason for change

Seeing flake like this, which seems to be happening in 9.0.2xx of the SDK

The "GenerateToolsSettingsFile" task failed unexpectedly.
System.IO.IOException: The process cannot access the file 'D:\a\1\s\tracer\src\Datadog.Trace.Tools.Runner\obj\DotnetToolSettings.xml' because it is being used by another process.
   at Microsoft.Win32.SafeHandles.SafeFileHandle.CreateFile(String fullPath, FileMode mode, FileAccess access, FileShare share, FileOptions options)
   at Microsoft.Win32.SafeHandles.SafeFileHandle.Open(String fullPath, FileMode mode, FileAccess access, FileShare share, FileOptions options, Int64 preallocationSize, Nullable`1 unixCreateMode)
   at System.IO.Strategies.OSFileStreamStrategy..ctor(String path, FileMode mode, FileAccess access, FileShare share, FileOptions options, Int64 preallocationSize, Nullable`1 unixCreateMode)
   at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, Boolean useAsync)
   at System.Xml.XmlWriterSettings.CreateWriter(String outputFileName)
   at System.Xml.Linq.XDocument.Save(String fileName, SaveOptions options)
   at Microsoft.NET.Build.Tasks.TaskBase.Execute()
   at Microsoft.Build.BackEnd.TaskExecutionHost.Execute()
   at Microsoft.Build.BackEnd.TaskBuilder.ExecuteInstantiatedTask(TaskExecutionHost taskExecutionHost, TaskLoggingContext taskLoggingContext, TaskHost taskHost, ItemBucket bucket, TaskExecutionMode howToExecuteTask)

Implementation details

Try setting BuildInParallel=false as suggested in this issue

Test coverage

If this build works, we're ok

Other details

The issue appears to be fixed in the .NET 10 SDK:

I've asked to see if it will backported, but no answer yet 🙄

@andrewlock andrewlock added the area:builds project files, build scripts, pipelines, versioning, releases, packages label Apr 29, 2025
@andrewlock andrewlock requested a review from a team as a code owner April 29, 2025 09:39
@andrewlock
Copy link
Member Author

Benchmarks Report for tracer 🐌

Benchmarks for #6905 compared to master:

  • 1 benchmarks are faster, with geometric mean 1.128
  • 2 benchmarks have fewer allocations
  • 1 benchmarks have more allocations

The following thresholds were used for comparing the benchmark speeds:

  • Mann–Whitney U test with statistical test for significance of 5%
  • Only results indicating a difference greater than 10% and 0.3 ns are considered.

Allocation changes below 0.5% are ignored.

Benchmark details

Benchmarks.Trace.ActivityBenchmark - Same speed ✔️ More allocations ⚠️

More allocations ⚠️ in #6905

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.ActivityBenchmark.StartStopWithChild‑netcoreapp3.1 5.73 KB 5.78 KB 48 B 0.84%

Fewer allocations 🎉 in #6905

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.ActivityBenchmark.StartStopWithChild‑net6.0 5.57 KB 5.51 KB -63 B -1.13%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master StartStopWithChild net6.0 7.74μs 90.1ns 896ns 0 0 0 5.57 KB
master StartStopWithChild netcoreapp3.1 10.1μs 148ns 1.48μs 0 0 0 5.73 KB
master StartStopWithChild net472 15.3μs 87.8ns 697ns 1.04 0.297 0.0741 6.13 KB
#6905 StartStopWithChild net6.0 6.8μs 37.4ns 234ns 0 0 0 5.51 KB
#6905 StartStopWithChild netcoreapp3.1 10.4μs 113ns 1.13μs 0 0 0 5.78 KB
#6905 StartStopWithChild net472 15.4μs 55.4ns 229ns 1.04 0.298 0.0744 6.13 KB
Benchmarks.Trace.AgentWriterBenchmark - Same speed ✔️ Same allocations ✔️

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master WriteAndFlushEnrichedTraces net6.0 513μs 5.69μs 50.6μs 0 0 0 2.7 KB
master WriteAndFlushEnrichedTraces netcoreapp3.1 664μs 854ns 3.19μs 0 0 0 2.7 KB
master WriteAndFlushEnrichedTraces net472 841μs 2.7μs 10.1μs 0 0 0 3.31 KB
#6905 WriteAndFlushEnrichedTraces net6.0 687μs 24.1μs 241μs 0 0 0 2.71 KB
#6905 WriteAndFlushEnrichedTraces netcoreapp3.1 670μs 3.52μs 18.3μs 0 0 0 2.7 KB
#6905 WriteAndFlushEnrichedTraces net472 866μs 704ns 2.44μs 0 0 0 3.31 KB
Benchmarks.Trace.AspNetCoreBenchmark - Same speed ✔️ Same allocations ✔️

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master SendRequest net6.0 127μs 626ns 2.66μs 0 0 0 14.48 KB
master SendRequest netcoreapp3.1 141μs 821ns 7.15μs 0 0 0 17.28 KB
master SendRequest net472 0.00158ns 0.000518ns 0.00201ns 0 0 0 0 b
#6905 SendRequest net6.0 130μs 750ns 5.71μs 0 0 0 14.48 KB
#6905 SendRequest netcoreapp3.1 149μs 814ns 4.53μs 0 0 0 17.28 KB
#6905 SendRequest net472 0.00441ns 0.0019ns 0.00709ns 0 0 0 0 b
Benchmarks.Trace.CIVisibilityProtocolWriterBenchmark - Same speed ✔️ Fewer allocations 🎉

Fewer allocations 🎉 in #6905

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.CIVisibilityProtocolWriterBenchmark.WriteAndFlushEnrichedTraces‑net6.0 41.81 KB 41.6 KB -212 B -0.51%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master WriteAndFlushEnrichedTraces net6.0 653μs 7.16μs 70.9μs 0 0 0 41.81 KB
master WriteAndFlushEnrichedTraces netcoreapp3.1 745μs 8.26μs 80.5μs 0 0 0 41.86 KB
master WriteAndFlushEnrichedTraces net472 871μs 4.95μs 46.7μs 7.35 3.68 0 53.37 KB
#6905 WriteAndFlushEnrichedTraces net6.0 667μs 9.94μs 98.4μs 0 0 0 41.6 KB
#6905 WriteAndFlushEnrichedTraces netcoreapp3.1 739μs 7.74μs 76.2μs 0 0 0 41.75 KB
#6905 WriteAndFlushEnrichedTraces net472 865μs 5.65μs 56.2μs 4.46 0 0 53.34 KB
Benchmarks.Trace.DbCommandBenchmark - Same speed ✔️ Same allocations ✔️

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master ExecuteNonQuery net6.0 1.3μs 3.03ns 11.3ns 0.0129 0 0 1.03 KB
master ExecuteNonQuery netcoreapp3.1 1.78μs 3.2ns 11.1ns 0.00901 0 0 1.02 KB
master ExecuteNonQuery net472 2.15μs 1.56ns 5.83ns 0.153 0.0109 0 995 B
#6905 ExecuteNonQuery net6.0 1.32μs 3.69ns 14.3ns 0.0132 0 0 1.03 KB
#6905 ExecuteNonQuery netcoreapp3.1 1.82μs 4.71ns 17.6ns 0.00914 0 0 1.02 KB
#6905 ExecuteNonQuery net472 2.15μs 2.31ns 8.95ns 0.149 0.0106 0 995 B
Benchmarks.Trace.ElasticsearchBenchmark - Faster 🎉 Same allocations ✔️

Faster 🎉 in #6905

Benchmark base/diff Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearch‑net6.0 1.128 1,318.80 1,168.74

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master CallElasticsearch net6.0 1.32μs 1.17ns 4.53ns 0.0133 0 0 984 B
master CallElasticsearch netcoreapp3.1 1.6μs 1.34ns 4.83ns 0.00809 0 0 984 B
master CallElasticsearch net472 2.58μs 1.38ns 4.98ns 0.154 0 0 1 KB
master CallElasticsearchAsync net6.0 1.28μs 1.58ns 6.13ns 0.0126 0 0 960 B
master CallElasticsearchAsync netcoreapp3.1 1.73μs 1.34ns 5.17ns 0.00864 0 0 1.03 KB
master CallElasticsearchAsync net472 2.6μs 1.17ns 4.53ns 0.156 0 0 1.06 KB
#6905 CallElasticsearch net6.0 1.28μs 29.2ns 268ns 0.0121 0 0 984 B
#6905 CallElasticsearch netcoreapp3.1 1.55μs 1.75ns 6.56ns 0.00744 0 0 984 B
#6905 CallElasticsearch net472 2.56μs 1.85ns 7.17ns 0.153 0 0 1 KB
#6905 CallElasticsearchAsync net6.0 1.41μs 0.706ns 2.73ns 0.014 0 0 960 B
#6905 CallElasticsearchAsync netcoreapp3.1 1.66μs 2.53ns 9.11ns 0.00827 0 0 1.03 KB
#6905 CallElasticsearchAsync net472 2.76μs 2.05ns 7.93ns 0.165 0 0 1.06 KB
Benchmarks.Trace.GraphQLBenchmark - Same speed ✔️ Same allocations ✔️

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master ExecuteAsync net6.0 1.35μs 0.862ns 3.23ns 0.0135 0 0 960 B
master ExecuteAsync netcoreapp3.1 1.62μs 1.7ns 6.12ns 0.00819 0 0 960 B
master ExecuteAsync net472 1.81μs 0.999ns 3.74ns 0.145 0 0 923 B
#6905 ExecuteAsync net6.0 1.37μs 0.661ns 2.47ns 0.0137 0 0 960 B
#6905 ExecuteAsync netcoreapp3.1 1.67μs 7.37ns 36.9ns 0.00823 0 0 960 B
#6905 ExecuteAsync net472 1.9μs 1.04ns 4.04ns 0.143 0 0 923 B
Benchmarks.Trace.HttpClientBenchmark - Same speed ✔️ Same allocations ✔️

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master SendAsync net6.0 4.4μs 1.76ns 6.09ns 0.0221 0 0 2.32 KB
master SendAsync netcoreapp3.1 5.29μs 9.69ns 37.5ns 0.0263 0 0 2.86 KB
master SendAsync net472 7.45μs 5.2ns 19.5ns 0.49 0 0 3.13 KB
#6905 SendAsync net6.0 4.29μs 2ns 7.73ns 0.0221 0 0 2.32 KB
#6905 SendAsync netcoreapp3.1 5.29μs 3.25ns 11.7ns 0.0263 0 0 2.86 KB
#6905 SendAsync net472 7.43μs 6.42ns 24.9ns 0.482 0 0 3.13 KB
Benchmarks.Trace.ILoggerBenchmark - Same speed ✔️ Same allocations ✔️

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net6.0 1.68μs 1.82ns 7.07ns 0.0168 0 0 1.71 KB
master EnrichedLog netcoreapp3.1 2.34μs 1.83ns 7.09ns 0.0118 0 0 1.71 KB
master EnrichedLog net472 2.65μs 1.81ns 7.02ns 0.25 0 0 1.64 KB
#6905 EnrichedLog net6.0 1.53μs 1.77ns 6.61ns 0.0229 0 0 1.71 KB
#6905 EnrichedLog netcoreapp3.1 2.39μs 2.3ns 8.89ns 0.0116 0 0 1.71 KB
#6905 EnrichedLog net472 2.8μs 1.2ns 4.31ns 0.248 0 0 1.64 KB
Benchmarks.Trace.Log4netBenchmark - Same speed ✔️ Same allocations ✔️

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net6.0 112μs 295ns 1.14μs 0 0 0 4.32 KB
master EnrichedLog netcoreapp3.1 115μs 424ns 1.64μs 0 0 0 4.32 KB
master EnrichedLog net472 149μs 226ns 876ns 0 0 0 4.51 KB
#6905 EnrichedLog net6.0 112μs 178ns 644ns 0 0 0 4.32 KB
#6905 EnrichedLog netcoreapp3.1 117μs 232ns 867ns 0 0 0 4.32 KB
#6905 EnrichedLog net472 150μs 224ns 869ns 0 0 0 4.51 KB
Benchmarks.Trace.NLogBenchmark - Same speed ✔️ Same allocations ✔️

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net6.0 3.26μs 2.4ns 9.29ns 0.0331 0 0 2.26 KB
master EnrichedLog netcoreapp3.1 4.27μs 5.13ns 19.9ns 0.0214 0 0 2.26 KB
master EnrichedLog net472 4.89μs 3.09ns 12ns 0.318 0 0 2.09 KB
#6905 EnrichedLog net6.0 3.21μs 2.27ns 8.81ns 0.0321 0 0 2.26 KB
#6905 EnrichedLog netcoreapp3.1 4.1μs 3.26ns 11.8ns 0.0207 0 0 2.26 KB
#6905 EnrichedLog net472 4.91μs 3.19ns 12.3ns 0.318 0 0 2.09 KB
Benchmarks.Trace.RedisBenchmark - Same speed ✔️ Same allocations ✔️

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master SendReceive net6.0 1.37μs 1.14ns 4.41ns 0.0138 0 0 1.15 KB
master SendReceive netcoreapp3.1 1.8μs 1.13ns 4.22ns 0.00907 0 0 1.15 KB
master SendReceive net472 2.16μs 1.57ns 6.06ns 0.179 0 0 1.16 KB
#6905 SendReceive net6.0 1.35μs 1.19ns 4.61ns 0.0136 0 0 1.15 KB
#6905 SendReceive netcoreapp3.1 1.8μs 1.77ns 6.84ns 0.00892 0 0 1.15 KB
#6905 SendReceive net472 2.16μs 1.36ns 5.26ns 0.182 0 0 1.16 KB
Benchmarks.Trace.SerilogBenchmark - Same speed ✔️ Same allocations ✔️

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net6.0 2.83μs 1.73ns 6.69ns 0.0142 0 0 1.64 KB
master EnrichedLog netcoreapp3.1 3.9μs 2.18ns 7.85ns 0.0194 0 0 1.69 KB
master EnrichedLog net472 4.46μs 2.75ns 10.6ns 0.313 0 0 2.08 KB
#6905 EnrichedLog net6.0 2.77μs 1.44ns 5.56ns 0.0138 0 0 1.64 KB
#6905 EnrichedLog netcoreapp3.1 3.87μs 5.91ns 22.9ns 0.0193 0 0 1.69 KB
#6905 EnrichedLog net472 4.47μs 2.14ns 7.72ns 0.311 0 0 2.08 KB
Benchmarks.Trace.SpanBenchmark - Same speed ✔️ Same allocations ✔️

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master StartFinishSpan net6.0 412ns 0.354ns 1.32ns 0.00815 0 0 584 B
master StartFinishSpan netcoreapp3.1 582ns 0.765ns 2.96ns 0.00573 0 0 584 B
master StartFinishSpan net472 658ns 0.658ns 2.37ns 0.0922 0 0 586 B
master StartFinishScope net6.0 492ns 0.316ns 1.18ns 0.00975 0 0 704 B
master StartFinishScope netcoreapp3.1 752ns 0.69ns 2.58ns 0.00755 0 0 704 B
master StartFinishScope net472 838ns 0.778ns 3.01ns 0.105 0 0 666 B
#6905 StartFinishSpan net6.0 442ns 0.234ns 0.844ns 0.00667 0 0 584 B
#6905 StartFinishSpan netcoreapp3.1 579ns 0.55ns 2.13ns 0.00579 0 0 584 B
#6905 StartFinishSpan net472 706ns 0.386ns 1.44ns 0.0917 0 0 586 B
#6905 StartFinishScope net6.0 533ns 0.845ns 3.05ns 0.00777 0 0 704 B
#6905 StartFinishScope netcoreapp3.1 745ns 0.405ns 1.46ns 0.00741 0 0 704 B
#6905 StartFinishScope net472 800ns 0.859ns 3.33ns 0.105 0 0 666 B
Benchmarks.Trace.TraceAnnotationsBenchmark - Same speed ✔️ Same allocations ✔️

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master RunOnMethodBegin net6.0 597ns 0.475ns 1.84ns 0.00901 0 0 704 B
master RunOnMethodBegin netcoreapp3.1 1μs 1.28ns 4.78ns 0.00501 0 0 704 B
master RunOnMethodBegin net472 1.14μs 1.45ns 5.62ns 0.102 0 0 666 B
#6905 RunOnMethodBegin net6.0 652ns 0.267ns 0.998ns 0.00964 0 0 704 B
#6905 RunOnMethodBegin netcoreapp3.1 930ns 1.68ns 6.04ns 0.00479 0 0 704 B
#6905 RunOnMethodBegin net472 1.04μs 0.724ns 2.8ns 0.105 0 0 666 B

@andrewlock
Copy link
Member Author

Execution-Time Benchmarks Report ⏱️

Execution-time results for samples comparing the following branches/commits:

Execution-time benchmarks measure the whole time it takes to execute a program. And are intended to measure the one-off costs. Cases where the execution time results for the PR are worse than latest master results are shown in red. The following thresholds were used for comparing the execution times:

  • Welch test with statistical test for significance of 5%
  • Only results indicating a difference greater than 5% and 5 ms are considered.

Note that these results are based on a single point-in-time result for each branch. For full results, see the dashboard.

Graphs show the p99 interval based on the mean and StdDev of the test run, as well as the mean value of the run (shown as a diamond below the graph).

gantt
    title Execution time (ms) FakeDbCommand (.NET Framework 4.6.2) 
    dateFormat  X
    axisFormat %s
    todayMarker off
    section Baseline
    This PR (6905) - mean (69ms)  : 66, 73
     .   : milestone, 69,
    master - mean (69ms)  : 66, 72
     .   : milestone, 69,

    section CallTarget+Inlining+NGEN
    This PR (6905) - mean (1,006ms)  : 980, 1033
     .   : milestone, 1006,
    master - mean (1,007ms)  : 987, 1027
     .   : milestone, 1007,

Loading
gantt
    title Execution time (ms) FakeDbCommand (.NET Core 3.1) 
    dateFormat  X
    axisFormat %s
    todayMarker off
    section Baseline
    This PR (6905) - mean (103ms)  : 100, 105
     .   : milestone, 103,
    master - mean (102ms)  : 100, 104
     .   : milestone, 102,

    section CallTarget+Inlining+NGEN
    This PR (6905) - mean (694ms)  : 669, 719
     .   : milestone, 694,
    master - mean (694ms)  : 671, 717
     .   : milestone, 694,

Loading
gantt
    title Execution time (ms) FakeDbCommand (.NET 6) 
    dateFormat  X
    axisFormat %s
    todayMarker off
    section Baseline
    This PR (6905) - mean (89ms)  : 87, 91
     .   : milestone, 89,
    master - mean (89ms)  : 87, 91
     .   : milestone, 89,

    section CallTarget+Inlining+NGEN
    This PR (6905) - mean (651ms)  : 634, 667
     .   : milestone, 651,
    master - mean (657ms)  : 632, 683
     .   : milestone, 657,

Loading
gantt
    title Execution time (ms) HttpMessageHandler (.NET Framework 4.6.2) 
    dateFormat  X
    axisFormat %s
    todayMarker off
    section Baseline
    This PR (6905) - mean (189ms)  : 185, 193
     .   : milestone, 189,
    master - mean (189ms)  : 186, 193
     .   : milestone, 189,

    section CallTarget+Inlining+NGEN
    This PR (6905) - mean (1,108ms)  : 1079, 1137
     .   : milestone, 1108,
    master - mean (1,104ms)  : 1075, 1133
     .   : milestone, 1104,

Loading
gantt
    title Execution time (ms) HttpMessageHandler (.NET Core 3.1) 
    dateFormat  X
    axisFormat %s
    todayMarker off
    section Baseline
    This PR (6905) - mean (269ms)  : 264, 274
     .   : milestone, 269,
    master - mean (268ms)  : 264, 272
     .   : milestone, 268,

    section CallTarget+Inlining+NGEN
    This PR (6905) - mean (877ms)  : 842, 912
     .   : milestone, 877,
    master - mean (882ms)  : 854, 910
     .   : milestone, 882,

Loading
gantt
    title Execution time (ms) HttpMessageHandler (.NET 6) 
    dateFormat  X
    axisFormat %s
    todayMarker off
    section Baseline
    This PR (6905) - mean (261ms)  : 256, 267
     .   : milestone, 261,
    master - mean (260ms)  : 257, 264
     .   : milestone, 260,

    section CallTarget+Inlining+NGEN
    This PR (6905) - mean (869ms)  : 834, 904
     .   : milestone, 869,
    master - mean (870ms)  : 842, 899
     .   : milestone, 870,

Loading

@datadog-datadog-prod-us1
Copy link

datadog-datadog-prod-us1 bot commented Apr 29, 2025

Datadog Report

Branch report: andrew/ci/disable-build-in-parallel-for-dotnettool
Commit report: 57c93e4
Test service: dd-trace-dotnet

✅ 0 Failed, 252763 Passed, 2262 Skipped, 18h 15m 17.15s Total Time
❄️ 1 New Flaky

New Flaky Tests (1)

  • SnapshotBiggerThanMaxSize_TwoLevel_OneSliced - Datadog.Trace.Tests.Debugger.SnapshotSlicerTests - Last Failure

    Expand for error
     Unexpected end of content while loading JObject. Path 'debugger', line 1, position 11957.
    

@andrewlock andrewlock merged commit 92c06c2 into master Apr 29, 2025
111 of 112 checks passed
@andrewlock andrewlock deleted the andrew/ci/disable-build-in-parallel-for-dotnettool branch April 29, 2025 11:40
@github-actions github-actions bot added this to the vNext-v3 milestone Apr 29, 2025
chojomok pushed a commit that referenced this pull request Jul 15, 2025
## Summary of changes

Try to fix the flake we're been seeing in the `dotnet pack` stack of the
runner build

## Reason for change

Seeing flake like this, which [seems to be happening in `9.0.2xx` of the
SDK](dotnet/sdk#17454)

```
The "GenerateToolsSettingsFile" task failed unexpectedly.
System.IO.IOException: The process cannot access the file 'D:\a\1\s\tracer\src\Datadog.Trace.Tools.Runner\obj\DotnetToolSettings.xml' because it is being used by another process.
   at Microsoft.Win32.SafeHandles.SafeFileHandle.CreateFile(String fullPath, FileMode mode, FileAccess access, FileShare share, FileOptions options)
   at Microsoft.Win32.SafeHandles.SafeFileHandle.Open(String fullPath, FileMode mode, FileAccess access, FileShare share, FileOptions options, Int64 preallocationSize, Nullable`1 unixCreateMode)
   at System.IO.Strategies.OSFileStreamStrategy..ctor(String path, FileMode mode, FileAccess access, FileShare share, FileOptions options, Int64 preallocationSize, Nullable`1 unixCreateMode)
   at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, Boolean useAsync)
   at System.Xml.XmlWriterSettings.CreateWriter(String outputFileName)
   at System.Xml.Linq.XDocument.Save(String fileName, SaveOptions options)
   at Microsoft.NET.Build.Tasks.TaskBase.Execute()
   at Microsoft.Build.BackEnd.TaskExecutionHost.Execute()
   at Microsoft.Build.BackEnd.TaskBuilder.ExecuteInstantiatedTask(TaskExecutionHost taskExecutionHost, TaskLoggingContext taskLoggingContext, TaskHost taskHost, ItemBucket bucket, TaskExecutionMode howToExecuteTask)
```

## Implementation details

Try setting `BuildInParallel=false` [as suggested in this
issue](dotnet/sdk#17454 (comment))

## Test coverage

If this build works, we're ok

## Other details

The issue appears to be fixed in the .NET 10 SDK:
- dotnet/sdk#17454 (comment)

I've asked to see if it will backported, but no answer yet 🙄
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area:builds project files, build scripts, pipelines, versioning, releases, packages

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants