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
Azure Devops pipelines crashing in MSBuild logger, as of 5/25 VS2019 image #6498
Comments
This issue was moved to microsoft/azure-pipelines-tasks#14904 |
I think this is a regression caused by #6287. In this case there's a binary logger and a third-party logger attached, and the third-party logger looks through Specifically I think this logic is not as backward-compatible as hoped: msbuild/src/Build/BackEnd/Components/Logging/LoggingService.cs Lines 511 to 519 in 2fd48ab
We want to turn that on if only enlightened loggers are attached, not if any enlightened logger is attached. |
Workaround 1 (tested):Use the VSBuild task parameter Workaround 2 (please report if this works)Set the environment variable |
ProjectStartedEventArgs.Properties could be null even in 16.9, if the project built in a worker node. I’m guessing their logger was always buggy but happened to work for single-process builds. |
What is the other logger (MSBuild.Logger) and how do I test it and where is the source? |
Hmm, so should we change that .Any to .All? |
Also should we initialize ProjectStartedEventArgs.Properties to an empty array instead of being null? Or will this only mask other failures because loggers might rely on a certain property being there? |
It's internal and the source is . . . a long story. I was grousing about it in our Teams channel.
I think so, plus opt the text loggers into the new behavior so the standard console logger +
I think this is a good mitigation. I'd be shocked if there were loggers that depended on a particular property being set in all projects (but of course I've been surprised before . . .) |
Fix attempt in #6514 I'm guessing if unenlightened, but well-behaved loggers are co-present with binlog, this will revert to the legacy behavior silently. This will increase binlog sizes. I suppose it's OK and we should drive logger authors to opt-in to the new behavior slowly - fortunately there aren't really that many loggers floating around, but I imagine each CI provider would have one, and many tool vendors such as JetBrains. No idea how to communicate this other than ad-hoc on Twitter. |
Visual Studio 16.10.2 has been released and will be picked up by Azure DevOps/GitHub Actions hosted images shortly. |
Beginning on 5/25, a stage of the WinUI build which executes on hosted VS2019 agents, began failing intermittently with the stack below. Subsequent runs of the pipeline produce different combinations of success/failure.
The text was updated successfully, but these errors were encountered: