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

[HttpStress] [SslStress] Windows stress builds are broken #95750

Closed
antonfirsov opened this issue Dec 7, 2023 · 12 comments · Fixed by #100145
Closed

[HttpStress] [SslStress] Windows stress builds are broken #95750

antonfirsov opened this issue Dec 7, 2023 · 12 comments · Fixed by #100145
Assignees
Labels
area-System.Net in-pr There is an active PR which will close this issue when it is merged
Milestone

Comments

@antonfirsov
Copy link
Member

antonfirsov commented Dec 7, 2023

2023-12-07T13:23:15.1583259Z   D:\a\_work\1\s\src\native\corehost\test\ijw\ijw.cpp(22): error C3611: 'System::Numerics::INumberBase::System::IUtf8SpanFormattable.TryFormat': a sealed function cannot have a pure-specifier

The failures started on the 17th of November, across all branches, which indicates an image change might have triggered this, we should do a comparison similar to #82528 (comment).

Edit: links to the pipelines

The failing build that runs outside of docker:

& "$REPO_ROOT_DIR/build.cmd" clr+libs -ci -rc release -c $configuration

@antonfirsov antonfirsov added this to the 9.0.0 milestone Dec 7, 2023
@antonfirsov antonfirsov self-assigned this Dec 7, 2023
@ghost
Copy link

ghost commented Dec 7, 2023

Tagging subscribers to this area: @dotnet/ncl
See info in area-owners.md if you want to be subscribed.

Issue Details
2023-12-07T13:23:15.1583259Z   D:\a\_work\1\s\src\native\corehost\test\ijw\ijw.cpp(22): error C3611: 'System::Numerics::INumberBase::System::IUtf8SpanFormattable.TryFormat': a sealed function cannot have a pure-specifier

The failures started on the 17th of November, across all branches, which indicates an image change might have triggered this, we should do a comparison similar to #82528 (comment).

Author: antonfirsov
Assignees: antonfirsov
Labels:

area-System.Net

Milestone: 9.0.0

@rzikm
Copy link
Member

rzikm commented Dec 8, 2023

I encountered this on my dev machine. The VS installation needs to be updated, see #94998 (comment)

@antonfirsov
Copy link
Member Author

This is weird, the Initialize job phase logs that

Image: windows-2022
Version: 20231126.1.0
Included Software: https:/actions/runner-images/blob/win22/20231126.1/images/windows/Windows2022-Readme.md

and according to the linked image spec the Visual Studio version is 17.8.34316.72, which should contain the fixed 14.38 C++ runtime tools according to #94998 (comment).

@dotnet/dnceng can you please assist diagnosing this?

@rzikm
Copy link
Member

rzikm commented Mar 19, 2024

The image seems to contain the right msvc version, but the build script for some reason does not choose the latest toolchain

Dumping present MSVC versions


    Directory: C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC


Mode                 LastWriteTime         Length Name                                                                 
----                 -------------         ------ ----                                                                 
d-----          2/4/2024  10:26 PM                14.16.27023                                                          
d-----          2/4/2024  10:27 PM                14.29.30133                                                          
d-----          2/4/2024  10:31 PM                14.37.32822                                                          
d-----          2/4/2024  10:09 PM                14.38.33130                        
 -- The CXX compiler identification is MSVC 19.37.32826.1

@antonfirsov
Copy link
Member Author

I wonder what will happen if you manually delete the <=14.37.32822 directories?

@rzikm
Copy link
Member

rzikm commented Mar 19, 2024

I wonder what will happen if you manually delete the <=14.37.32822 directories?

then it tries to use GCC 🤦

https://dev.azure.com/dnceng-public/public/_build/results?buildId=608756&view=logs&j=0bc77094-9fcd-5c38-f6e4-27d2ae131589&t=4fd93899-d50b-5dc1-f9eb-66ab1b883c22&l=704

@rzikm
Copy link
Member

rzikm commented Mar 19, 2024

Okay, I think I have spent enough time on this and am just trying at random, I think we need help from @dotnet/dnceng to debug this. Can you please take a look?

@markwilkie
Copy link
Member

@rzikm - what are you hoping dnceng can help with more specifically?

@rzikm
Copy link
Member

rzikm commented Mar 20, 2024

we are running the sslstress pipeline on 1es-windows-2022-open images, as such, we need first to build the .NET runtime and then build the stress application against it and run it in docker.

Since November, the build has been failing due to #94998, the fix for that was supposed to be updating Visual Studio installation.

According to the list of included software of the image, the new toolchain is installed and seems to shows up in the relevant directories

    Directory: C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC


Mode                 LastWriteTime         Length Name                                                                 
----                 -------------         ------ ----                                                                 
d-----          2/4/2024  10:26 PM                14.16.27023                                                          
d-----          2/4/2024  10:27 PM                14.29.30133                                                          
d-----          2/4/2024  10:31 PM                14.37.32822                                                          
d-----          2/4/2024  10:09 PM                14.38.33130                        

However, the build still ends up using the older toolchain, and thus failing to build

 -- The CXX compiler identification is MSVC 19.37.32826.1

The failing step is simply building the SDK docker image via the build-docker-sdk.ps1 -w ....

@rzikm - what are you hoping dnceng can help with more specifically?

We are hoping that dnceng would help us get the build to work, since we are using the "official" script to build the image.

(note that the .net runtime is being built on the host, not inside docker image due to #700)

@markwilkie
Copy link
Member

You had a chance to check out https:/dotnet/arcade/blob/main/Documentation/ArcadeSdk.md ? It might shed more light on why your build is picking up the wrong toolchain.

@antonfirsov
Copy link
Member Author

@markwilkie this seems to be a bug in the build infra that can be reproduced with a very simple yaml, opened #100046.

@dotnet-policy-service dotnet-policy-service bot added the in-pr There is an active PR which will close this issue when it is merged label Mar 22, 2024
@github-actions github-actions bot locked and limited conversation to collaborators Apr 24, 2024
@karelz
Copy link
Member

karelz commented Jun 24, 2024

Fixed in main (9.0) in PR #100145 and in 8.0.x in PR #100303.

@karelz karelz modified the milestones: 9.0.0, 8.0.x Jun 24, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
area-System.Net in-pr There is an active PR which will close this issue when it is merged
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants