-
Notifications
You must be signed in to change notification settings - Fork 4k
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
Upgrade to .NET 7 P6 SDK #63062
Upgrade to .NET 7 P6 SDK #63062
Conversation
@dotnet/roslyn-compiler could I get some assistance with the compiler server errors in the correctness build?
There's also consistent tests in CompoundAssignment.vb failing (all for Bug1021941) on all CI legs, which I plan to disable |
@chsienki looks like the compiler server failures might be source generator related?
|
@dibarbet Interesting, that assert is called when we're passing the same type of generator to the driver multiple times, which usually indicates a test authoring issue. I guess some generator tests got introduced? Though I don't see how main isn't failing in that case? |
This PR updates the SDK meaning the compiler toolset is updated to whatever shipped in Preview 6. How old is this assert? |
Not familiar at all with the area - could the new preview sdk be adding a duplicate generator? Note that this is failing in the correctness build, so I don't think tests apply here? |
Yeah, this is very weird. Looking at the correctness builds its not failing on the same projects either, which suggests something else strange is going on. In theory, outside of tests, you shouldn't be able to hit this assert, because the analyzer loader will only return a single type of each generator / analyzer. We have the assert (and have done so for multiple years) to check that invariant isn't being broken in tests (and thus testing something that shouldn't be possible). Clearly that assertion is not holding for some reason, my guess being something in the analyzer loader has changed meaning we're now somehow creating multiple instances of a single type? Do we know which compiler commit we're updating from and to? |
Ugh, hang on, this is even more confusing. Its not at the initial construction that it's failing, but after the generators have run and we've modified the state. That suggests we're somehow incorrectly modifying the generator state. And given that its happening on different projects, that possibly its a race condition we've exposed via the new SDK. Bleurgh. I'll keep digging. |
It sounds like it may not be relevant, but FWIW we have seen cases where the same generator gets passed multiple times during the build and weird things happen. #62610 |
That was my first thought too but last night I took a look at the binlog and didn't see any generator obviously being passed twice. Possible it's more subtle than I realize but at a glance this wasn't the issue. |
Per conversation with @chsienki and @vatsalyaagrawal we will be disabling the tests for CompoundAssignment.Bug1021941 which consistently fail on .net7p6 so that we can fix the scouting queue and merge the -vs-deps branches back into main. |
@chsienki for review on the compiler test changes |
planning on merging Monday (just sent a reminder email) |
❤️ |
Upgrade to .NET 7 P6 SDK
Running this through scouting queue to see if it fixes failures we're seeing