-
Notifications
You must be signed in to change notification settings - Fork 1.1k
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/windowsdesktop #44922
[main] Update dependencies from dotnet/windowsdesktop #44922
Conversation
…ld 20241118.1 Microsoft.WindowsDesktop.App.Ref , Microsoft.WindowsDesktop.App.Runtime.win-x64 , VS.Redist.Common.WindowsDesktop.SharedFramework.x64.10.0 , VS.Redist.Common.WindowsDesktop.TargetingPack.x64.10.0 From Version 10.0.0-alpha.1.24563.2 -> To Version 10.0.0-alpha.1.24568.1 Dependency coherency updates Microsoft.NET.Sdk.WindowsDesktop,Microsoft.Dotnet.WinForms.ProjectTemplates,Microsoft.DotNet.Wpf.ProjectTemplates From Version 10.0.0-alpha.1.24563.1 -> To Version 10.0.0-alpha.1.24568.1 (parent: Microsoft.WindowsDesktop.App.Ref
Notification for subscribed users from https://github.com/dotnet/windowsdesktop:@dotnet/wpf-developers Action requested: Please take a look at this failing automated dependency-flow pull request's checks; failures may be related to changes which originated in your repo.
|
error:
It seems the error that the directory is unable to be removed is happening consistently. @nagilson, @marcpopMSFT do you have any pointers on how this can be resolved or investigated further? |
cc @JeremyKuhne - something is holding on Windows.Win32.winmd. |
Odd. I'll look. |
Source build is what is failing. It can't clean the packages folder in the artifacts directory after building WPF. I've built both WPF and WinForms locally and the only processes that are touching the file in question are The targets explicitly shut down processes:
And it is supposed to ignore deletion errors:
Here is what I observed in procmon:
We really need an SDK build and I don't know what we can do here. Presumably this wouldn't be happening if the source build was still disabled. #44937 Questions:
|
@dotnet/product-construction can you help unblock here? I've detailed what I've seen above: #44922 (comment) |
Does WPF use an OOB compiler? The shutdown command only works for the non OOB compiler that comes with the SDK.
That unfortunately doesn't work as we also pass -warnAsError in which overrides that setting. Tried to fix this but needs more work: #44434 @JeremyKuhne this started happening with this dependency update so the diff should be dotnet/wpf@cbaeca8...d73dd1d
Not that I know of, no.
Because every repository needs to build in isolation for prebuilt detection. cc @dotnet/source-build |
Probably? How do I check?
Yeah, WPF is now using the CsWin32 source generators as well (where the file in question transitively comes from). Nothing unusual outside of that. |
A binlog should tell. Check the $csc task. |
Yeah, WPF is: C:\Program Files\Microsoft Visual Studio\2022\Preview\MSBuild\Current\Bin\Roslyn\csc.exe Not sure where this comes from, will look later. |
@dotnet/product-construction stuck again. The hack for the source generator depends on building with dotnet. WPF uses VS to build, and it isn't clear to me how to switch it to use dotnet. Need to make the C++ build cmake friendly, I guess? No idea where to begin on that. 🤷🏼♂️ Can we just force kill |
Yes and no. We build other repositories which depend on desktop msbuild and the VS compiler in parallel (i.e. aspnetcore). I think fixing #44434 so that lock errors are ignored when cleaning the repo's artifacts is the better option here. |
I poked around and it doesn't seem like VBCSCompiler has a similar graceful shutdown that works. There is a reference to one here: dotnet/roslyn#7930 but I haven't been able to get it to work. I don't think we can force kill it because it may not be as graceful as dotnet's build server. @jaredpar?
Agreed. If that will take a long time, we maybe could skip cleaning WPF for now? |
> vbcscompiler -shutdown That will shut down all VBCSCompiler spawned from the same file system location using the default pipe name
The VBCSCompiler process is always safe to kill. It is an optimization. The entire build infra expects it to fail / crash / hang. |
Let me try finishing #44434 tomorrow. I think that should be doable. |
I think you could also force the build to use the framework toolset compiler (by setting |
Very useful, thanks for sharing. Two follow-up questions:
|
No, that's not handled; I'm not sure it could be done easily (because it would use
I guess that's possible, but overriding the env var seems simpler. |
@@ -8,7 +8,7 @@ | |||
<BuildArgs>$(BuildArgs) $(FlagParameterPrefix)warnAsError $(ArcadeFalseBoolBuildArg)</BuildArgs> | |||
<!-- TODO setting Platform shouldn't be necesary: https://github.com/dotnet/source-build/issues/4314 --> | |||
<BuildArgs>$(BuildArgs) /p:Platform=$(TargetArchitecture)</BuildArgs> | |||
<BuildArgs>$(BuildArgs) /p:BuildWithNetFrameworkHostedCompiler=false</BuildArgs> | |||
<BuildArgs>$(BuildArgs) /p:BuildWithNetFrameworkHostedCompiler=true</BuildArgs> |
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.
Hm, let's see if this works, I guess there was a reason this was disabled previously.
One reason might be that the toolset compiler was previously downloaded via PackageReference so it didn't work with CPM (but now it uses PackageDownload).
But also in wpf .net framework builds (which generate wpftmp projects), the toolset compiler doesn't work (PackageDownload is broken there). Not sure if that's relevant here.
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.
I guess there was a reason this was disabled previously.
That was before we had the build-server shutdown support for the framework hosted compiler. CI green so thinks look good.
Posted a related question dotnet/msbuild#11010. I'm guessing it is not by design and some sort of issue in msbuild->buildxl integration or issue in https://github.com/microsoft/BuildXL itself, but lets see. Update: |
This pull request updates the following dependencies
Coherency Updates
The following updates ensure that dependencies with a CoherentParentDependency
attribute were produced in a build used as input to the parent dependency's build.
See Dependency Description Format
From https://github.com/dotnet/windowsdesktop