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

[main] Update dependencies from dotnet/arcade #80234

Merged
merged 26 commits into from
Jan 12, 2023

Conversation

dotnet-maestro[bot]
Copy link
Contributor

@dotnet-maestro dotnet-maestro bot commented Jan 5, 2023

This pull request updates the following dependencies

From https://github.com/dotnet/arcade

  • Subscription: c32383ee-d79c-4435-5b63-08d8d8feb47e
  • Build: 20230109.1
  • Date Produced: January 9, 2023 2:51:20 PM UTC
  • Commit: d360f5e4d22cdc673601d6cc60284ced948706ae
  • Branch: refs/heads/main

…104.2

Microsoft.DotNet.Arcade.Sdk , Microsoft.DotNet.Build.Tasks.Archives , Microsoft.DotNet.Build.Tasks.Feed , Microsoft.DotNet.Build.Tasks.Installers , Microsoft.DotNet.Build.Tasks.Packaging , Microsoft.DotNet.Build.Tasks.TargetFramework , Microsoft.DotNet.Build.Tasks.Templating , Microsoft.DotNet.Build.Tasks.Workloads , Microsoft.DotNet.CodeAnalysis , Microsoft.DotNet.GenAPI , Microsoft.DotNet.GenFacades , Microsoft.DotNet.Helix.Sdk , Microsoft.DotNet.PackageTesting , Microsoft.DotNet.RemoteExecutor , Microsoft.DotNet.SharedFramework.Sdk , Microsoft.DotNet.VersionTools.Tasks , Microsoft.DotNet.XUnitConsoleRunner , Microsoft.DotNet.XUnitExtensions
 From Version 8.0.0-beta.23053.5 -> To Version 8.0.0-beta.23054.2
@dotnet-issue-labeler dotnet-issue-labeler bot added the area-codeflow for labeling automated codeflow label Jan 5, 2023
@lewing
Copy link
Member

lewing commented Jan 5, 2023

@radical can you take a look at the wbt failures?

@radical
Copy link
Member

radical commented Jan 5, 2023

Should be fixed by #80241 .

…105.2

Microsoft.DotNet.Arcade.Sdk , Microsoft.DotNet.Build.Tasks.Archives , Microsoft.DotNet.Build.Tasks.Feed , Microsoft.DotNet.Build.Tasks.Installers , Microsoft.DotNet.Build.Tasks.Packaging , Microsoft.DotNet.Build.Tasks.TargetFramework , Microsoft.DotNet.Build.Tasks.Templating , Microsoft.DotNet.Build.Tasks.Workloads , Microsoft.DotNet.CodeAnalysis , Microsoft.DotNet.GenAPI , Microsoft.DotNet.GenFacades , Microsoft.DotNet.Helix.Sdk , Microsoft.DotNet.PackageTesting , Microsoft.DotNet.RemoteExecutor , Microsoft.DotNet.SharedFramework.Sdk , Microsoft.DotNet.VersionTools.Tasks , Microsoft.DotNet.XUnitConsoleRunner , Microsoft.DotNet.XUnitExtensions
 From Version 8.0.0-beta.23053.5 -> To Version 8.0.0-beta.23055.2
…105.3

Microsoft.DotNet.Arcade.Sdk , Microsoft.DotNet.Build.Tasks.Archives , Microsoft.DotNet.Build.Tasks.Feed , Microsoft.DotNet.Build.Tasks.Installers , Microsoft.DotNet.Build.Tasks.Packaging , Microsoft.DotNet.Build.Tasks.TargetFramework , Microsoft.DotNet.Build.Tasks.Templating , Microsoft.DotNet.Build.Tasks.Workloads , Microsoft.DotNet.CodeAnalysis , Microsoft.DotNet.GenAPI , Microsoft.DotNet.GenFacades , Microsoft.DotNet.Helix.Sdk , Microsoft.DotNet.PackageTesting , Microsoft.DotNet.RemoteExecutor , Microsoft.DotNet.SharedFramework.Sdk , Microsoft.DotNet.VersionTools.Tasks , Microsoft.DotNet.XUnitConsoleRunner , Microsoft.DotNet.XUnitExtensions
 From Version 8.0.0-beta.23053.5 -> To Version 8.0.0-beta.23055.3
…106.4

Microsoft.DotNet.Arcade.Sdk , Microsoft.DotNet.Build.Tasks.Archives , Microsoft.DotNet.Build.Tasks.Feed , Microsoft.DotNet.Build.Tasks.Installers , Microsoft.DotNet.Build.Tasks.Packaging , Microsoft.DotNet.Build.Tasks.TargetFramework , Microsoft.DotNet.Build.Tasks.Templating , Microsoft.DotNet.Build.Tasks.Workloads , Microsoft.DotNet.CodeAnalysis , Microsoft.DotNet.GenAPI , Microsoft.DotNet.GenFacades , Microsoft.DotNet.Helix.Sdk , Microsoft.DotNet.PackageTesting , Microsoft.DotNet.RemoteExecutor , Microsoft.DotNet.SharedFramework.Sdk , Microsoft.DotNet.VersionTools.Tasks , Microsoft.DotNet.XUnitConsoleRunner , Microsoft.DotNet.XUnitExtensions
 From Version 8.0.0-beta.23053.5 -> To Version 8.0.0-beta.23056.4
@ViktorHofer
Copy link
Member

ViktorHofer commented Jan 9, 2023

cc @vitek-karas @agocke @sbomer

image

EDIT: The error hides the actual projects that cause the failures. Here's one:

C:\Program Files\dotnet\sdk\8.0.100-alpha.1.23055.1\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.FrameworkReferenceResolution.targets(90,5): error NETSDK1195: Unable to optimize assemblies for size: a valid runtime package was not found. Either set the PublishTrimmed property to false, or use a supported target framework when publishing. [C:\git\runtime2\src\libraries\Microsoft.Extensions.DependencyInjection.Abstractions\src\Microsoft.Extensions.DependencyInjection.Abstractions.csproj]

I think this is now happening because illink.targets set IsTrimming to true and the SDK now also reads from that property to set _IsTrimmingEnabled.

EDIT 2:
I just pushed a commit that explicitly sets _IsTrimmingEnabled to false in illink.targets to not use the linker functionality from the SDK. The changes that introduced this behavior are dotnet/sdk#29441 and #65870. Presumably this is happening in runtime because we reference the linker package explicitly but the SDK now restores that via the ProcessFrameworkReferences target.

ViktorHofer and others added 3 commits January 9, 2023 13:27
…108.1

Microsoft.DotNet.Arcade.Sdk , Microsoft.DotNet.Build.Tasks.Archives , Microsoft.DotNet.Build.Tasks.Feed , Microsoft.DotNet.Build.Tasks.Installers , Microsoft.DotNet.Build.Tasks.Packaging , Microsoft.DotNet.Build.Tasks.TargetFramework , Microsoft.DotNet.Build.Tasks.Templating , Microsoft.DotNet.Build.Tasks.Workloads , Microsoft.DotNet.CodeAnalysis , Microsoft.DotNet.GenAPI , Microsoft.DotNet.GenFacades , Microsoft.DotNet.Helix.Sdk , Microsoft.DotNet.PackageTesting , Microsoft.DotNet.RemoteExecutor , Microsoft.DotNet.SharedFramework.Sdk , Microsoft.DotNet.VersionTools.Tasks , Microsoft.DotNet.XUnitConsoleRunner , Microsoft.DotNet.XUnitExtensions
 From Version 8.0.0-beta.23053.5 -> To Version 8.0.0-beta.23058.1
`/__w/1/s/src/mono/wasm/host/WebServerStartup.cs(94,17): error ASP0019: Use IHeaderDictionary.Append or the indexer to append or set headers. IDictionary.Add will throw an ArgumentException when attempting to add a duplicate key. [/__w/1/s/src/mono/wasm/host/WasmAppHost.csproj]
`
@radical
Copy link
Member

radical commented Jan 9, 2023

I fixes the asp.net analyzer warning. But the remaining ones looks odd:

  1. This looks wrong:
/__w/1/s/src/mono/wasm/host/Options.cs(456,13):
  error CA1512: Use 'ArgumentOutOfRangeException.ThrowIfNegative' instead of explicitly throwing a new exception instance [/__w/1/s/src/mono/wasm/host/WasmAppHost.csproj]

{
if (prototype == null)
throw new ArgumentNullException(nameof(prototype));
if (prototype.Length == 0)
throw new ArgumentException("Cannot be the empty string.", nameof(prototype));

  1. This one might have the line number wrong?
/__w/1/s/src/mono/wasm/host/Options.cs(345,13):
  error CA1512: Use 'ArgumentOutOfRangeException.ThrowIfGreaterThanOrEqual' instead of explicitly throwing a new exception instance [/__w/1/s/src/mono/wasm/host/WasmAppHost.csproj]

if (c.Option == null)
throw new InvalidOperationException("OptionContext.Option is null.");
if (index >= c.Option.MaxValueCount)
throw new ArgumentOutOfRangeException(nameof(index));

cc @stephentoub

@radical
Copy link
Member

radical commented Jan 9, 2023

I'll fix, ignoring the line numbers in the errors.

@radical
Copy link
Member

radical commented Jan 9, 2023

Ignore me. I was missing a commit off the top!

@ViktorHofer
Copy link
Member

@radical I think your fix was incomplete:

src/mono/wasm/host/Options.cs(345,41): error CS7036: (NETCORE_ENGINEERING_TELEMETRY=Build) There is no argument given that corresponds to the required parameter 'other' of 'ArgumentOutOfRangeException.ThrowIfGreaterThanOrEqual(T, T, string?)'

@radical
Copy link
Member

radical commented Jan 9, 2023

@radical I think your fix was incomplete:

src/mono/wasm/host/Options.cs(345,41): error CS7036: (NETCORE_ENGINEERING_TELEMETRY=Build) There is no argument given that corresponds to the required parameter 'other' of 'ArgumentOutOfRangeException.ThrowIfGreaterThanOrEqual(T, T, string?)'

lol forgot to commit it 😬

ViktorHofer and others added 2 commits January 10, 2023 12:18
…109.1

Microsoft.DotNet.Arcade.Sdk , Microsoft.DotNet.Build.Tasks.Archives , Microsoft.DotNet.Build.Tasks.Feed , Microsoft.DotNet.Build.Tasks.Installers , Microsoft.DotNet.Build.Tasks.Packaging , Microsoft.DotNet.Build.Tasks.TargetFramework , Microsoft.DotNet.Build.Tasks.Templating , Microsoft.DotNet.Build.Tasks.Workloads , Microsoft.DotNet.CodeAnalysis , Microsoft.DotNet.GenAPI , Microsoft.DotNet.GenFacades , Microsoft.DotNet.Helix.Sdk , Microsoft.DotNet.PackageTesting , Microsoft.DotNet.RemoteExecutor , Microsoft.DotNet.SharedFramework.Sdk , Microsoft.DotNet.VersionTools.Tasks , Microsoft.DotNet.XUnitConsoleRunner , Microsoft.DotNet.XUnitExtensions
 From Version 8.0.0-beta.23053.5 -> To Version 8.0.0-beta.23059.1
@ViktorHofer
Copy link
Member

@vitek-karas @tlakollo @agocke can you please take a look at the linker test failures? I tried to resolve them but failed because of lacking domain knowledge.

@ViktorHofer
Copy link
Member

@MichalStrehovsky can you please take a look at the NativeAOT failure. This PR updates the used SDK to an 8.0 version. Example failure:

 Generating native code
  Failed to create CoreCLR, HRESULT: 0x80131524
/Users/runner/work/1/s/artifacts/bin/coreclr/OSX.x64.Debug/build/Microsoft.NETCore.Native.targets(281,5): error MSB3073: The command ""/Users/runner/work/1/s/artifacts/bin/coreclr/OSX.x64.Debug/ilc-published/ilc" @"/Users/runner/work/1/s/artifacts/obj/coreclr/crossgen2/x64/Release/native/crossgen2.ilc.rsp"" exited with code 137. [/Users/runner/work/1/s/src/coreclr/tools/aot/crossgen2/crossgen2.csproj]
##[error]artifacts/bin/coreclr/OSX.x64.Debug/build/Microsoft.NETCore.Native.targets(281,5): error MSB3073: (NETCORE_ENGINEERING_TELEMETRY=Build) The command ""/Users/runner/work/1/s/artifacts/bin/coreclr/OSX.x64.Debug/ilc-published/ilc" @"/Users/runner/work/1/s/artifacts/obj/coreclr/crossgen2/x64/Release/native/crossgen2.ilc.rsp"" exited with code 137.

The analyzer tests download a ref package, but its version must at least roughly match the version used to run the tests.
Since this updates the SDK to 8.0, update the tests to pick some 8.0 ref package.

Also the new compiler produces two new warnings in one case, so baselined those in the test.
@vitek-karas
Copy link
Member

@tlakollo could you please review the changes I made to fix the illink tests in 003edf1 ?

@ViktorHofer
Copy link
Member

@sbomer I fixed one of the ILCompiler failures by setting AotRuntimePackageLoadedViaSDK in our linker test assemblies (see my latest commit). Can you please take a look?

Now that ILCompiler is always referenced via a PackageReference, it looks to me that the AotRuntimePackageLoadedViaSDK switch in ILCompiler.SingleEntry.targets is dead-code outside of dotnet/runtime. Should that be changed somehow?

@tlakollo
Copy link
Contributor

@tlakollo could you please review the changes I made to fix the illink tests in 003edf1 ?

I think is weird to have the ref assembly in 8 set to a specific version, but it does not matter much, because there is an issue to generate a more appropriate fix, so looks great :D

"Failed to create CoreCLR, HRESULT: 0x80131524" during runtime test ILC invocation. Might be fixed with 6c0c96c
@ViktorHofer
Copy link
Member

Thanks to @janvorli's help the NativeAOT failures are resolved. The propagated SDK doesn't include a fix for a single-file bug. We were quite unlucky as we missed that commit just by a few hours during dependency flow from runtime to sdk.

I just updated the SDK to the latest available one and that fixed the issue. I will probably also update the SDK in the arcade repo.

ViktorHofer added a commit to dotnet/arcade that referenced this pull request Jan 11, 2023
TL;DR: We found a severe issue with the previous chosen SDK that impacts single file applications that results in a `Failed to create CoreCLR, HRESULT: 0x80131524` error. Upgrading to `8.0.100-alpha.1.23061.8` which contains the necessary runtime fix: dotnet/runtime@6c0c96c.

See dotnet/runtime#80234 (comment) for more details
ViktorHofer added a commit to dotnet/arcade that referenced this pull request Jan 11, 2023
* Upgrade SDK to 8.0.100-alpha.1.23061.8

TL;DR: We found a severe issue with the previous chosen SDK that impacts single file applications that results in a `Failed to create CoreCLR, HRESULT: 0x80131524` error. Upgrading to `8.0.100-alpha.1.23061.8` which contains the necessary runtime fix: dotnet/runtime@6c0c96c.

See dotnet/runtime#80234 (comment) for more details

* Update DotNetCli.props
@ViktorHofer
Copy link
Member

Test failure is #80543

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
area-codeflow for labeling automated codeflow
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants