-
Notifications
You must be signed in to change notification settings - Fork 387
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
VS deadlocked during up-to-date check #2474
Comments
@srivatsn Put this in 15.3 as this a new path just introduced and probably related to the update-to-date. |
I had a quick look at the code (not the dump - as I can't donwload it) nothing obvious - except maybe the options check, does that call back into the UI thread? Maybe that's not proceeding? |
Wait... where is the dump file? |
But, yes, the options check does switch to the main thread to call the settings manager. But I don't think the main thread blocks on up to date checks, so I'm not sure where the block might be. |
Here is the dump file (when VS was hung, I attached another VS and saved the dump): https://www.dropbox.com/s/gq42udarqzcenij/devenv-thread-starvation.dmp?dl=0 |
It's wrapped in an ExecuteSynchronously, so it's definitely blocking, it's only going to let transitions to the UI thread that it thinks are part of the same chain. |
This was on a local built project system instance, is it possible to get the symbols for it so we can see where we were in the up to date check when we hung? Or is there some trick to figure that out? |
I'm not sure. Assuming that project system is built with determinism, you should be able to get to the same state by building from your PR on FUTD check for ref assemblies (#2414). |
This is https://devdiv.visualstudio.com/DefaultCollection/DevDiv/_workitems?id=455018. The problem is that we used to have CPS wait for critical tasks to finish before calling the up to date check, and this would block the UI thread if a critical task didn't finish or took a long time. This was fixed in PR #2453. |
Thanks! |
@jcouv attempted to build and VS appears to have deadlocked during up-to-date check.
Threads overview:
Dump is on [jcouv's dev box]\shared-dumps\devenv-thread-starvation.dmp
The text was updated successfully, but these errors were encountered: