Type: LanguageService
Upon opening any C file, "The language server crashed 5 times in the last 3 minutes. It will not be restarted."
I will attach logs if I figure out how. The instructions in "Enabling logging.md" did not reveal the "C/C++" option in the log filter selector.
Unfortunately, when the extension crashes VS Code removes our logging channel. You can try using the old logging method which writes logs to files: https://github.com/Microsoft/vscode-cpptools/blob/master/Documentation/LanguageServer/Archive/Enabling%20logging.md
We also need to write up some instructions for debugging crashes.
Thanks, Bob. I gave the logging a try. Five log files were created, but all of them were empty (zero bytes). The empty files were named: vscode.cpp.log.4064.txt; vscode.cpp.log.5428.txt; vscode.cpp.log.8596.txt; vscode.cpp.log.11636.txt; vscode.cpp.log.12256.txt.
I tried log levels 5, 6, and 7.
When the extension starts up it should create that log file and immediately write Log initialized. Verbosity level = N (where N is the log level you set). It must be crashing before flushing that message to the log file.
Perhaps you can try installing procdump as the post-mortem debugger? I have been having trouble getting post-mortem debuggers to work on Windows 10, but I used to use them a lot on Windows 7, so this might still work on your version of Windows.
I'm running into a problem with the same symptoms.
I have a project with two configurations: a Windows build, and a build that uses a Yocto toolchain to cross compile to ARM Linux. When using the Windows configuration, the C++ language service works fine. As soon as I switch to the Linux configuration and open a C file, the language service crashes five times and stops restarting. I tried the instructions listed above and also got a bunch of empty log files.
I used procdump with the following options and got this dump: Microsoft.VSCode.CPP.IntelliSense.Msvc.exe_180910_123159.dmp.zip
procdump -e -t -w Microsoft.VSCode.CPP.IntelliSense.Msvc.exe
I see stack info in the dump, but I don't have source code so I can't tell if there's any useful info there.
My c_cpp_properties.json looks like this (with some parts redacted because the project is proprietary):
{
"configurations": [
{
"name": "Windows simulator",
"intellisenseMode": "msvc-x64",
"compilerPath": "C:\\Program Files (x86)\\Microsoft Visual Studio 12.0\\VC\\BIN\\CL.exe",
"cStandard": "c99",
"cppStandard": "c++11",
"compileCommands": "<build directory>\\compile_commands.json",
"includePath": [
<project include paths>,
"C:\\Program Files (x86)\\Microsoft Visual Studio 12.0\\VC\\ATLMFC\\INCLUDE",
"C:\\Program Files (x86)\\Microsoft Visual Studio 12.0\\VC\\INCLUDE",
"C:\\Program Files (x86)\\Windows Kits\\8.1\\include\\shared",
"C:\\Program Files (x86)\\Windows Kits\\8.1\\include\\um",
"C:\\Program Files (x86)\\Windows Kits\\8.1\\include\\winrt"
],
"defines": [
<project defines>,
"_CRT_SECURE_NO_WARNINGS",
"WIN32",
"WINVER=0x0600",
"NOMINMAX",
"WIN32_LEAN_AND_MEAN"
]
},
{
"name": "ARM Linux",
"intellisenseMode": "gcc-x64",
"compilerPath": "<path to yocto binaries>\\arm-poky-linux-gnueabi-gcc.exe -marm <more arm-specific options> --sysroot=<path to yocto sysroot>",
"cStandard": "c99",
"cppStandard": "c++11",
"compileCommands": "<build directory>\\compile_commands.json",
"includePath": [
<project include paths>,
"<path to yocto sysroot>\\usr\\include",
"<path to yocto sysroot>\\usr\\include\\<some other libraries>",
"<path to yocto sysroot>\\usr\\include\\<some other libraries>",
etc...
],
"defines": [
<project defines>,
"__linux__=1"
]
}
],
"version": 4
}
I got the same error on Win 10, VS Code 1.27.2, C/C++ Extension 0.18.1
[Error 9:20:22 PM] Connection to server got closed. Server will not be restarted.
[Error 9:20:22 PM] Request textDocument/documentSymbol failed.
Error: Connection got disposed.
at Object.dispose (C:\Users\Milan\.vscode\extensions\ms-vscode.cpptools-0.18.1\node modules\vscode-jsonrpc\lib\main.js:825:25)
at Object.dispose (C:\Users\Milan\.vscode\extensions\ms-vscode.cpptools-0.18.1\node modules\vscode-languageclient\lib\client.js:57:35)
at LanguageClient.handleConnectionClosed
(C:\Users\Milan\.vscode\extensions\ms-vscode.cpptools-0.18.1\node modules\vscode-languageclient\lib\client.js:1864:38)
at LanguageClient.handleConnectionClosed
(C:\Users\Milan\.vscode\extensions\ms-vscode.cpptools-0.18.1\node modules\vscode-languageclient\lib\main.js:106:15)
at closeHandler (C:\Users\Milan\.vscode\extensions\ms-vscode.cpptools-0.18.1\node modules\vscode-languageclient\lib\client.js:1852:18)
at CallbackList.invoke (C:\Users\Milan\.vscode\extensions\ms-vscode.cpptools-0.18.1\node modules\vscode-jsonrpc\lib\events.js:71:39)
at Emitter.fire (C:\Users\Milan\.vscode\extensions\ms-vscode.cpptools-0.18.1\node modules\vscode-jsonrpc\lib\events.js:135:36)
at closeHandler (C:\Users\Milan\.vscode\extensions\ms-vscode.cpptools-0.18.1\node modules\vscode-jsonrpc\lib\main.js:221:26)
at CallbackList.invoke (C:\Users\Milan\.vscode\extensions\ms-vscode.cpptools-0.18.1\node modules\vscode-jsonrpc\lib\events.js:71:39)
at Emitter.fire (C:\Users\Milan\.vscode\extensions\ms-vscode.cpptools-0.18.1\node modules\vscode-jsonrpc\lib\events.js:135:36)
at StreamMessageWriter.AbstractMessageWriter.fireClose
(C:\Users\Milan\.vscode\extensions\ms-vscode.cpptools-0.18.1\node modules\vscode-jsonrpc\lib\messageWriter.js:57:27)
at Socket.<anonymous> (C:\Users\Milan\.vscode\extensions\ms-vscode.cpptools-0.18.1\node modules\vscode-jsonrpc\lib\messageWriter.js:79:63)
at emitOne (events.js:116:13)
at Socket.emit (events.js:211:7)
at Pipe._handle.close [as _onclose] (net.js:554:12)
Please note that I was not able to copy/paste the stacktrace directly as it disappeared immediately. This one was ocr-ed from the screenshot, thus not 100% accurate.
@milanpiskla That log is not helpful -- are you able to attach a debugger to the Microsoft.VSCode.CPP.Extension.exe before the crash occurs and get a call stack? Or do you have any repro details?
@sean-mcmanus Sorry, I have not been able to attach a debugger as the extension crashes quickly after starting VS Code
@milanpiskla If you clone our repository at https://github.com/Microsoft/vscode-cpptools/tree/release, do a Launch Extension and put a breakpoint on the line after languageClient.start(); you should be able to attach to the process before it crashes. Let us know if you have a problem doing that.
@sean-mcmanus I launched the extension as you suggested and got this call stack from the debugger:
Microsoft.VSCode.CPP.Extension.exe!__invoke_watson
() Unknown Non-user code. Symbols loaded.
Microsoft.VSCode.CPP.Extension.exe!__invalid_parameter
() Unknown Non-user code. Symbols loaded.
Microsoft.VSCode.CPP.Extension.exe!__invalid_parameter_noinfo
() Unknown Non-user code. Symbols loaded.
Microsoft.VSCode.CPP.Extension.exe!memcpy_s() Unknown Non-user code. Symbols loaded.
Microsoft.VSCode.CPP.Extension.exe!microsoft::vc::get_file_path_actual_case(unsigned short *,unsigned int,bool) Unknown Non-user code. Symbols loaded.
Microsoft.VSCode.CPP.Extension.exe!microsoft::vc::canonicalize_file_path(char const *,bool) Unknown Non-user code. Symbols loaded.
Microsoft.VSCode.CPP.Extension.exe!vscode::canonicalize(char const *,bool) Unknown Non-user code. Symbols loaded.
Microsoft.VSCode.CPP.Extension.exe!parse_includes(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >,class std::vector<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >,class std::allocator<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > > > &,class std::vector<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >,class std::allocator<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > > > &,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,bool,enum IntelliSenseMode &,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &) Unknown Non-user code. Symbols loaded.
Microsoft.VSCode.CPP.Extension.exe!gcc_info::get_system_defaults(class std::vector<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >,class std::allocator<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > > > const &,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,bool,struct compilation_args &) Unknown Non-user code. Symbols loaded.
Microsoft.VSCode.CPP.Extension.exe!gcc_info::gcc_info(class std::vector<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >,class std::allocator<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > > > const &,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,bool) Unknown Non-user code. Symbols loaded.
Microsoft.VSCode.CPP.Extension.exe!std::_Ref_count_obj<class gcc_info>::_Ref_count_obj<class gcc_info><class std::vector<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >,class std::allocator<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > > > const &,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,bool &>(class std::vector<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >,class std::allocator<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > > > const &,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,bool &) Unknown Non-user code. Symbols loaded.
Microsoft.VSCode.CPP.Extension.exe!std::make_shared<class gcc_info,class std::vector<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >,class std::allocator<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > > > const &,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,bool &>(class std::vector<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >,class std::allocator<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > > > const &,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,bool &) Unknown Non-user code. Symbols loaded.
Microsoft.VSCode.CPP.Extension.exe!compiler_info::find_or_create(class std::vector<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >,class std::allocator<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > > > const &,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,bool,bool) Unknown Non-user code. Symbols loaded.
Microsoft.VSCode.CPP.Extension.exe!compiler_info::get(class vscode::ext::optional<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > > const &,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,enum IntelliSenseMode,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,bool) Unknown Non-user code. Symbols loaded.
Microsoft.VSCode.CPP.Extension.exe!compile_commands_database::get_compilation_args(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,struct configuration const &,bool,struct compilation_args &) Unknown Non-user code. Symbols loaded.
Microsoft.VSCode.CPP.Extension.exe!cpp_properties::provide_args(char const *,char const *,char const *) Unknown Non-user code. Symbols loaded.
Microsoft.VSCode.CPP.Extension.exe!create_async_work(char const *,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,char const *,int,class std::shared_ptr<class browse_engine>,class std::shared_ptr<class compilation_args_provider>,class std::function<void >,class std::function<void >) Unknown Non-user code. Symbols loaded.
Microsoft.VSCode.CPP.Extension.exe!<lambda>(void)() Unknown Non-user code. Symbols loaded.
Microsoft.VSCode.CPP.Extension.exe!std::_Func_impl_no_alloc<<lambda_cd6ec53400d3f1066a03b3738e08d33d>,void>::_Do_call() Unknown Non-user code. Symbols loaded.
Microsoft.VSCode.CPP.Extension.exe!microsoft::vc::thread_pool::do_work(unsigned int) Unknown Non-user code. Symbols loaded.
Microsoft.VSCode.CPP.Extension.exe!std::_LaunchPad<std::unique_ptr<std::tuple<<lambda_7a5c86eedba4f728bcdfee14fde4807b> >,std::default_delete<std::tuple<<lambda_7a5c86eedba4f728bcdfee14fde4807b> > > > >::_Go() Unknown Non-user code. Symbols loaded.
Microsoft.VSCode.CPP.Extension.exe!std::_Pad::_Call_func(void *) Unknown Non-user code. Symbols loaded.
Microsoft.VSCode.CPP.Extension.exe!thread_start<unsigned int (__stdcall*)(void *)>() Unknown Non-user code. Symbols loaded.
kernel32.dll!74c88484() Unknown Non-user code. Cannot find or open the PDB file.
[Frames below may be incorrect and/or missing, no symbols loaded for kernel32.dll] Annotated Frame
[External Code] Annotated Frame
@sean-mcmanus - I have the same issue since the new update.
@milanpiskla Ah, I didn't see that call stack -- yeah, that is our top hitter on Windows -- we're still trying to figure out a repro and/or a fix. Do you know what is special about your path that could be causing that, such as certain non-ASCII characters in the path? Are you using WSL with gcc? Is the path Linux or Windows-style? It could be caused by a mismatch between Linux/Windows paths.
@plaip What is the call stack of your crash? You should be able to attach a debugger to Microsoft.VSCode.CPP.Extension.linux before the crash occurs to get the call stack. The issue reported by @milanpiskla started several months ago and is Windows-only. We fixed a regression crash with 0.19.0 that should be released soon in 0.19.1-insiders: https://github.com/Microsoft/vscode-cpptools/issues/2586 .
Identical error as OP. Happening all the time now...
OS and Version: MacOs Mojave
VS Code Version: 1.27.2
C/C++ Extension Version: 0.19.0
Other extensions: None
I believe I am able to reproduce it at will, all it takes is to add a folder to the existing project and soon enough, the error pops up. Unsure the relationship, but i've tried this sequence few times and can confirm that in my case thats how the error triggers. The dir that I add to my project is this open source from Apple: https://opensource.apple.com/source/network_cmds/network_cmds-543/ifconfig.tproj/
[Error - 9:01:40 AM] Connection to server got closed. Server will not be restarted.
[Error - 9:01:40 AM] Request textDocument/hover failed.
Error: Connection got disposed.
at Object.dispose (/Users/dev/.vscode/extensions/ms-vscode.cpptools-0.19.0/node_modules/vscode-jsonrpc/lib/main.js:825:25)
at Object.dispose (/Users/dev/.vscode/extensions/ms-vscode.cpptools-0.19.0/node_modules/vscode-languageclient/lib/client.js:57:35)
at LanguageClient.handleConnectionClosed (/Users/dev/.vscode/extensions/ms-vscode.cpptools-0.19.0/node_modules/vscode-languageclient/lib/client.js:1864:38)
at LanguageClient.handleConnectionClosed (/Users/dev/.vscode/extensions/ms-vscode.cpptools-0.19.0/node_modules/vscode-languageclient/lib/main.js:106:15)
at closeHandler (/Users/dev/.vscode/extensions/ms-vscode.cpptools-0.19.0/node_modules/vscode-languageclient/lib/client.js:1852:18)
at CallbackList.invoke (/Users/dev/.vscode/extensions/ms-vscode.cpptools-0.19.0/node_modules/vscode-jsonrpc/lib/events.js:71:39)
at Emitter.fire (/Users/dev/.vscode/extensions/ms-vscode.cpptools-0.19.0/node_modules/vscode-jsonrpc/lib/events.js:135:36)
at closeHandler (/Users/dev/.vscode/extensions/ms-vscode.cpptools-0.19.0/node_modules/vscode-jsonrpc/lib/main.js:221:26)
at CallbackList.invoke (/Users/dev/.vscode/extensions/ms-vscode.cpptools-0.19.0/node_modules/vscode-jsonrpc/lib/events.js:71:39)
at Emitter.fire (/Users/dev/.vscode/extensions/ms-vscode.cpptools-0.19.0/node_modules/vscode-jsonrpc/lib/events.js:135:36)
at StreamMessageReader.AbstractMessageReader.fireClose (/Users/dev/.vscode/extensions/ms-vscode.cpptools-0.19.0/node_modules/vscode-jsonrpc/lib/messageReader.js:135:27)
at Socket.<anonymous> (/Users/dev/.vscode/extensions/ms-vscode.cpptools-0.19.0/node_modules/vscode-jsonrpc/lib/messageReader.js:188:62)
at emitOne (events.js:121:20)
at Socket.emit (events.js:211:7)
at Pipe._handle.close [as _onclose] (net.js:554:12)
@aboulfad The hover crash should be fixed with https://github.com/Microsoft/vscode-cpptools/releases/download/0.19.1-insiders/cpptools-osx.vsix (or for other OS's see https://github.com/Microsoft/vscode-cpptools/releases/tag/0.19.1-insiders ). For the get_file_actual_case crash, we still need more repro info.
Thank you @sean-mcmanus , I've installed 0.19.1 and 馃 it works, i'll report back if anything else.
@sean-mcmanus. I've installed the 0.19.1 and everything is fixed. Thanks.
I have the same problem in the version 0.19.0 for Linux.
To update for 0.19.1 version just clone the repo?
@rthier Setting the "C_Cpp.updateChannel" to "Insiders" may auto-install 0.19.1-insiders (unless it hits a known error). You can also manually download/install the 64 or 32-bit Linux vsix. See https://github.com/Microsoft/vscode-cpptools/releases/tag/0.19.1-insiders .
I am having the same problem with v 0.19.1-insiders. I have tried to generate log files with the VSCODE_CPP_LOGDIR EV set with no luck. I do launch VSCode from the command line, with Admin Privileges. I am using Wndows 7 and have AVG running in the background, but the extension folder is excluded in AVG.
@SomerledDesign-Snippets You can also enable logging with C_Cpp.loggingLevel "Debug". Can you attach a debugger to Microsoft.VSCode.Cpp.Extension.exe and give the crashing thread's call stack? If it crashes too soon, you can clone our GitHub repo, set a breakpoint at https://github.com/Microsoft/vscode-cpptools/blob/release/Extension/src/LanguageServer/client.ts#L303, do Launch Extension, and then attach to the crashing process when the breakpoint is hit.
@sean-mcmanus
I'm also getting the crash and I think I found something to reproduce it. I initially experienced this crash on an llvm fork on two different machines. Using the regular llvm repo yields the same results on my machine so I can share.
From devprompt x64
git clone https://github.com/llvm-mirror/llvm.git
cd llvm
mkdir build
cd build
set CC=cl
set CXX=cl
cmake -G Ninja -DCMAKE_EXPORT_COMPILE_COMMANDS=1 ..
Now open the llvm directory with vsc. So far, clicking on a source file works fine.
As soon as I add "compileCommands": "${workspaceRoot}/build/compile_commands.json" to the c_cpp_properties.json, the extension crashes.
Call Stack:
0:010> k
# ChildEBP RetAddr
00 040ff014 0112a77d Microsoft_VSCode_CPP_Extension!_invoke_watson+0xf
01 040ff038 0112a7a8 Microsoft_VSCode_CPP_Extension!_invalid_parameter+0x7a
02 040ff050 010afc37 Microsoft_VSCode_CPP_Extension!_invalid_parameter_noinfo+0xc
03 040ff060 010aed58 Microsoft_VSCode_CPP_Extension!memcpy_s+0x74
04 040ff174 010ace6a Microsoft_VSCode_CPP_Extension!microsoft::vc::get_file_path_actual_case+0x37f
05 040ff3f0 00c5a36e Microsoft_VSCode_CPP_Extension!microsoft::vc::canonicalize_file_path+0xc2
06 040ff404 00c863b7 Microsoft_VSCode_CPP_Extension!vscode::canonicalize+0x17
07 040ff47c 00c8530d Microsoft_VSCode_CPP_Extension!`anonymous namespace'::sanitize_include_paths+0x1b5
08 040ff57c 00c85716 Microsoft_VSCode_CPP_Extension!`anonymous namespace'::includes_for_file+0x217
09 040ff614 00cc6b66 Microsoft_VSCode_CPP_Extension!vscode::include_auto_complete::cache::populate+0x23
0a 040ff66c 00cc9b49 Microsoft_VSCode_CPP_Extension!vscode::message_handler::cpptools_activeDocumentChange+0xb0
0b 040ff81c 00cd07d7 Microsoft_VSCode_CPP_Extension!vscode::message_handler::dispatch+0xc93
0c 040ff89c 00cbd38a Microsoft_VSCode_CPP_Extension!vscode::message_handler::handle_message+0x2d
0d 040ff9f4 00cc2e0b Microsoft_VSCode_CPP_Extension!<lambda_acea0606d67b1a79794bca66930fdc6f>::operator()+0x245
0e 040ffa18 00c7f282 Microsoft_VSCode_CPP_Extension!std::_LaunchPad<std::unique_ptr<std::tuple<<lambda_acea0606d67b1a79794bca66930fdc6f> >,std::default_delete<std::tuple<<lambda_acea0606d67b1a79794bca66930fdc6f> > > > >::_Go+0x23
0f 040ffa20 0114a569 Microsoft_VSCode_CPP_Extension!std::_Pad::_Call_func+0xa
10 040ffa5c 76208484 Microsoft_VSCode_CPP_Extension!thread_start<unsigned int (__stdcall*)(void *)>+0x58
11 040ffa70 776a302c KERNEL32!BaseThreadInitThunk+0x24
12 040ffab8 776a2ffa ntdll!__RtlUserThreadStart+0x2f
13 040ffac8 00000000 ntdll!_RtlUserThreadStart+0x1b
@Toizi I'm not able to repro a crash via those repro steps. I don't know what I'm doing differently. Does a certain file need to be open? What is your compilerPath? Are you using WSL or a case-sensitive file path location? Do I need certain other settings set? @bobbrow @grdowns are you guys able to?
@sean-mcmanus The file I opened is
C:\Users\(...)\Documents\llvm\lib\CodeGen\AggressiveAntiDepBreaker.cpp
I'm not using WSL or case-sensitive path. I'm not using any special settings either. Just the default settings for cpp.
The compiler location is the standard VS installation dir C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.15.26726\bin\Hostx64\x64\cl.exe
Confirmed that this crash still occurs with VS Code 1.30.2 and ms-vscode.cpptools 0.21.0.
Microsoft.VSCode.CPP.Extension.exe runs without crashing when launched from the command prompt. Is there a way to simulate how VS Code launches the executable?
@remline We have a fix for the get_file_path_actual_case crash for our next Insiders -- the repro occurs when we're passed 8.3 Windows filenames (or other possibly scenarios where the path becomes expanded). You can launch the extension from our GitHub TypeScript.
We believe 0.22.0-insiders has fixed the Windows crash caused by 8.3 filenames (i.e. with get_file_path_actual_case call stacks). You can easily get it via setting the C_Cpp.updateChannel setting to "Insiders", or downloading it manually from https://github.com/Microsoft/vscode-cpptools/releases . Let us know anyone is still getting these crashes.
@sean-mcmanus thanks for the update. I can confirm on my end that the issue seems to be fixed now (llvm example).
I confirmed that the error is fixed for me with VS Code 1.31.0 and cpptools 0.22.0-insiders. Thanks, @sean-mcmanus !
I can also confirm that the language server no longer crashes immediately with 0.22.0-insiders. Thanks!
I get a similar error today when running VSCode on a Remote Host using SSH.

No outliner works when I get this error.
The cpptools:llvm log holds this information: [Error - 08:02:13] Connection to server got closed. Server will not be restarted.
The C/C++ log contains: Failed to read response from server: 22
When I restart VScode things work for a while.
Version: 1.40.2
Commit: f359dd69833dd8800b54d458f6d37ab7c78df520
Date: 2019-11-25T14:54:40.719Z
Electron: 6.1.5
Chrome: 76.0.3809.146
Node.js: 12.4.0
V8: 7.6.303.31-electron.0
OS: Linux x64 5.3.12-300.fc31.x86_64 snap
Hi @kwk. Since this issue is closed, I've opened a new issue with your message. I will respond there.