-
Notifications
You must be signed in to change notification settings - Fork 133
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
Building roslyn in the VMR fails non-deterministically #4390
Comments
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. |
I only see one binlog attached to that pipeline and it's for the outer build. The inner builds only seem to have non-binary logs. Am I looking in the wrong place? |
Yes. It's the "source-inner-build.binlog". |
I've looked at the binlog and it does seem like there are two paths to building SemnaticSearch.ReferenceAsesmblies.csproj At the same time though ... I don't see how that is a build authoring error on our part. There is nothing particularly special I can see here. The relationship between Roslyn.VisualStudio.Setup.csproj to SemanticSearch.ReferenceAssemblies.csproj is a simple ProjectReference. It does seem odd that Microsoft.VisualStudio.LanguageServices.New.IntegrationTests.csproj has a .metaproj. That's beyond my understanding of msbuild. |
I see that the csc task is invoked twice non-incrementally on the non-multi-targeting project via this msbuild binlog viewer query:
Here's the global property diff for those two project evaluations: https://www.diffchecker.com/YbB9Ksu0/ One evaluation has an additional Remove |
We need to enable these analyzers for all our repos asap. |
They don't exist yet, but @JanKrivanek will be happy to have eager customers when they do. |
In this case it looks like the problem is that |
* Stop overbuilding SemanticSearch.ReferenceAssemblies Fixes dotnet/source-build#4390 * Update Roslyn.VisualStudio.Setup.csproj * Update Roslyn.VisualStudio.Setup.csproj
A |
Fixes #9881 ### Context We believe there is value in flagging cases where the same file is written by more than one task during a build. dotnet/source-build#4390 is an example of a recent hard-to-diagnose build issue that could have been prevented by this analyzer. ### Changes Made This PR adds a new built-in analyzer and makes a few supporting changes. ### Testing - Existing and new unit tests. - Built a few larger repos with the analyzer enabled. ### Notes The changes contain a fix/workaround for #10176.
Sometimes roslyn fails to build in the VMR because of a race condition:
Example build: https://dev.azure.com/dnceng-public/public/_build/results?buildId=669255&view=logs&jobId=9050e078-31bf-5111-d8ec-8b6fa95caf9c&j=9050e078-31bf-5111-d8ec-8b6fa95caf9c&t=523d8a07-ca4d-5c7a-367a-d86c5fc4038b
This is probably due to the project being built twice with the same outputs (an anti-pattern in msbuild). The binlog should tell. @jaredpar who would be a good person on the roslyn team to take a look?
The text was updated successfully, but these errors were encountered: