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

SBE failing due to use of preview version of .NET #4527

Closed
ellahathaway opened this issue Jul 25, 2024 · 9 comments
Closed

SBE failing due to use of preview version of .NET #4527

ellahathaway opened this issue Jul 25, 2024 · 9 comments
Assignees
Labels
area-upstream-fix Needs a change in a contributing repo ops-monitor Issues created/handled by the source build monitor role

Comments

@ellahathaway
Copy link
Member

This PR build targeting preview7 failed with the following error while building source build externals:

/vmr/.dotnet/sdk/9.0.100-preview.7.24357.2/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.RuntimeIdentifierInference.targets(326,5): message NETSDK1057: You are using a preview version of .NET. See: https://aka.ms/dotnet-support-policy [/vmr/src/source-build-externals/artifacts/sb/src/src/spectre-console/src/Spectre.Console/Spectre.Console.csproj::TargetFramework=net9.0]
      /vmr/.dotnet/sdk/9.0.100-preview.7.24357.2/Roslyn/Microsoft.CSharp.Core.targets(89,5): error MSB6006: "csc.dll" exited with code 139. [/vmr/src/source-build-externals/artifacts/sb/src/src/spectre-console/src/Spectre.Console/Spectre.Console.csproj::TargetFramework=net9.0]
Copy link

I couldn't figure out the best area label to add to this issue. If you have write-permissions please help me learn by adding exactly one area label.

Copy link

I couldn't figure out the best area label to add to this issue. If you have write-permissions please help me learn by adding exactly one area label.

@ellahathaway ellahathaway added ops-monitor Issues created/handled by the source build monitor role and removed untriaged labels Jul 25, 2024
@ellahathaway ellahathaway changed the title Microsoft.NET.RuntimeIdentifierInference.targets failing due to use of preview version of .NET SBE failing due to use of preview version of .NET Jul 25, 2024
@ellahathaway
Copy link
Member Author

https://github.com/dotnet/dotnet/blob/76d842118ea686c6d31a842a392d53a4680b2f91/Directory.Build.props#L125 is set, investigating why it didn't propagate/maybe got overridden.

@MichaelSimons MichaelSimons moved this from Backlog to In Progress in .NET Source Build Jul 25, 2024
@MichaelSimons MichaelSimons added area-upstream-fix Needs a change in a contributing repo and removed untriaged labels Jul 25, 2024
@ellahathaway
Copy link
Member Author

I retried this build and it passed. Based on the error message, the build should have failed.

I also looked through the SBE binlog, and SuppressNETCoreSdkPreviewMessage is set to true for the specre-console project. This leads me to believe that the error is not actually related to us using a preview version of .NET. It's possible that this was caused by a race condition of sorts or an issue with the build agents.

@MichaelSimons - do you have any thoughts on this?

@MichaelSimons
Copy link
Member

I don't think the build failure was caused by the preview SDK usage and the passing retry support this. Look at the inner binlog for the spectre.console project that failed. It has the following failure reported - CompilerServer: server failed - server rejected the request 'Compilation not allowed at this time' - Spectre.Console (net9.0)

@ellahathaway
Copy link
Member Author

I don't think the build failure was caused by the preview SDK usage and the passing retry support this. Look at the inner binlog for the spectre.console project that failed. It has the following failure reported - CompilerServer: server failed - server rejected the request 'Compilation not allowed at this time' - Spectre.Console (net9.0)

Ah thanks! I missed that inner binlog. It looks like an issue with the tooling then.

cc @dotnet/roslyn

@jaredpar
Copy link
Member

I suspect this is another manifestation of dotnet/dnceng#3305

There are two interesting parts in the binlog.

CompilerServer: server failed - server rejected the request 'Compilation not allowed at this time' - Spectre.Console (net9.0)

That message is given when a compilation request occurs while the compiler server is shutting down. That is not necessarily an error. The server could be timing out from lack of requests when this happens. Typically though when I see this I grep the binlog for $message Compiler Server: and see if there is an earlier compilation that had a real error that brought down the server. In this case there is only csc call so that is not the case. Most likely a graceful shutdown race from an earilier build on same machine.

/vmr/.dotnet/sdk/9.0.100-preview.7.24357.2/Roslyn/Microsoft.CSharp.Core.targets(89,5): error MSB6006: "csc.dll" exited with code 139. [/vmr/src/source-build-externals/artifacts/sb/src/src/spectre-console/src/Spectre.Console/Spectre.Console.csproj]

That is just a straight up compiler crash. Once the server rejected the request it fell back to direct invoke of csc.dll and that crashed. Unfortunately Linux doesn't always put a call stack in the build file so we can't see what is happening. But given that one manifestation of dnceng 3305 is a straight crash we should likely wait for that investigation to resolve.

@ellahathaway
Copy link
Member Author

@jaredpar - Thanks for the in depth explanation! It sounds like this is likely caused by dotnet/dnceng#3305, so I'm going to close this issue in favor of dotnet/dnceng#3305.

@github-project-automation github-project-automation bot moved this from In Progress to Done in .NET Source Build Jul 25, 2024
@jaredpar
Copy link
Member

Note: may also be dotnet/runtime#104123

There are two investigations on going right now which have this symptom.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area-upstream-fix Needs a change in a contributing repo ops-monitor Issues created/handled by the source build monitor role
Projects
Archived in project
Development

No branches or pull requests

3 participants