-
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
The language server crashes for large number of files #11226
Comments
@MightTower Also as an FYI, the owner of the configuration provider |
@michelleangela Does it only crash for a specific project, or does it call crash for any project such as a folder with a one simple source file? Thanks for the hint with cmake, I updated it to the newest release version now. |
This particular crash stack had been reported (outside of GitHub) and has been fixed. Using this issue to track the fix in 1.17.0. I believe the cause is related to parsing directories containing a very large number of files, in case that might suggest any potential work-arounds. |
Fix available in pre-release https://github.com/microsoft/vscode-cpptools/releases/tag/v1.17.0. |
Fixed in release version https://github.com/microsoft/vscode-cpptools/releases/tag/v1.17.2. |
@MightTower |
With the pre-release it worked, I have just installed 1.17.2 and it seems the issue is fixed here as well. |
Environment
Bug Summary and Steps to Reproduce
Bug Summary:
As soon as I open VSCode and open a cpp file I get the warning "The language server crashed. Restarting..." after some delay and after that "The language server crashed 5 times in the last 3 minutes. It will not be restarted.".
If I attach a debugger I get a "Stack overflow exception" and 5000 times "cpptools.exe!std::_Ref_count_obj2::_Destroy(void) (Unknown Source:0)" in the callstack.
I tried to reinstall the extension and VSCode completely.
Steps to reproduce:
Expected behavior:
The extension works and does not crash
Configuration and Logs
Other Extensions
Some but even if I disable them all, the behavior does not change.
Additional context
cpptools.exe!std::_Ref_count_obj2::_Destroy(void) (Unknown Source:0)
cpptools.exe!std::_Ref_count_obj2::_Destroy(void) (Unknown Source:0)
cpptools.exe!std::_Ref_count_obj2::_Destroy(void) (Unknown Source:0)
cpptools.exe!std::_Ref_count_obj2::_Destroy(void) (Unknown Source:0)
cpptools.exe!std::_Ref_count_obj2::_Destroy(void) (Unknown Source:0)
cpptools.exe!std::_Ref_count_obj2::_Destroy(void) (Unknown Source:0)
cpptools.exe!std::_Ref_count_obj2::_Destroy(void) (Unknown Source:0)
cpptools.exe!std::_Ref_count_obj2::_Destroy(void) (Unknown Source:0)
cpptools.exe!std::_Ref_count_obj2::_Destroy(void) (Unknown Source:0)
cpptools.exe!std::_Ref_count_obj2::_Destroy(void) (Unknown Source:0)
cpptools.exe!std::_Ref_count_obj2::_Destroy(void) (Unknown Source:0)
cpptools.exe!std::_Ref_count_obj2::_Destroy(void) (Unknown Source:0)
cpptools.exe!std::_Ref_count_obj2::_Destroy(void) (Unknown Source:0)
cpptools.exe!std::_Ref_count_obj2::_Destroy(void) (Unknown Source:0)
cpptools.exe!std::_Ref_count_obj2::_Destroy(void) (Unknown Source:0)
cpptools.exe!std::_Ref_count_obj2::_Destroy(void) (Unknown Source:0)
cpptools.exe!std::_Ref_count_obj2::_Destroy(void) (Unknown Source:0)
cpptools.exe!std::_Ref_count_obj2::_Destroy(void) (Unknown Source:0)
cpptools.exe!std::_Ref_count_obj2::_Destroy(void) (Unknown Source:0)
cpptools.exe!std::_Ref_count_obj2::_Destroy(void) (Unknown Source:0)
cpptools.exe!std::_Ref_count_obj2::_Destroy(void) (Unknown Source:0)
cpptools.exe!std::_Ref_count_obj2::_Destroy(void) (Unknown Source:0)
cpptools.exe!std::_Ref_count_obj2::_Destroy(void) (Unknown Source:0)
cpptools.exe!std::_Ref_count_obj2::_Destroy(void) (Unknown Source:0)
cpptools.exe!std::_Ref_count_obj2::_Destroy(void) (Unknown Source:0)
cpptools.exe!std::_Ref_count_obj2::_Destroy(void) (Unknown Source:0)
cpptools.exe!std::_Ref_count_obj2::_Destroy(void) (Unknown Source:0)
cpptools.exe!std::_Ref_count_obj2::_Destroy(void) (Unknown Source:0)
cpptools.exe!std::_Ref_count_obj2::_Destroy(void) (Unknown Source:0)
cpptools.exe!std::_Ref_count_obj2::_Destroy(void) (Unknown Source:0)
cpptools.exe!std::_Ref_count_obj2::_Destroy(void) (Unknown Source:0)
cpptools.exe!std::_Ref_count_obj2::_Destroy(void) (Unknown Source:0)
cpptools.exe!std::_Ref_count_obj2::_Destroy(void) (Unknown Source:0)
cpptools.exe!std::_Ref_count_obj2::_Destroy(void) (Unknown Source:0)
cpptools.exe!std::_Ref_count_obj2::_Destroy(void) (Unknown Source:0)
cpptools.exe!std::_Ref_count_obj2::_Destroy(void) (Unknown Source:0)
cpptools.exe!std::_Ref_count_obj2::_Destroy(void) (Unknown Source:0)
cpptools.exe!std::_Ref_count_obj2::_Destroy(void) (Unknown Source:0)
cpptools.exe!std::_Ref_count_obj2::_Destroy(void) (Unknown Source:0)
cpptools.exe!std::_Ref_count_obj2::_Destroy(void) (Unknown Source:0)
cpptools.exe!std::_Ref_count_obj2::_Destroy(void) (Unknown Source:0)
cpptools.exe!std::_Ref_count_obj2::_Destroy(void) (Unknown Source:0)
cpptools.exe!std::_Ref_count_obj2::_Destroy(void) (Unknown Source:0)
cpptools.exe!std::_Ref_count_obj2::_Destroy(void) (Unknown Source:0)
cpptools.exe!std::_Ref_count_obj2::_Destroy(void) (Unknown Source:0)
cpptools.exe!std::_Ref_count_obj2::_Destroy(void) (Unknown Source:0)
cpptools.exe!std::_Ref_count_obj2::_Destroy(void) (Unknown Source:0)
cpptools.exe!std::_Ref_count_obj2::_Destroy(void) (Unknown Source:0)
cpptools.exe!std::_Ref_count_obj2::_Destroy(void) (Unknown Source:0)
cpptools.exe!std::_Ref_count_obj2::_Destroy(void) (Unknown Source:0)
cpptools.exe!std::_Ref_count_obj2::_Destroy(void) (Unknown Source:0)
cpptools.exe!std::_Ref_count_obj2::_Destroy(void) (Unknown Source:0)
cpptools.exe!std::_Ref_count_obj2::_Destroy(void) (Unknown Source:0)
cpptools.exe!std::_Ref_count_obj2::_Destroy(void) (Unknown Source:0)
cpptools.exe!std::_Ref_count_obj2::_Destroy(void) (Unknown Source:0)
cpptools.exe!std::_Ref_count_obj2::_Destroy(void) (Unknown Source:0)
cpptools.exe!std::_Ref_count_obj2::_Destroy(void) (Unknown Source:0)
cpptools.exe!std::_Ref_count_obj2::_Destroy(void) (Unknown Source:0)
cpptools.exe!std::_Ref_count_obj2::_Destroy(void) (Unknown Source:0)
cpptools.exe!std::_Ref_count_obj2::_Destroy(void) (Unknown Source:0)
cpptools.exe!std::_Ref_count_obj2::_Destroy(void) (Unknown Source:0)
cpptools.exe!std::_Ref_count_obj2::_Destroy(void) (Unknown Source:0)
cpptools.exe!std::_Ref_count_obj2::_Destroy(void) (Unknown Source:0)
cpptools.exe!std::_Ref_count_obj2::_Destroy(void) (Unknown Source:0)
cpptools.exe!std::_Ref_count_obj2::_Destroy(void) (Unknown Source:0)
cpptools.exe!std::_Ref_count_obj2::_Destroy(void) (Unknown Source:0)
cpptools.exe!std::_Ref_count_obj2::_Destroy(void) (Unknown Source:0)
cpptools.exe!std::_Ref_count_obj2::_Destroy(void) (Unknown Source:0)
cpptools.exe!std::_Ref_count_obj2::_Destroy(void) (Unknown Source:0)
cpptools.exe!std::_Ref_count_obj2::_Destroy(void) (Unknown Source:0)
cpptools.exe!std::_Ref_count_obj2::_Destroy(void) (Unknown Source:0)
cpptools.exe!std::_Ref_count_obj2::_Destroy(void) (Unknown Source:0)
cpptools.exe!std::_Ref_count_obj2::_Destroy(void) (Unknown Source:0)
cpptools.exe!std::_Ref_count_obj2::_Destroy(void) (Unknown Source:0)
cpptools.exe!std::_Ref_count_obj2::_Destroy(void) (Unknown Source:0)
cpptools.exe!std::_Ref_count_obj2::_Destroy(void) (Unknown Source:0)
cpptools.exe!std::_Ref_count_obj2::_Destroy(void) (Unknown Source:0)
cpptools.exe!std::_Ref_count_obj2::_Destroy(void) (Unknown Source:0)
cpptools.exe!std::_Ref_count_obj2::_Destroy(void) (Unknown Source:0)
cpptools.exe!std::_Ref_count_obj2::_Destroy(void) (Unknown Source:0)
cpptools.exe!std::_Ref_count_obj2::_Destroy(void) (Unknown Source:0)
cpptools.exe!std::_Ref_count_obj2::_Destroy(void) (Unknown Source:0)
cpptools.exe!std::_Ref_count_obj2::_Destroy(void) (Unknown Source:0)
cpptools.exe!std::_Ref_count_obj2::_Destroy(void) (Unknown Source:0)
cpptools.exe!std::_Ref_count_obj2::_Destroy(void) (Unknown Source:0)
cpptools.exe!std::_Ref_count_obj2::_Destroy(void) (Unknown Source:0)
cpptools.exe!std::_Ref_count_obj2::_Destroy(void) (Unknown Source:0)
cpptools.exe!std::_Ref_count_obj2::_Destroy(void) (Unknown Source:0)
cpptools.exe!std::_Ref_count_obj2::_Destroy(void) (Unknown Source:0)
cpptools.exe!std::_Ref_count_obj2::_Destroy(void) (Unknown Source:0)
cpptools.exe!std::_Ref_count_obj2::_Destroy(void) (Unknown Source:0)
cpptools.exe!std::_Ref_count_obj2::_Destroy(void) (Unknown Source:0)
cpptools.exe!std::_Ref_count_obj2::_Destroy(void) (Unknown Source:0)
cpptools.exe!std::_Ref_count_obj2::_Destroy(void) (Unknown Source:0)
cpptools.exe!std::_Ref_count_obj2::_Destroy(void) (Unknown Source:0)
cpptools.exe!std::_Ref_count_obj2::_Destroy(void) (Unknown Source:0)
cpptools.exe!std::_Ref_count_obj2::_Destroy(void) (Unknown Source:0)
cpptools.exe!std::_Ref_count_obj2::_Destroy(void) (Unknown Source:0)
cpptools.exe!std::_Ref_count_obj2::_Destroy(void) (Unknown Source:0)
cpptools.exe!std::_Ref_count_obj2::_Destroy(void) (Unknown Source:0)
cpptools.exe!std::_Ref_count_obj2::_Destroy(void) (Unknown Source:0)
cpptools.exe!std::_Ref_count_obj2::_Destroy(void) (Unknown Source:0)
cpptools.exe!std::_Ref_count_obj2::_Destroy(void) (Unknown Source:0)
cpptools.exe!std::_Ref_count_obj2::_Destroy(void) (Unknown Source:0)
cpptools.exe!std::_Ref_count_obj2::_Destroy(void) (Unknown Source:0)
cpptools.exe!std::_Ref_count_obj2::_Destroy(void) (Unknown Source:0)
cpptools.exe!std::_Ref_count_obj2::_Destroy(void) (Unknown Source:0)
cpptools.exe!std::_Ref_count_obj2::_Destroy(void) (Unknown Source:0)
cpptools.exe!std::_Ref_count_obj2::_Destroy(void) (Unknown Source:0)
cpptools.exe!std::_Ref_count_obj2::_Destroy(void) (Unknown Source:0)
cpptools.exe!std::_Ref_count_obj2::_Destroy(void) (Unknown Source:0)
cpptools.exe!std::_Ref_count_obj2::_Destroy(void) (Unknown Source:0)
cpptools.exe!std::_Ref_count_obj2::_Destroy(void) (Unknown Source:0)
cpptools.exe!std::_Ref_count_obj2::_Destroy(void) (Unknown Source:0)
cpptools.exe!std::_Ref_count_obj2::_Destroy(void) (Unknown Source:0)
cpptools.exe!std::_Ref_count_obj2::_Destroy(void) (Unknown Source:0)
cpptools.exe!std::_Ref_count_obj2::_Destroy(void) (Unknown Source:0)
cpptools.exe!std::_Ref_count_obj2::_Destroy(void) (Unknown Source:0)
cpptools.exe!std::_Ref_count_obj2::_Destroy(void) (Unknown Source:0)
cpptools.exe!std::_Ref_count_obj2::_Destroy(void) (Unknown Source:0)
cpptools.exe!std::_Ref_count_obj2::_Destroy(void) (Unknown Source:0)
cpptools.exe!std::_Ref_count_obj2::_Destroy(void) (Unknown Source:0)
cpptools.exe!std::_Ref_count_obj2::_Destroy(void) (Unknown Source:0)
cpptools.exe!std::_Ref_count_obj2::_Destroy(void) (Unknown Source:0)
cpptools.exe!std::_Ref_count_obj2::_Destroy(void) (Unknown Source:0)
cpptools.exe!std::_Ref_count_obj2::_Destroy(void) (Unknown Source:0)
cpptools.exe!std::_Ref_count_obj2::_Destroy(void) (Unknown Source:0)
cpptools.exe!std::_Ref_count_obj2::_Destroy(void) (Unknown Source:0)
cpptools.exe!std::_Ref_count_obj2::_Destroy(void) (Unknown Source:0)
cpptools.exe!std::_Ref_count_obj2::_Destroy(void) (Unknown Source:0)
cpptools.exe!std::_Ref_count_obj2::_Destroy(void) (Unknown Source:0)
...... (5000 lines until
The maximum number of stack frames supported by Visual Studio has been exceeded. (Unknown Source:0)
The text was updated successfully, but these errors were encountered: