-
Notifications
You must be signed in to change notification settings - Fork 1.5k
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
zombie processes holding a lock on the browse database #4508
Comments
We're not able to repro this and haven't heard of any other users hitting this yet so we need more repro info. What does Find All References show? Does doing a Reset IntelliSense Database fix it? Does hovering over a 0 show (int)0? |
@sean-mcmanus Because in the morning, I saw this error I did Because vscode is running inside company's working vm and then compiling is also happening in this vm. When compiling is running, almost all CPU and memory are used. And then at that time, |
I can confirm this: IntelliSense stopped working for me, and it was caused by old cpptools processes idling, even after VSCode stopped. Killing those processes and starting up VSCode again fixed it. |
@grigorig I agreed with you. The thing is |
@michelleangela @Colengms Are you able to repro the zombie process when switching versions? It isn't reproing for me (on Windows or Linux) -- I see the processes get killed after VS Code reloads with the new extension version. |
Just to confirm, I've had the same symptoms for a week or so – go to definition, find all references, etc. didn't work, even though hovering the mouse over a symbol correctly showed its declared type. The cause was the same: lots of old processes (just sleeping, not true zombies). Killing them all and restarting VSCode fixed the problem, but this was not an obvious fix!
|
@willvousden Yeah, the dangling process is "locking" the database, causing all the database-based operations to fail from new processes. This sounds like something we should investigate/fix (either detecting/killing the old processes or detecting the database failures and falling back to a different/new one). |
I'm not able to repo an issue with 1.1.3 that results in the process lingering in such a way that prevents other processes from accessing the tag parser database For example, if I use both VS Code and VS Code Insiders, I can open the same folder from each. When the second one attempts to reference the tag parser database and fails, it will initialize a new database with ".2" inserted into the same. Unfortunately, this means that it's necessary to rebuild the database for that instance, so IntelliSense operations may not provide complete results until the new database is fully populated. This is by design, to enable 2 active uses of the same folder. We are launching cpptools using a VS Code API (LanguageClient). While we have some options to manage launching/killing cpptools-srv.exe, the cpptools.exe process is managed by VS Code. As explained here, if VS Code is shut down normally, it will wait 5 seconds for a language server process to terminate before forcefully killing it. If this process is lingering after a normal shutdown of VS Code, that would seem to be a VS Code issue. If you are seeing a 'zombie process', it should not be using any memory or holding any files open, as zombie processes do not keep memory or open file handles active. @lsmgeb89 Are you still able to repro an issue related to this? If so, I think we need to investigate why that process is lingering, in order to compose an issue against VS Code failing to kill it. |
@Colengms I can't reproduce it since I am keeping vscode updated. I am not staying on the old version. |
Type: LanguageService
Describe the bug
Version 0.26.1: October 28, 2019
All "Go to Definition" returns "No definition found for ...".
But if my mouse hovers over that function, it will show correct information related to that definition.
I have three project repositories cloned from the same source.
And all config files
c_cpp_properties.json
are the same.But only one has this problem.
Explicit install
Version 0.25.1
fixed the problem andVersion 0.26.0
shows the same broken behavior ofVersion 0.26.1
.To Reproduce
c_cpp_properties.json
dropped sensitive information:Expected behavior
It should jump to the definition of that function.
Screenshots
Additional context
The text was updated successfully, but these errors were encountered: