Skip to content

Language server crash with version 1.14.x with a recursive environment variable on Windows #10704

Closed
@psclkhoury

Description

@psclkhoury

Environment

  • OS and Version: Windows 10
  • VS Code Version: 1.76.2
  • C/C++ Extension Version: 1.14.4

Bug Summary and Steps to Reproduce

I open a folder which contains only a c_cpp_properties.json. After a bit of time I get a notification that the C/C++ language server has crashed and I see this in the output:

[Error - 2:27:00 PM] Sending request cpptools/queryCompilerDefaults failed.
  Message: Pending response rejected since connection got disposed
  Code: -32097 
[Error - 2:27:00 PM] The language server crashed. Restarting...
[Error - 2:27:00 PM] Sending document notification textDocument/didOpen failed
Error: Unsupported client
	at DefaultClient.<anonymous> (c:\Users\my-username\.vscode\extensions\ms-vscode.cpptools-1.14.4-win32-x64\dist\main.js:41758:23)
	at Generator.next (<anonymous>)
	at c:\Users\my-username\.vscode\extensions\ms-vscode.cpptools-1.14.4-win32-x64\dist\main.js:40304:71
	at new Promise (<anonymous>)
	at __webpack_modules__.9325.__awaiter (c:\Users\my-username\.vscode\extensions\ms-vscode.cpptools-1.14.4-win32-x64\dist\main.js:40300:12)
	at DefaultClient.queueTask (c:\Users\my-username\.vscode\extensions\ms-vscode.cpptools-1.14.4-win32-x64\dist\main.js:41735:16)
	at DefaultClient.requestWhenReady (c:\Users\my-username\.vscode\extensions\ms-vscode.cpptools-1.14.4-win32-x64\dist\main.js:41793:21)
	at c:\Users\my-username\.vscode\extensions\ms-vscode.cpptools-1.14.4-win32-x64\dist\main.js:47697:56
	at Generator.next (<anonymous>)
	at c:\Users\my-username\.vscode\extensions\ms-vscode.cpptools-1.14.4-win32-x64\dist\main.js:47681:71
	at new Promise (<anonymous>)
	at __webpack_modules__.9696.__awaiter (c:\Users\my-username\.vscode\extensions\ms-vscode.cpptools-1.14.4-win32-x64\dist\main.js:47677:12)
	at Object.didOpen (c:\Users\my-username\.vscode\extensions\ms-vscode.cpptools-1.14.4-win32-x64\dist\main.js:47694:45)
	at c:\Users\my-username\.vscode\extensions\ms-vscode.cpptools-1.14.4-win32-x64\dist\main.js:68549:50
	at Array.forEach (<anonymous>)
	at DidOpenTextDocumentFeature.register (c:\Users\my-username\.vscode\extensions\ms-vscode.cpptools-1.14.4-win32-x64\dist\main.js:68539:42)
	at DidOpenTextDocumentFeature.initialize (c:\Users\my-username\.vscode\extensions\ms-vscode.cpptools-1.14.4-win32-x64\dist\main.js:68527:18)
	at LanguageClient.initializeFeatures (c:\Users\my-username\.vscode\extensions\ms-vscode.cpptools-1.14.4-win32-x64\dist\main.js:61402:21)
	at LanguageClient.doInitialize (c:\Users\my-username\.vscode\extensions\ms-vscode.cpptools-1.14.4-win32-x64\dist\main.js:60915:18)
	at async LanguageClient.start (c:\Users\my-username\.vscode\extensions\ms-vscode.cpptools-1.14.4-win32-x64\dist\main.js:60797:13)

image

I only have a c_cpp_properties.json and no compile_commands.json.
The c_cpp_properties.json file has the following entries:

{
  "configurations": [
    {
      "name": "Win32",
      "includePath": [
        "${workspaceFolder}/**",
        ...
      ],
      "defines": [
        ...
      ]
    }
  ],
  "version": 4
}

If I downgrade to version 1.13.9 I don't have that problem.

Configuration and Logs

The Log Diagnostics command is not working on version `1.14.x`, but here is the (reduced because of company policies) one from version `1.13.9`:


-------- Diagnostics - 3/20/2023, 2:37:07 PM
Version: 1.13.9
Current Configuration:
{
    "name": "Win32",
    "includePath": [
        "${workspaceFolder}/**",
        ...
    ],
    "defines": [
        ...
    ],
    "compilerPathIsExplicit": false,
    "cStandardIsExplicit": true,
    "cppStandardIsExplicit": true,
    "intelliSenseModeIsExplicit": true,
    "macFrameworkPath": [],
    "windowsSdkVersion": "10.0.19041.0",
    "cStandard": "c17",
    "cppStandard": "c++20",
    "intelliSenseMode": "msvc-x64",
    "mergeConfigurations": false,
    "compilerPath": "C:/Program Files (x86)/Microsoft Visual Studio/2019/Professional/VC/Tools/MSVC/14.27.29110/bin/Hostx64/x64/cl.exe",
    "browse": {
        "path": [
            "${workspaceFolder}/**",
            
        ]
    }
}
Translation Unit Mappings:
[ c:\workdir\CppFile.cpp ]:
    c:\workdir\CppFile.cpp
Translation Unit Configurations:
[ c:\workdir\CppFile.cpp ]: not ready
    Process ID: 23788
    Memory Usage: 221 MB
    Compiler Path: C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.27.29110\bin\Hostx64\x64\cl.exe
    Includes:
        U:\include
        V:\include
        C:\Program Files (x86)\Windows Kits\10\Include\10.0.17134.0\cppwinrt
        C:\Program Files (x86)\Windows Kits\NETFXSDK\4.8\Include\um
        
    Defines:
        
    Standard Version: ms_c++20
    IntelliSense Mode: windows-msvc-x64
Total Memory Usage: 231 MB

------- Workspace parsing diagnostics -------
Number of files discovered (not excluded): 220379


### Other Extensions

_No response_

### Additional context

_No response_

Metadata

Metadata

Assignees

Labels

Language ServicebugfixedCheck the Milestone for the release in which the fix is or will be available.

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions