Skip to content

[main] Update dependencies from 9 repositories #80429

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

Merged
merged 10 commits into from
Jan 13, 2023

Conversation

dotnet-maestro[bot]
Copy link
Contributor

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

This pull request updates the following dependencies

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

  • Subscription: 4247a230-8931-4538-5b64-08d8d8feb47e
  • Build: 20230109.1
  • Date Produced: January 9, 2023 3:07:55 PM UTC
  • Commit: 7f8cc677c6abf14573df490694d296465c04054d
  • Branch: refs/heads/dotnet/main

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

  • Subscription: be30ac4f-4b72-4287-1eb6-08d8d8fef0ea
  • Build: 20230109.1
  • Date Produced: January 9, 2023 2:36:11 PM UTC
  • Commit: 172d0715b3dbee3cbc440ccb44bf782b10ce090f
  • Branch: refs/heads/main

From https://github.com/dotnet/runtime-assets

  • Subscription: 0c5a34f5-504e-413b-9376-08d8d8ff2d75
  • Build: 20230109.2
  • Date Produced: January 9, 2023 5:06:22 PM UTC
  • Commit: 97c52d5703909d451a1f7636bfdbcef7c91745d5
  • Branch: refs/heads/main

From https://github.com/dotnet/roslyn-analyzers

  • Subscription: 5465c78f-1281-49a8-f9b0-08d9301a7704
  • Build: 20230109.1
  • Date Produced: January 9, 2023 3:18:27 PM UTC
  • Commit: 6f4bfac4c7ad970b59be66cd1d2bee75516348fc
  • Branch: refs/heads/main

From https://github.com/dotnet/hotreload-utils

  • Subscription: bfe6dacf-8231-4ea1-e2fe-08d962847885
  • Build: 20230111.2
  • Date Produced: January 11, 2023 12:55:39 PM UTC
  • Commit: e29d51d27bb94a5d8608f096ee2ddf986b8d560c
  • Branch: refs/heads/main

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

  • Subscription: 0af788c4-77ba-425c-b8c9-08da91234a73
  • Build: 20230110.14
  • Date Produced: January 11, 2023 10:08:24 AM UTC
  • Commit: 4298934df345f501fa0a74b675fab8efd8355709
  • Branch: refs/heads/main

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

  • Subscription: c22d5069-447c-4252-29fd-08d90a7bb4bc
  • Build: 20230111.1
  • Date Produced: January 11, 2023 10:44:46 AM UTC
  • Commit: 5578fc4c0d1f4a1a01ad2801de2852cbe422b9ab
  • Branch: refs/heads/main

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

  • Subscription: bb5d2106-9fd3-425f-0abc-08daad65778c
  • Build: 20230110.1
  • Date Produced: January 10, 2023 5:09:32 PM UTC
  • Commit: 2941911af1e028ec4b508cbb8c326003089bc610
  • Branch: refs/heads/main

From https://github.com/dotnet/llvm-project

  • Subscription: a7d541fc-4d59-4f09-2997-08d96284e872
  • Build: 20230111.1
  • Date Produced: January 11, 2023 3:23:52 PM UTC
  • Commit: 784ea1205d34ea6980b1774458ffc4470871663f
  • Branch: refs/heads/dotnet/main

From https://dev.azure.com/dnceng/internal/_git/dotnet-optimization

  • Subscription: d3a5b203-1393-4534-5b62-08d8d8feb47e
  • Build: 20230111.7
  • Date Produced: January 11, 2023 7:52:51 PM UTC
  • Commit: bd563e147df2f1ec187569cf80b9edf0321a6a44
  • Branch: refs/heads/main

Microsoft.NETCore.Runtime.ICU.Transport
 From Version 8.0.0-alpha.1.23056.1 -> To Version 8.0.0-alpha.1.23059.1
@ghost ghost added the area-codeflow for labeling automated codeflow label Jan 10, 2023
…30109.1

Microsoft.DotNet.XHarness.CLI , Microsoft.DotNet.XHarness.TestRunners.Common , Microsoft.DotNet.XHarness.TestRunners.Xunit
 From Version 1.0.0-prerelease.23052.2 -> To Version 1.0.0-prerelease.23059.1
@dotnet-maestro dotnet-maestro bot changed the title [main] Update dependencies from dotnet/icu [main] Update dependencies from dotnet/icu dotnet/xharness Jan 10, 2023
…ld 20230109.2

Microsoft.DotNet.CilStrip.Sources , System.ComponentModel.TypeConverter.TestData , System.Drawing.Common.TestData , System.Formats.Tar.TestData , System.IO.Compression.TestData , System.IO.Packaging.TestData , System.Net.TestData , System.Private.Runtime.UnicodeData , System.Runtime.Numerics.TestData , System.Runtime.TimeZoneData , System.Security.Cryptography.X509Certificates.TestData , System.Text.RegularExpressions.TestData , System.Windows.Extensions.TestData
 From Version 8.0.0-beta.23059.1 -> To Version 8.0.0-beta.23059.2
@dotnet-maestro dotnet-maestro bot changed the title [main] Update dependencies from dotnet/icu dotnet/xharness [main] Update dependencies from dotnet/icu dotnet/xharness dotnet/runtime-assets Jan 10, 2023
…uild 20230109.1

Microsoft.CodeAnalysis.Analyzers , Microsoft.CodeAnalysis.NetAnalyzers
 From Version 3.3.4-beta1.23058.2 -> To Version 3.3.4-beta1.23059.1
@dotnet-maestro dotnet-maestro bot changed the title [main] Update dependencies from dotnet/icu dotnet/xharness dotnet/runtime-assets [main] Update dependencies from dotnet/icu dotnet/xharness dotnet/runtime-assets dotnet/roslyn-analyzers Jan 10, 2023
…ild 20230109.1

Microsoft.DotNet.HotReload.Utils.Generator.BuildTool
 From Version 1.1.0-alpha.0.22628.1 -> To Version 1.1.0-alpha.0.23059.1
@dotnet-maestro dotnet-maestro bot changed the title [main] Update dependencies from dotnet/icu dotnet/xharness dotnet/runtime-assets dotnet/roslyn-analyzers [main] Update dependencies from dotnet/icu dotnet/xharness dotnet/runtime-assets dotnet/roslyn-analyzers dotnet/hotreload-utils Jan 10, 2023
@dotnet-maestro dotnet-maestro bot changed the title [main] Update dependencies from dotnet/icu dotnet/xharness dotnet/runtime-assets dotnet/roslyn-analyzers dotnet/hotreload-utils [main] Update dependencies from dotnet/icu dotnet/xharness dotnet/runtime-assets dotnet/roslyn-analyzers dotnet/hotreload-utils dotnet/roslyn Jan 10, 2023
@ViktorHofer ViktorHofer reopened this Jan 11, 2023
@ViktorHofer
Copy link
Member

.packages/microsoft.dotnet.hotreload.utils.generator.buildtool/1.1.0-alpha.0.23059.1/build/Microsoft.DotNet.HotReload.Utils.Generator.BuildTool.targets(28,5): error MSB4062: (NETCORE_ENGINEERING_TELEMETRY=Build) The "HotReloadDeltaGeneratorComputeScriptOutputs" task could not be loaded from the assembly /__w/1/s/.packages/microsoft.dotnet.hotreload.utils.generator.buildtool/1.1.0-alpha.0.23059.1/build/../tools/net7.0/Microsoft.DotNet.HotReload.Utils.Generator.Tasks.dll. Could not load file or assembly '/__w/1/s/.packages/microsoft.dotnet.hotreload.utils.generator.buildtool/1.1.0-alpha.0.23059.1/tools/net7.0/Microsoft.DotNet.HotReload.Utils.Generator.Tasks.dll'. The system cannot find the file specified.
Confirm that the declaration is correct, that the assembly and all its dependencies are available, and that the task contains a public class that implements Microsoft.Build.Framework.ITask.

Regressed with dotnet/hotreload-utils#229 and will be fixed with dotnet/hotreload-utils#230

@dotnet-maestro dotnet-maestro bot changed the title [main] Update dependencies from dotnet/icu dotnet/xharness dotnet/runtime-assets dotnet/roslyn-analyzers dotnet/hotreload-utils dotnet/roslyn [main] Update dependencies from dotnet/xharness dotnet/runtime-assets dotnet/roslyn-analyzers dotnet/hotreload-utils dotnet/roslyn dotnet/icu Jan 11, 2023
@dotnet-maestro dotnet-maestro bot changed the title [main] Update dependencies from dotnet/xharness dotnet/runtime-assets dotnet/roslyn-analyzers dotnet/hotreload-utils dotnet/roslyn dotnet/icu [main] Update dependencies from dotnet/runtime-assets dotnet/roslyn-analyzers dotnet/hotreload-utils dotnet/roslyn dotnet/icu dotnet/xharness Jan 11, 2023
@dotnet-maestro dotnet-maestro bot changed the title [main] Update dependencies from dotnet/runtime-assets dotnet/roslyn-analyzers dotnet/hotreload-utils dotnet/roslyn dotnet/icu dotnet/xharness [main] Update dependencies from dotnet/roslyn-analyzers dotnet/hotreload-utils dotnet/roslyn dotnet/icu dotnet/xharness dotnet/runtime-assets Jan 11, 2023
@dotnet-maestro dotnet-maestro bot changed the title [main] Update dependencies from dotnet/roslyn-analyzers dotnet/hotreload-utils dotnet/roslyn dotnet/icu dotnet/xharness dotnet/runtime-assets [main] Update dependencies from 7 repositories Jan 11, 2023
@dotnet-maestro dotnet-maestro bot changed the title [main] Update dependencies from 7 repositories [main] Update dependencies from 8 repositories Jan 11, 2023
@ViktorHofer
Copy link
Member

This is now blocked by #80234 as hotreload-utils already is on an 8.0 SDK.

@ViktorHofer ViktorHofer added the blocked Issue/PR is blocked on something - see comments label Jan 11, 2023
@dotnet-maestro dotnet-maestro bot changed the title [main] Update dependencies from 8 repositories [main] Update dependencies from 9 repositories Jan 11, 2023
@dotnet-maestro dotnet-maestro bot changed the title [main] Update dependencies from 9 repositories [main] Update dependencies from 10 repositories Jan 12, 2023
@ViktorHofer ViktorHofer removed the blocked Issue/PR is blocked on something - see comments label Jan 12, 2023
@ViktorHofer ViktorHofer reopened this Jan 12, 2023
@ViktorHofer ViktorHofer reopened this Jan 12, 2023
@janvorli
Copy link
Member

The crossgen2 (I've tested the Linux x64 leg) fails with stack overflow at about 75000 frames. It happens down the call chain of the S_P_CoreLib_System_AppContext__SetData, so well before the crossgen2 code is executed.
You can see bottom 36000 frames of the stack trace in the gist at https://gist.github.com/janvorli/8ce94e65ac17bba484defeac46e8c418.

To repro this, I've checked out this PR's change and ran:
./build.sh -arch x64 -os linux -c debug -runtimeConfiguration release /p:CrossBuild=false /p:MonoLLVMUseCxx11Abi=false

When it failed, I've just copied the command the error message logged and ran it under lldb. In my case, it was:
lldb -- /home/janvorli/git/runtime4/artifacts/bin/coreclr/linux.x64.Debug/crossgen2/linux-x64/publish/crossgen2 /home/janvorli/git/runtime4/artifacts/bin/coreclr/linux.x64.Release/IL/System.Private.CoreLib.dll --out /home/janvorli/git/runtime4/artifacts/obj/Microsoft.NETCore.App.Crossgen2/Debug/net8.0/linux-x64/S.P.C.tmp

@ViktorHofer
Copy link
Member

The crossgen2 (I've tested the Linux x64 leg) fails with stack overflow at about 75000 frame

@MichalStrehovsky can you please take a look? cc @vitek-karas

@MichalStrehovsky
Copy link
Member

The crossgen2 (I've tested the Linux x64 leg) fails with stack overflow at about 75000 frame

So Roslyn is now generating reflection calls in places that have nothing to do with reflection and since NativeAOT implements reflection in C#, we get reflection in the middle of reflection implementation, which calls reflection,.... you get the picture.

The method body for this:

public bool TryGetValue(K key, int hashCode, out V? value)
{
// Lock acquistion NOT required.
int bucket = ComputeBucket(hashCode, _buckets.Length);
int i = Volatile.Read(ref _buckets[bucket]);
while (i != -1)
{
if (key.Equals(_entries[i]._key))
{
// We found the entry for the key but the weak reference may have expired. If it did expire, do NOT
// try to refill it here. To maintain the appearance of value immortality, ONLY the entry belonging
// to the most up to date chain can be refilled in this way and we can only be sure of doing that we're
// inside the lock.
return _entries[i]._weakValue.TryGetTarget(out value);
}
i = _entries[i]._next;
}
value = default(V);
return false;
}

Now has an implicit typeof(K).IsValueType call generated around the key.Equals

I think this was introduced in dotnet/roslyn#66311? Cc @AlekseyTs @jkotas

@jkotas
Copy link
Member

jkotas commented Jan 13, 2023

@AlekseyTs I think we should revert the change in Roslyn so that we understand the impact and the best way forward without time pressure and blocking code flow.

@MichalStrehovsky
Copy link
Member

We could fix this by making IsValueType a mustExpand intrinsic in the JIT (maybe?). But not all codegens expand this. I don't know how much the IsValueType call regresses perf for Mono for example. I don't particularly like seeing Roslyn generate calls into reflection APIs behind user's back.

@jkotas
Copy link
Member

jkotas commented Jan 13, 2023

I don't know how much the IsValueType call regresses perf for Mono for example.

I assume that this codegen changed for all runtimes. It means that this would also regress performance significantly for older .NET Core versions and .NET Framework where Type.IsValueType is not treated as intrinsic.

@ViktorHofer
Copy link
Member

ViktorHofer commented Jan 13, 2023

Thanks for talking a look Michal!

Roslyn dependency updates already have been painful enough to make me switch the subscription to non batchable, to not prelong other updates and being able to invastigate Roslyn changes separately.

EDIT: I just removed the roslyn dependency updates from the PR.

…11.1

Microsoft.NET.Workload.Emscripten.net7.Manifest-8.0.100
 From Version 8.0.0-alpha.1.23054.1 -> To Version 8.0.0-alpha.1.23061.1
…10.1

Microsoft.DotNet.Cecil , Microsoft.DotNet.Cecil.Pdb
 From Version 0.11.4-alpha.23053.1 -> To Version 0.11.4-alpha.23060.1
…ild 20230111.2

Microsoft.DotNet.HotReload.Utils.Generator.BuildTool
 From Version 1.1.0-alpha.0.22628.1 -> To Version 1.1.0-alpha.0.23061.2
… 20230111.1

runtime.linux-arm64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk , runtime.linux-arm64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools , runtime.linux-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk , runtime.linux-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools , runtime.osx-arm64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk , runtime.osx-arm64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools , runtime.osx-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk , runtime.osx-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools , runtime.win-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk , runtime.win-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools
 From Version 14.0.0-alpha.1.22626.2 -> To Version 14.0.0-alpha.1.23061.1
…otnet-optimization build 20230111.7

optimization.linux-arm64.MIBC.Runtime , optimization.linux-x64.MIBC.Runtime , optimization.windows_nt-arm64.MIBC.Runtime , optimization.windows_nt-x64.MIBC.Runtime , optimization.windows_nt-x86.MIBC.Runtime , optimization.PGO.CoreCLR
 From Version 1.0.0-prerelease.22511.6 -> To Version 1.0.0-prerelease.23061.7
@ViktorHofer ViktorHofer force-pushed the darc-main-71fcb20a-c62e-4e89-a243-64c2272f599e branch from 943a895 to 0d78706 Compare January 13, 2023 08:29
@ViktorHofer ViktorHofer changed the title [main] Update dependencies from 10 repositories [main] Update dependencies from 9 repositories Jan 13, 2023
@ViktorHofer ViktorHofer merged commit e524623 into main Jan 13, 2023
@ViktorHofer ViktorHofer deleted the darc-main-71fcb20a-c62e-4e89-a243-64c2272f599e branch January 13, 2023 11:01
@AlekseyTs
Copy link
Contributor

I think we should revert the change in Roslyn so that we understand the impact and the best way forward without time pressure and blocking code flow.

Created a revert PR, dotnet/roslyn#66407

AlekseyTs added a commit to dotnet/roslyn that referenced this pull request Jan 13, 2023
@ghost ghost locked as resolved and limited conversation to collaborators Feb 12, 2023
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.

5 participants