-
Notifications
You must be signed in to change notification settings - Fork 1.7k
Description
Environment
- OS and Version: Windows 11 Version 23H2
- VS Code Version: 1.103.1
- C/C++ Extension Version: 1.26.3
- If using SSH remote, specify OS of remote machine: Windows Server 2016 Version 1607
Bug Summary and Steps to Reproduce
Bug Summary:
After upgrading the C++ extension to 1.26.3, the language server immediately crashes and no longer functions. Since it crashes nearly instantly, I wasn't able to attach the debugger to cpptools.exe to get a crash log. I've tried it with a empty workspace with a single C file and the result was the same.
Steps to reproduce:
- Install C++ extension version 1.26.3
- Open C file
- Alerts of the language service crashing appear immediately.
Expected behavior:
Language server does not crash.
Configuration and Logs
c_cpp_properties.json is default.
Can't run Log Diagnostics since it crashes instantly.
"cpptools" output:
[Error - 3:41:56 PM] Server initialization failed.
Message: Pending response rejected since connection got disposed
Code: -32097
[Error - 3:41:56 PM] The language server crashed 5 times in the last 3 minutes. It will not be restarted.
[Error - 3:41:56 PM] cpptools client: couldn't create connection to server.
Message: Pending response rejected since connection got disposed
Code: -32097
Extension Host (Remote) output:
2025-08-14 15:41:52.817 [info] ExtensionService#_doActivateExtension ms-vscode.cpptools, startup: false, activationEvent: 'onLanguage:c'
2025-08-14 15:41:56.421 [error] Error: write EPIPE
at afterWriteDispatched (node:internal/stream_base_commons:159:15)
at writeGeneric (node:internal/stream_base_commons:150:3)
at Socket._writeGeneric (node:net:966:11)
at Socket._write (node:net:978:8)
at writeOrBuffer (node:internal/streams/writable:572:12)
at _write (node:internal/streams/writable:501:10)
at Writable.write (node:internal/streams/writable:510:10)
at c:\Users\sparedes\.vscode-server\extensions\ms-vscode.cpptools-1.26.3-win32-x64\dist\src\main.js:61452:29
at new Promise (<anonymous>)
at WritableStreamWrapper.write (c:\Users\sparedes\.vscode-server\extensions\ms-vscode.cpptools-1.26.3-win32-x64\dist\src\main.js:61439:16)
at StreamMessageWriter.doWrite (c:\Users\sparedes\.vscode-server\extensions\ms-vscode.cpptools-1.26.3-win32-x64\dist\src\main.js:9801:34)
2025-08-14 15:41:56.422 [error] Error: Client is not running and can't be stopped. It's current state is: starting
at LanguageClient.shutdown (c:\Users\sparedes\.vscode-server\extensions\ms-vscode.cpptools-1.26.3-win32-x64\dist\src\main.js:85511:19)
at LanguageClient.stop (c:\Users\sparedes\.vscode-server\extensions\ms-vscode.cpptools-1.26.3-win32-x64\dist\src\main.js:85482:21)
at LanguageClient.stop (c:\Users\sparedes\.vscode-server\extensions\ms-vscode.cpptools-1.26.3-win32-x64\dist\src\main.js:1194:22)
at LanguageClient.doInitialize (c:\Users\sparedes\.vscode-server\extensions\ms-vscode.cpptools-1.26.3-win32-x64\dist\src\main.js:85464:27)
at process.processTicksAndRejections (node:internal/process/task_queues:105:5)
at async LanguageClient.start (c:\Users\sparedes\.vscode-server\extensions\ms-vscode.cpptools-1.26.3-win32-x64\dist\src\main.js:85319:13)
at async DefaultClient.createLanguageClient (c:\Users\sparedes\.vscode-server\extensions\ms-vscode.cpptools-1.26.3-win32-x64\dist\src\main.js:65722:9)
at async DefaultClient.init (c:\Users\sparedes\.vscode-server\extensions\ms-vscode.cpptools-1.26.3-win32-x64\dist\src\main.js:65376:14)
2025-08-14 15:41:56.670 [error] Error: Pending response rejected since connection got disposed
at Object.dispose (c:\Users\sparedes\.vscode-server\extensions\ms-vscode.cpptools-1.26.3-win32-x64\dist\src\main.js:107540:27)
at Object.dispose (c:\Users\sparedes\.vscode-server\extensions\ms-vscode.cpptools-1.26.3-win32-x64\dist\src\main.js:86111:35)
at LanguageClient.handleConnectionClosed (c:\Users\sparedes\.vscode-server\extensions\ms-vscode.cpptools-1.26.3-win32-x64\dist\src\main.js:85702:34)
at LanguageClient.handleConnectionClosed (c:\Users\sparedes\.vscode-server\extensions\ms-vscode.cpptools-1.26.3-win32-x64\dist\src\main.js:1224:22)
at closeHandler (c:\Users\sparedes\.vscode-server\extensions\ms-vscode.cpptools-1.26.3-win32-x64\dist\src\main.js:85689:18)
at CallbackList.invoke (c:\Users\sparedes\.vscode-server\extensions\ms-vscode.cpptools-1.26.3-win32-x64\dist\src\main.js:68244:39)
at Emitter.fire (c:\Users\sparedes\.vscode-server\extensions\ms-vscode.cpptools-1.26.3-win32-x64\dist\src\main.js:68306:36)
at closeHandler (c:\Users\sparedes\.vscode-server\extensions\ms-vscode.cpptools-1.26.3-win32-x64\dist\src\main.js:106687:26)
at CallbackList.invoke (c:\Users\sparedes\.vscode-server\extensions\ms-vscode.cpptools-1.26.3-win32-x64\dist\src\main.js:68244:39)
at Emitter.fire (c:\Users\sparedes\.vscode-server\extensions\ms-vscode.cpptools-1.26.3-win32-x64\dist\src\main.js:68306:36)
at StreamMessageReader.fireClose (c:\Users\sparedes\.vscode-server\extensions\ms-vscode.cpptools-1.26.3-win32-x64\dist\src\main.js:78380:27)
at Socket.<anonymous> (c:\Users\sparedes\.vscode-server\extensions\ms-vscode.cpptools-1.26.3-win32-x64\dist\src\main.js:78465:42)
at Socket.emit (node:events:530:35)
at Pipe.<anonymous> (node:net:346:12)
2025-08-14 15:41:56.671 [error] Error: Client is not running and can't be stopped. It's current state is: starting
at LanguageClient.shutdown (c:\Users\sparedes\.vscode-server\extensions\ms-vscode.cpptools-1.26.3-win32-x64\dist\src\main.js:85511:19)
at LanguageClient.stop (c:\Users\sparedes\.vscode-server\extensions\ms-vscode.cpptools-1.26.3-win32-x64\dist\src\main.js:85482:21)
at LanguageClient.stop (c:\Users\sparedes\.vscode-server\extensions\ms-vscode.cpptools-1.26.3-win32-x64\dist\src\main.js:1194:22)
at LanguageClient.doInitialize (c:\Users\sparedes\.vscode-server\extensions\ms-vscode.cpptools-1.26.3-win32-x64\dist\src\main.js:85464:27)
at async LanguageClient.start (c:\Users\sparedes\.vscode-server\extensions\ms-vscode.cpptools-1.26.3-win32-x64\dist\src\main.js:85319:13)
at async DefaultClient.createLanguageClient (c:\Users\sparedes\.vscode-server\extensions\ms-vscode.cpptools-1.26.3-win32-x64\dist\src\main.js:65722:9)
at async DefaultClient.init (c:\Users\sparedes\.vscode-server\extensions\ms-vscode.cpptools-1.26.3-win32-x64\dist\src\main.js:65376:14)
2025-08-14 15:41:56.835 [error] Error: Client is not running and can't be stopped. It's current state is: starting
at LanguageClient.shutdown (c:\Users\sparedes\.vscode-server\extensions\ms-vscode.cpptools-1.26.3-win32-x64\dist\src\main.js:85511:19)
at LanguageClient.stop (c:\Users\sparedes\.vscode-server\extensions\ms-vscode.cpptools-1.26.3-win32-x64\dist\src\main.js:85482:21)
at LanguageClient.stop (c:\Users\sparedes\.vscode-server\extensions\ms-vscode.cpptools-1.26.3-win32-x64\dist\src\main.js:1194:22)
at LanguageClient.doInitialize (c:\Users\sparedes\.vscode-server\extensions\ms-vscode.cpptools-1.26.3-win32-x64\dist\src\main.js:85464:27)
at async LanguageClient.start (c:\Users\sparedes\.vscode-server\extensions\ms-vscode.cpptools-1.26.3-win32-x64\dist\src\main.js:85319:13)
at async DefaultClient.createLanguageClient (c:\Users\sparedes\.vscode-server\extensions\ms-vscode.cpptools-1.26.3-win32-x64\dist\src\main.js:65722:9)
at async DefaultClient.init (c:\Users\sparedes\.vscode-server\extensions\ms-vscode.cpptools-1.26.3-win32-x64\dist\src\main.js:65376:14)
2025-08-14 15:41:57.423 [error] Error: Client is not running and can't be stopped. It's current state is: starting
at LanguageClient.shutdown (c:\Users\sparedes\.vscode-server\extensions\ms-vscode.cpptools-1.26.3-win32-x64\dist\src\main.js:85511:19)
at LanguageClient.stop (c:\Users\sparedes\.vscode-server\extensions\ms-vscode.cpptools-1.26.3-win32-x64\dist\src\main.js:85482:21)
at LanguageClient.stop (c:\Users\sparedes\.vscode-server\extensions\ms-vscode.cpptools-1.26.3-win32-x64\dist\src\main.js:1194:22)
at LanguageClient.doInitialize (c:\Users\sparedes\.vscode-server\extensions\ms-vscode.cpptools-1.26.3-win32-x64\dist\src\main.js:85464:27)
at async LanguageClient.start (c:\Users\sparedes\.vscode-server\extensions\ms-vscode.cpptools-1.26.3-win32-x64\dist\src\main.js:85319:13)
at async DefaultClient.createLanguageClient (c:\Users\sparedes\.vscode-server\extensions\ms-vscode.cpptools-1.26.3-win32-x64\dist\src\main.js:65722:9)
at async DefaultClient.init (c:\Users\sparedes\.vscode-server\extensions\ms-vscode.cpptools-1.26.3-win32-x64\dist\src\main.js:65376:14)
2025-08-14 15:41:57.538 [error] Error: Client is not running and can't be stopped. It's current state is: starting
at LanguageClient.shutdown (c:\Users\sparedes\.vscode-server\extensions\ms-vscode.cpptools-1.26.3-win32-x64\dist\src\main.js:85511:19)
at LanguageClient.stop (c:\Users\sparedes\.vscode-server\extensions\ms-vscode.cpptools-1.26.3-win32-x64\dist\src\main.js:85482:21)
at LanguageClient.stop (c:\Users\sparedes\.vscode-server\extensions\ms-vscode.cpptools-1.26.3-win32-x64\dist\src\main.js:1194:22)
at LanguageClient.doInitialize (c:\Users\sparedes\.vscode-server\extensions\ms-vscode.cpptools-1.26.3-win32-x64\dist\src\main.js:85464:27)
at async LanguageClient.start (c:\Users\sparedes\.vscode-server\extensions\ms-vscode.cpptools-1.26.3-win32-x64\dist\src\main.js:85319:13)
at async DefaultClient.createLanguageClient (c:\Users\sparedes\.vscode-server\extensions\ms-vscode.cpptools-1.26.3-win32-x64\dist\src\main.js:65722:9)
at async DefaultClient.init (c:\Users\sparedes\.vscode-server\extensions\ms-vscode.cpptools-1.26.3-win32-x64\dist\src\main.js:65376:14)Other Extensions
No response
Additional context
On my remote system I went into the extension folder (.vscode-server\extensions\ms-vscode.cpptools-1.26.3-win32-x64\bin), and tried to run cpptools.exe directly. This caused an immediate error popup that said "The procedure entry point SetThreadDescription could not be located in the dynamic link library" and then the path to the executable.
Googling that error, it seems that SetThreadDescription might not be supported in Windows Server 2016. So I rolled back the C++ extension to 1.24.5 and everything worked as expected. Obviously, I'd like to keep VSCode up to date, so would it be possible to make cpptools compatible with Windows Server 2016?
Metadata
Metadata
Assignees
Labels
Type
Projects
Status