Skip to content

Prevent contention between CancelAllSubmissions and EndBuild#10744

Closed
JanKrivanek wants to merge 22 commits intovs17.12from
proto/fix-solution-hang
Closed

Prevent contention between CancelAllSubmissions and EndBuild#10744
JanKrivanek wants to merge 22 commits intovs17.12from
proto/fix-solution-hang

Conversation

@JanKrivanek
Copy link
Member

@JanKrivanek JanKrivanek commented Oct 2, 2024

Fixes #10709

Context

VS hangs during solution close - turns out to be caused by hang in BuildManager.EndBuild
There are almost 3k over 4k (and counting) cases hit in wild on 17.11 (details)

It turns out to be a contention between CancelAllSubmissions and EndBuild (for the state of _buildManagerState) - more details in the bug: #10709 (comment)

Changes Made

CancelAllSubmissions is allowed to be executed even if EndBuild was initiated

JaynieBai and others added 22 commits September 23, 2024 07:52
* Enable test ProjectItemSpecTooLong

* Get full path

* Get the rootlength from tempProject

* Update the test exception

* Update the test description

* Update test description

* Update WindowsFileSystem.FileExists

* revert test description

* Adds all assembly redirects to the config file
…: Build ID 10262578 (#10685)

* Localized file check-in by OneLocBuild Task: Build definition ID 9434: Build ID 10262578

* Localized file check-in by OneLocBuild Task: Build definition ID 9434: Build ID 10262578
…0688)

* Update dependencies from https://github.com/dotnet/roslyn build 20240920.11

Microsoft.SourceBuild.Intermediate.roslyn , Microsoft.Net.Compilers.Toolset
 From Version 4.12.0-3.24463.9 -> To Version 4.12.0-3.24470.11

* Update dependencies from https://github.com/nuget/nuget.client build 6.12.0.112

NuGet.Build.Tasks
 From Version 6.12.0-rc.106 -> To Version 6.12.0-rc.112

---------

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Part of: #10665

Updating the localization comment so changes do not get merged automatically.
Part of: #10665

Updating branch flow from 17.11 -> 17.12 -> main.
* remove DesignTime restriction

* add msbuildruntimetype condition
* Fix setting ProjectMetadataElement.Name

* Fix xmldoc

Co-authored-by: YuliiaKovalova <95473390+YuliiaKovalova@users.noreply.github.com>
Co-authored-by: YuliiaKovalova <ykovalova@microsoft.com>
…0730)

* Update dependencies from https://github.com/dotnet/roslyn build 20240929.1

Microsoft.SourceBuild.Intermediate.roslyn , Microsoft.Net.Compilers.Toolset
 From Version 4.12.0-3.24470.11 -> To Version 4.12.0-3.24479.1

* Update dependencies from https://github.com/nuget/nuget.client build 6.12.0.120

NuGet.Build.Tasks
 From Version 6.12.0-rc.112 -> To Version 6.12.0-rc.120

---------

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
…923.1 (#10731)

Microsoft.SourceBuild.Intermediate.arcade , Microsoft.DotNet.Arcade.Sdk , Microsoft.DotNet.XliffTasks , Microsoft.DotNet.XUnitExtensions
 From Version 9.0.0-beta.24466.2 -> To Version 9.0.0-beta.24473.1

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
* Use SequenceEqual in win32 GetFullPath

This should be slightly more efficient since it's vectorizable.

* fixup! Use SequenceEqual in win32 GetFullPath
The doc comment mentioned that the parameterless
constructor existed only for COM but it was still
easy to find, causing problems like #10660. Hide
it from IDE completion and extend the comment.
* Separated release checklist into sections

* Added more check for DARC channel subscriptions

* Update documentation/release-checklist.md

Co-authored-by: Rainer Sigwald <raines@microsoft.com>

---------

Co-authored-by: YuliiaKovalova <95473390+YuliiaKovalova@users.noreply.github.com>
Co-authored-by: Rainer Sigwald <raines@microsoft.com>
@JanKrivanek JanKrivanek force-pushed the proto/fix-solution-hang branch from 8e225d9 to a7cbaae Compare October 2, 2024 16:51
@JanKrivanek JanKrivanek changed the base branch from main to vs17.12 October 2, 2024 17:42
@JanKrivanek JanKrivanek requested a review from a team as a code owner October 2, 2024 17:42
@JanKrivanek
Copy link
Member Author

superseded by #10745

@JanKrivanek JanKrivanek closed this Oct 2, 2024
@ViktorHofer ViktorHofer deleted the proto/fix-solution-hang branch December 1, 2025 16:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

17.11 VS hang in EndBuild

7 participants