Vscode-cpptools: Frequently crash with textDocument/documentSymbol request on file save

Created on 1 Mar 2019  路  6Comments  路  Source: microsoft/vscode-cpptools

Type: LanguageService
Issue is almost the same as https://github.com/Microsoft/vscode-cpptools/issues/2209 but with newer version of cpptools and automatic restart of language server re-opening file

Describe the bug

  • OS and Version: macOS 10.14.3 (18D109)
  • VS Code Version: Version 1.31.1 (1.31.1)
  • C/C++ Extension Version: Version 1.31.1 (1.31.1)

When I'm editing a C++ source file, when I save the file, an error frequently occurs and for 5 times the language server crashes and restarts only after re-opening file, but frequently crashes after editing/saving file.

To Reproduce

  1. Open cpp file
  2. Switch to header file

Expected behavior
Language server doesn't crash or at least restarts silently

Screenshots
image

Additional context

cpptools log (one of many):

[Error - 10:44:22 AM] Connection to server got closed. Server will not be restarted.
[Error - 10:44:22 AM] Request textDocument/codeAction failed.
Error: Connection got disposed.
    at Object.dispose (/Users/amatosov/.vscode/extensions/ms-vscode.cpptools-0.21.0/node_modules/vscode-jsonrpc/lib/main.js:876:25)
    at Object.dispose (/Users/amatosov/.vscode/extensions/ms-vscode.cpptools-0.21.0/node_modules/vscode-languageclient/lib/client.js:71:35)
    at LanguageClient.handleConnectionClosed (/Users/amatosov/.vscode/extensions/ms-vscode.cpptools-0.21.0/node_modules/vscode-languageclient/lib/client.js:2150:42)
    at LanguageClient.handleConnectionClosed (/Users/amatosov/.vscode/extensions/ms-vscode.cpptools-0.21.0/node_modules/vscode-languageclient/lib/main.js:150:15)
    at closeHandler (/Users/amatosov/.vscode/extensions/ms-vscode.cpptools-0.21.0/node_modules/vscode-languageclient/lib/client.js:2137:18)
    at CallbackList.invoke (/Users/amatosov/.vscode/extensions/ms-vscode.cpptools-0.21.0/node_modules/vscode-jsonrpc/lib/events.js:62:39)
    at Emitter.fire (/Users/amatosov/.vscode/extensions/ms-vscode.cpptools-0.21.0/node_modules/vscode-jsonrpc/lib/events.js:120:36)
    at closeHandler (/Users/amatosov/.vscode/extensions/ms-vscode.cpptools-0.21.0/node_modules/vscode-jsonrpc/lib/main.js:226:26)
    at CallbackList.invoke (/Users/amatosov/.vscode/extensions/ms-vscode.cpptools-0.21.0/node_modules/vscode-jsonrpc/lib/events.js:62:39)
    at Emitter.fire (/Users/amatosov/.vscode/extensions/ms-vscode.cpptools-0.21.0/node_modules/vscode-jsonrpc/lib/events.js:120:36)
    at StreamMessageReader.fireClose (/Users/amatosov/.vscode/extensions/ms-vscode.cpptools-0.21.0/node_modules/vscode-jsonrpc/lib/messageReader.js:111:27)
    at Socket.listen.readable.on (/Users/amatosov/.vscode/extensions/ms-vscode.cpptools-0.21.0/node_modules/vscode-jsonrpc/lib/messageReader.js:151:46)
    at Socket.emit (events.js:187:15)
    at Pipe.Socket._destroy._handle.close [as _onclose] (net.js:596:12)
[Error - 10:44:22 AM] Request textDocument/codeAction failed.
Error: Connection got disposed.
    at Object.dispose (/Users/amatosov/.vscode/extensions/ms-vscode.cpptools-0.21.0/node_modules/vscode-jsonrpc/lib/main.js:876:25)
    at Object.dispose (/Users/amatosov/.vscode/extensions/ms-vscode.cpptools-0.21.0/node_modules/vscode-languageclient/lib/client.js:71:35)
    at LanguageClient.handleConnectionClosed (/Users/amatosov/.vscode/extensions/ms-vscode.cpptools-0.21.0/node_modules/vscode-languageclient/lib/client.js:2150:42)
    at LanguageClient.handleConnectionClosed (/Users/amatosov/.vscode/extensions/ms-vscode.cpptools-0.21.0/node_modules/vscode-languageclient/lib/main.js:150:15)
    at closeHandler (/Users/amatosov/.vscode/extensions/ms-vscode.cpptools-0.21.0/node_modules/vscode-languageclient/lib/client.js:2137:18)
    at CallbackList.invoke (/Users/amatosov/.vscode/extensions/ms-vscode.cpptools-0.21.0/node_modules/vscode-jsonrpc/lib/events.js:62:39)
    at Emitter.fire (/Users/amatosov/.vscode/extensions/ms-vscode.cpptools-0.21.0/node_modules/vscode-jsonrpc/lib/events.js:120:36)
    at closeHandler (/Users/amatosov/.vscode/extensions/ms-vscode.cpptools-0.21.0/node_modules/vscode-jsonrpc/lib/main.js:226:26)
    at CallbackList.invoke (/Users/amatosov/.vscode/extensions/ms-vscode.cpptools-0.21.0/node_modules/vscode-jsonrpc/lib/events.js:62:39)
    at Emitter.fire (/Users/amatosov/.vscode/extensions/ms-vscode.cpptools-0.21.0/node_modules/vscode-jsonrpc/lib/events.js:120:36)
    at StreamMessageReader.fireClose (/Users/amatosov/.vscode/extensions/ms-vscode.cpptools-0.21.0/node_modules/vscode-jsonrpc/lib/messageReader.js:111:27)
    at Socket.listen.readable.on (/Users/amatosov/.vscode/extensions/ms-vscode.cpptools-0.21.0/node_modules/vscode-jsonrpc/lib/messageReader.js:151:46)
    at Socket.emit (events.js:187:15)
    at Pipe.Socket._destroy._handle.close [as _onclose] (net.js:596:12)
[Error - 10:44:22 AM] Request textDocument/codeAction failed.
Error: Connection got disposed.
    at Object.dispose (/Users/amatosov/.vscode/extensions/ms-vscode.cpptools-0.21.0/node_modules/vscode-jsonrpc/lib/main.js:876:25)
    at Object.dispose (/Users/amatosov/.vscode/extensions/ms-vscode.cpptools-0.21.0/node_modules/vscode-languageclient/lib/client.js:71:35)
    at LanguageClient.handleConnectionClosed (/Users/amatosov/.vscode/extensions/ms-vscode.cpptools-0.21.0/node_modules/vscode-languageclient/lib/client.js:2150:42)
    at LanguageClient.handleConnectionClosed (/Users/amatosov/.vscode/extensions/ms-vscode.cpptools-0.21.0/node_modules/vscode-languageclient/lib/main.js:150:15)
    at closeHandler (/Users/amatosov/.vscode/extensions/ms-vscode.cpptools-0.21.0/node_modules/vscode-languageclient/lib/client.js:2137:18)
    at CallbackList.invoke (/Users/amatosov/.vscode/extensions/ms-vscode.cpptools-0.21.0/node_modules/vscode-jsonrpc/lib/events.js:62:39)
    at Emitter.fire (/Users/amatosov/.vscode/extensions/ms-vscode.cpptools-0.21.0/node_modules/vscode-jsonrpc/lib/events.js:120:36)
    at closeHandler (/Users/amatosov/.vscode/extensions/ms-vscode.cpptools-0.21.0/node_modules/vscode-jsonrpc/lib/main.js:226:26)
    at CallbackList.invoke (/Users/amatosov/.vscode/extensions/ms-vscode.cpptools-0.21.0/node_modules/vscode-jsonrpc/lib/events.js:62:39)
    at Emitter.fire (/Users/amatosov/.vscode/extensions/ms-vscode.cpptools-0.21.0/node_modules/vscode-jsonrpc/lib/events.js:120:36)
    at StreamMessageReader.fireClose (/Users/amatosov/.vscode/extensions/ms-vscode.cpptools-0.21.0/node_modules/vscode-jsonrpc/lib/messageReader.js:111:27)
    at Socket.listen.readable.on (/Users/amatosov/.vscode/extensions/ms-vscode.cpptools-0.21.0/node_modules/vscode-jsonrpc/lib/messageReader.js:151:46)
    at Socket.emit (events.js:187:15)
    at Pipe.Socket._destroy._handle.close [as _onclose] (net.js:596:12)
[Error - 10:44:22 AM] Request textDocument/codeAction failed.
Error: Connection got disposed.
    at Object.dispose (/Users/amatosov/.vscode/extensions/ms-vscode.cpptools-0.21.0/node_modules/vscode-jsonrpc/lib/main.js:876:25)
    at Object.dispose (/Users/amatosov/.vscode/extensions/ms-vscode.cpptools-0.21.0/node_modules/vscode-languageclient/lib/client.js:71:35)
    at LanguageClient.handleConnectionClosed (/Users/amatosov/.vscode/extensions/ms-vscode.cpptools-0.21.0/node_modules/vscode-languageclient/lib/client.js:2150:42)
    at LanguageClient.handleConnectionClosed (/Users/amatosov/.vscode/extensions/ms-vscode.cpptools-0.21.0/node_modules/vscode-languageclient/lib/main.js:150:15)
    at closeHandler (/Users/amatosov/.vscode/extensions/ms-vscode.cpptools-0.21.0/node_modules/vscode-languageclient/lib/client.js:2137:18)
    at CallbackList.invoke (/Users/amatosov/.vscode/extensions/ms-vscode.cpptools-0.21.0/node_modules/vscode-jsonrpc/lib/events.js:62:39)
    at Emitter.fire (/Users/amatosov/.vscode/extensions/ms-vscode.cpptools-0.21.0/node_modules/vscode-jsonrpc/lib/events.js:120:36)
    at closeHandler (/Users/amatosov/.vscode/extensions/ms-vscode.cpptools-0.21.0/node_modules/vscode-jsonrpc/lib/main.js:226:26)
    at CallbackList.invoke (/Users/amatosov/.vscode/extensions/ms-vscode.cpptools-0.21.0/node_modules/vscode-jsonrpc/lib/events.js:62:39)
    at Emitter.fire (/Users/amatosov/.vscode/extensions/ms-vscode.cpptools-0.21.0/node_modules/vscode-jsonrpc/lib/events.js:120:36)
    at StreamMessageReader.fireClose (/Users/amatosov/.vscode/extensions/ms-vscode.cpptools-0.21.0/node_modules/vscode-jsonrpc/lib/messageReader.js:111:27)
    at Socket.listen.readable.on (/Users/amatosov/.vscode/extensions/ms-vscode.cpptools-0.21.0/node_modules/vscode-jsonrpc/lib/messageReader.js:151:46)
    at Socket.emit (events.js:187:15)
    at Pipe.Socket._destroy._handle.close [as _onclose] (net.js:596:12)
[Error - 10:44:22 AM] Request textDocument/hover failed.
Error: Connection got disposed.
    at Object.dispose (/Users/amatosov/.vscode/extensions/ms-vscode.cpptools-0.21.0/node_modules/vscode-jsonrpc/lib/main.js:876:25)
    at Object.dispose (/Users/amatosov/.vscode/extensions/ms-vscode.cpptools-0.21.0/node_modules/vscode-languageclient/lib/client.js:71:35)
    at LanguageClient.handleConnectionClosed (/Users/amatosov/.vscode/extensions/ms-vscode.cpptools-0.21.0/node_modules/vscode-languageclient/lib/client.js:2150:42)
    at LanguageClient.handleConnectionClosed (/Users/amatosov/.vscode/extensions/ms-vscode.cpptools-0.21.0/node_modules/vscode-languageclient/lib/main.js:150:15)
    at closeHandler (/Users/amatosov/.vscode/extensions/ms-vscode.cpptools-0.21.0/node_modules/vscode-languageclient/lib/client.js:2137:18)
    at CallbackList.invoke (/Users/amatosov/.vscode/extensions/ms-vscode.cpptools-0.21.0/node_modules/vscode-jsonrpc/lib/events.js:62:39)
    at Emitter.fire (/Users/amatosov/.vscode/extensions/ms-vscode.cpptools-0.21.0/node_modules/vscode-jsonrpc/lib/events.js:120:36)
    at closeHandler (/Users/amatosov/.vscode/extensions/ms-vscode.cpptools-0.21.0/node_modules/vscode-jsonrpc/lib/main.js:226:26)
    at CallbackList.invoke (/Users/amatosov/.vscode/extensions/ms-vscode.cpptools-0.21.0/node_modules/vscode-jsonrpc/lib/events.js:62:39)
    at Emitter.fire (/Users/amatosov/.vscode/extensions/ms-vscode.cpptools-0.21.0/node_modules/vscode-jsonrpc/lib/events.js:120:36)
    at StreamMessageReader.fireClose (/Users/amatosov/.vscode/extensions/ms-vscode.cpptools-0.21.0/node_modules/vscode-jsonrpc/lib/messageReader.js:111:27)
    at Socket.listen.readable.on (/Users/amatosov/.vscode/extensions/ms-vscode.cpptools-0.21.0/node_modules/vscode-jsonrpc/lib/messageReader.js:151:46)
    at Socket.emit (events.js:187:15)
    at Pipe.Socket._destroy._handle.close [as _onclose] (net.js:596:12)
[Error - 10:44:22 AM] Request textDocument/codeAction failed.
Error: Connection got disposed.
    at Object.dispose (/Users/amatosov/.vscode/extensions/ms-vscode.cpptools-0.21.0/node_modules/vscode-jsonrpc/lib/main.js:876:25)
    at Object.dispose (/Users/amatosov/.vscode/extensions/ms-vscode.cpptools-0.21.0/node_modules/vscode-languageclient/lib/client.js:71:35)
    at LanguageClient.handleConnectionClosed (/Users/amatosov/.vscode/extensions/ms-vscode.cpptools-0.21.0/node_modules/vscode-languageclient/lib/client.js:2150:42)
    at LanguageClient.handleConnectionClosed (/Users/amatosov/.vscode/extensions/ms-vscode.cpptools-0.21.0/node_modules/vscode-languageclient/lib/main.js:150:15)
    at closeHandler (/Users/amatosov/.vscode/extensions/ms-vscode.cpptools-0.21.0/node_modules/vscode-languageclient/lib/client.js:2137:18)
    at CallbackList.invoke (/Users/amatosov/.vscode/extensions/ms-vscode.cpptools-0.21.0/node_modules/vscode-jsonrpc/lib/events.js:62:39)
    at Emitter.fire (/Users/amatosov/.vscode/extensions/ms-vscode.cpptools-0.21.0/node_modules/vscode-jsonrpc/lib/events.js:120:36)
    at closeHandler (/Users/amatosov/.vscode/extensions/ms-vscode.cpptools-0.21.0/node_modules/vscode-jsonrpc/lib/main.js:226:26)
    at CallbackList.invoke (/Users/amatosov/.vscode/extensions/ms-vscode.cpptools-0.21.0/node_modules/vscode-jsonrpc/lib/events.js:62:39)
    at Emitter.fire (/Users/amatosov/.vscode/extensions/ms-vscode.cpptools-0.21.0/node_modules/vscode-jsonrpc/lib/events.js:120:36)
    at StreamMessageReader.fireClose (/Users/amatosov/.vscode/extensions/ms-vscode.cpptools-0.21.0/node_modules/vscode-jsonrpc/lib/messageReader.js:111:27)
    at Socket.listen.readable.on (/Users/amatosov/.vscode/extensions/ms-vscode.cpptools-0.21.0/node_modules/vscode-jsonrpc/lib/messageReader.js:151:46)
    at Socket.emit (events.js:187:15)
    at Pipe.Socket._destroy._handle.close [as _onclose] (net.js:596:12)

C/C++ log is full of

Failed to create IntelliSense client. Can't create intellisense client for <path to h or cpp file>
{
    "configurations": [
        {
            "name": "Mac",
            "includePath": [
                "${workspaceFolder}/Project/**",
                "${workspaceFolder}/../ThirdParty/**"
            ],
            "defines": [],
            "macFrameworkPath": [
                "/System/Library/Frameworks",
                "/Library/Frameworks",
                "${workspaceFolder}/../ThirdParty/**"
            ],
            "compilerPath": "/usr/bin/clang",
            "cStandard": "c11",
            "cppStandard": "c++14",
            "intelliSenseMode": "clang-x64"
        }
    ],
    "version": 4
}
Language Service bug fixed (release pending) more info needed

Most helpful comment

@sean-mcmanus with latest release I get exactly same errors but no crash logs

All 6 comments

Thanks for reporting this issue. These TypeScript errors just let us know that the extension crashed. Fortunately, on macOS, the crash logs should be in your ~/Library/Logs/DiagnosticReports/ folder. If you could open one of those and share the callstack of the crashing thread, that would be very helpful.

Can you try the latest Insiders release? https://github.com/Microsoft/vscode-cpptools/releases

@sean-mcmanus with latest release I get exactly same errors but no crash logs

I got the same issue on Mac OS (10.14.6)

Here is the crash log.
Microsoft.VSCode.CPP.Extension.darwin_2019-09-24-105103_Jins-MacBook-Pro.crash.log

This issue started from version 0.22.0, I have tested all versions since 0.22.0, all of them have this issue, and 0.21.0 works charmingly. Hope this information can help you guys locate the bug.

@bobbrow @sean-mcmanus

@jin-qin This crash should be fixed with 0.26.3.

@amatosov-rbx Is your crash fixed? We did fix a crash with a similar call stack, but I'm not sure if 100% of the cases got fixed (see https://github.com/microsoft/vscode-cpptools/issues/3776 ).

So I'm closing this...let me know if anyone thinks it should be re-activated.

Was this page helpful?
0 / 5 - 0 ratings