-
Notifications
You must be signed in to change notification settings - Fork 4.8k
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
[8/21 Infra rollout] update sdk to preview6 #56161
Conversation
to check whether an arm64 bug is the root cause of NRE on macos.
cc @eerhardt for the linker errors in the wasm legs. |
cc @steveisok @MihaZupan @EgorBo - can one of you check out the Http ILLink.Substitutions issue? |
#55384 moved the @steveisok Seems like that method should be moved into the shared |
Alternatively, we can make ILLink.Substitution.xml files for specific platforms (ex ILLink.Substitution.mobile.xml) and only include the mobile specific substitutions during the mobile builds.. See CoreLib for how this is done. |
Tagging subscribers to this area: @dotnet/runtime-infrastructure Issue DetailsNeed to update the sdk to preview6, since it has a arm64 bug which is causing many intermittent failures on osx-arm64 legs.
|
It was discovered in dotnet#56161 that mobile specific HttpClientHandler substitutions were sticking around even for non mobile builds. This change moves the substitution into ILLink.Substitutions.mobile.xml.
It was discovered in #56161 that mobile specific HttpClientHandler substitutions were sticking around even for non mobile builds. This change moves the substitution into ILLink.Substitutions.mobile.xml.
Hi @MihaZupan /@steveisok , I see that #56306 has been merged. Does that resolve all the build issues or are more changes required? We hope to merge preview6 next week. |
Appears that some mono build issues still persist. |
It was discovered in #56161 that mobile specific HttpClientHandler substitutions were sticking around even for non mobile builds. This change moves the substitution into ILLink.Substitutions.mobile.xml.
It was discovered in #56161 that mobile specific HttpClientHandler substitutions were sticking around even for non mobile builds. This change moves the substitution into ILLink.Substitutions.mobile.xml.
@radical - Can you look into these failures? I believe the issue is with the ILLink Descriptors you added for the aggressively trimming the unit tests for WASM (#51697).
|
Just opened a PR that should fix it: #56392 |
* Update dependencies from https://github.com/dotnet/arcade build 20210726.4 Microsoft.DotNet.XUnitExtensions , Microsoft.DotNet.VersionTools.Tasks , Microsoft.DotNet.Build.Tasks.Workloads , Microsoft.DotNet.Build.Tasks.TargetFramework.Sdk , Microsoft.DotNet.Build.Tasks.Packaging , Microsoft.DotNet.Build.Tasks.Installers , Microsoft.DotNet.Build.Tasks.Feed , Microsoft.DotNet.Build.Tasks.Archives , Microsoft.DotNet.Arcade.Sdk , Microsoft.DotNet.ApiCompat , Microsoft.DotNet.CodeAnalysis , Microsoft.DotNet.XUnitConsoleRunner , Microsoft.DotNet.GenFacades , Microsoft.DotNet.GenAPI , Microsoft.DotNet.RemoteExecutor , Microsoft.DotNet.PackageTesting , Microsoft.DotNet.Helix.Sdk , Microsoft.DotNet.SharedFramework.Sdk From Version 6.0.0-beta.21372.16 -> To Version 6.0.0-beta.21376.4 * Split mobile specific ILLink.Substitutions into its own file (#56306) It was discovered in #56161 that mobile specific HttpClientHandler substitutions were sticking around even for non mobile builds. This change moves the substitution into ILLink.Substitutions.mobile.xml. * Revert back to p4 SDK * Revert "Split mobile specific ILLink.Substitutions into its own file (#56306)" This reverts commit ae413d9. Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> Co-authored-by: Steve Pfister <[email protected]> Co-authored-by: Matt Mitchell <[email protected]>
…LLink descriptor files The type is actually in the `Castle.DynamicProxy` namespace, not the `.Internal` one. This causes an error with newer linker versions. The whole `Castle.DynamicProxy` namespace is already preserved so we can remove the entry for AbstractInvocation.
Thanks for the fixes, only one leg in staging |
@mangod9 what was failing in catalyst? |
I'm a little bit worried that every time we try to update the SDK to a new version we are hitting a lot of linker/trimming test failures. Are we missing coverage on the linker? Should we update the linker more often on dotnet/runtime? |
Below is the catalyst failure. But there appear to be other helix failures in staging too (they dont show up in the github checks probably since the job timed out):
|
The linker used in dotnet/runtime is updated very often outside of the update of the SDK. Lines 168 to 170 in b18ff29
I believe both issues in this upgrade to preview6 were WASM specific errors. And the issue there is that the WASM tooling doesn't use the linker version that the rest of the repo uses. And instead, the WASM tooling uses the linker version that comes with the SDK. In the update to preview5 (#55283), the failure wasn't a "new linker" issue, but instead was a "new SDK" issue. The new SDK defaulted MSBuild properties differently, which caused our tests to fail. We can't catch those kinds of errors without trying to update to the new SDK. |
@eerhardt thanks for clarifying.
Should we fix that to use the same version that other parts of the repo use? |
I think it would make sense |
@eerhardt Could you point to what exactly is using the linker version from the SDK? |
The WASM tests that have been failing in this PR (i.e. the failures that prompted #56306 and #56392) are using the linker version from the SDK. That's why the tests are suddenly failing when we update the SDK from preview5 to preview6 in this PR - because they are now using the new linker, which has more rules in preview6 than in preview5. If those tests were using the linker version that gets updated daily (see the PRs that change this line), they would have already been failing. You can find out which linker version is being used by building the tests with |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good. But we usually wait for an "infrastructure rollout" to update the SDK. Is this going to be part of one? Or are we going to do a "one off" here?
Yeah it’s part of August rollout so will merge next week |
…-optimization dotnet/arcade dotnet/xharness dotnet/roslyn-analyzers dotnet/emsdk (#56211) * Update dependencies from https://github.com/dotnet/xharness build 20210722.1 Microsoft.DotNet.XHarness.CLI , Microsoft.DotNet.XHarness.TestRunners.Xunit From Version 1.0.0-prerelease.21370.1 -> To Version 1.0.0-prerelease.21372.1 * Update dependencies from https://github.com/dotnet/arcade build 20210723.11 Microsoft.DotNet.XUnitExtensions , Microsoft.DotNet.VersionTools.Tasks , Microsoft.DotNet.Build.Tasks.Workloads , Microsoft.DotNet.Build.Tasks.TargetFramework.Sdk , Microsoft.DotNet.Build.Tasks.Packaging , Microsoft.DotNet.Build.Tasks.Installers , Microsoft.DotNet.Build.Tasks.Feed , Microsoft.DotNet.Build.Tasks.Archives , Microsoft.DotNet.Arcade.Sdk , Microsoft.DotNet.ApiCompat , Microsoft.DotNet.CodeAnalysis , Microsoft.DotNet.XUnitConsoleRunner , Microsoft.DotNet.GenFacades , Microsoft.DotNet.GenAPI , Microsoft.DotNet.RemoteExecutor , Microsoft.DotNet.PackageTesting , Microsoft.DotNet.Helix.Sdk , Microsoft.DotNet.SharedFramework.Sdk From Version 6.0.0-beta.21370.12 -> To Version 6.0.0-beta.21373.11 * Update dependencies from https://github.com/dotnet/xharness build 20210723.1 Microsoft.DotNet.XHarness.CLI , Microsoft.DotNet.XHarness.TestRunners.Xunit From Version 1.0.0-prerelease.21370.1 -> To Version 1.0.0-prerelease.21373.1 * Update dependencies from https://github.com/dotnet/roslyn-analyzers build 20210723.2 Microsoft.CodeAnalysis.NetAnalyzers From Version 6.0.0-rc1.21366.2 -> To Version 6.0.0-rc1.21373.2 * Update dependencies from https://dev.azure.com/dnceng/internal/_git/dotnet-optimization build 20210724.3 optimization.linux-x64.MIBC.Runtime , optimization.windows_nt-x64.MIBC.Runtime , optimization.windows_nt-x86.MIBC.Runtime , optimization.PGO.CoreCLR From Version 1.0.0-prerelease.21371.3 -> To Version 1.0.0-prerelease.21374.3 * Update dependencies from https://github.com/dotnet/roslyn-analyzers build 20210725.2 Microsoft.CodeAnalysis.NetAnalyzers From Version 6.0.0-rc1.21366.2 -> To Version 6.0.0-rc1.21375.2 * Revert SDK bump It will be done in #56161 * Update dependencies from https://github.com/dotnet/runtime build 20210725.2 Microsoft.NETCore.DotNetHost , Microsoft.NETCore.DotNetHostPolicy , Microsoft.NETCore.ILAsm , runtime.native.System.IO.Ports , Microsoft.NET.Sdk.IL , System.Text.Json , System.Runtime.CompilerServices.Unsafe From Version 6.0.0-rc.1.21369.2 -> To Version 6.0.0-rc.1.21375.2 * Update dependencies from https://github.com/dotnet/arcade build 20210723.11 Microsoft.DotNet.XUnitExtensions , Microsoft.DotNet.VersionTools.Tasks , Microsoft.DotNet.Build.Tasks.Workloads , Microsoft.DotNet.Build.Tasks.TargetFramework.Sdk , Microsoft.DotNet.Build.Tasks.Packaging , Microsoft.DotNet.Build.Tasks.Installers , Microsoft.DotNet.Build.Tasks.Feed , Microsoft.DotNet.Build.Tasks.Archives , Microsoft.DotNet.Arcade.Sdk , Microsoft.DotNet.ApiCompat , Microsoft.DotNet.CodeAnalysis , Microsoft.DotNet.XUnitConsoleRunner , Microsoft.DotNet.GenFacades , Microsoft.DotNet.GenAPI , Microsoft.DotNet.RemoteExecutor , Microsoft.DotNet.PackageTesting , Microsoft.DotNet.Helix.Sdk , Microsoft.DotNet.SharedFramework.Sdk From Version 6.0.0-beta.21370.12 -> To Version 6.0.0-beta.21373.11 * Revert SDK bump * Update dependencies from https://github.com/dotnet/emsdk build 20210726.1 Microsoft.NET.Workload.Emscripten.Manifest-6.0.100 From Version 6.0.0-rc.1.21369.1 -> To Version 6.0.0-rc.1.21376.1 * Update dependencies from https://github.com/dotnet/emsdk build 20210726.4 Microsoft.NET.Workload.Emscripten.Manifest-6.0.100 From Version 6.0.0-rc.1.21369.1 -> To Version 6.0.0-rc.1.21376.4 Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> Co-authored-by: Alexander Köplinger <[email protected]>
Which builds on the CI are we talking about? We have one that runs library tests, EAT, AOT, WasmBuildTests, runtime tests, in the runtime pipeline.
Checking the path for the ILLink task should be enough, right? I checked for library tests, example, and that seemed to be using the same version, as one in linux/arm64. |
Closing the loop here - the WASM errors that originally failed this PR:
were previously suppressed in the SDK in preview5. With https://github.com/dotnet/sdk/pull/17676/files#diff-63c4b1605cd7cef177bfd11abd51ab525581c9076caf29a69bce547b8c72b72cR228, we changed the SDK to no longer suppress the So my comment above
was incorrect. It uses the right linker version. But it was a change in the SDK (removing a suppression) that caused this to show up. |
Need to update the sdk to preview6, since it has a arm64 bug fix which is causing many intermittent failures on osx-arm64 legs.
Fixes #56161