Skip to content

Language Server crashes when CTRE is in view #12060

Description

@nixxquality

Environment

  • OS and Version: Windows 10
  • VS Code Version: 1.87.0
  • C/C++ Extension Version: v1.19.5

Bug Summary and Steps to Reproduce

Bug Summary:
I wanted to try the interesting looking https://github.com/hanickadot/compile-time-regular-expressions project, so I downloaded the single header version and put it in my workspace. The C++ language server immediately crashes and refuses to work as long as the header is in view.

Steps to reproduce:

  1. Open a new, empty folder in VS Code.
  2. Create a new main.cpp file and enter your favorite Hello world
#include <iostream>

using namespace std;

int main()
{
    cout << "Hello world" << endl;
}
  1. Download the single header version of CTRE: https://raw.githubusercontent.com/hanickadot/compile-time-regular-expressions/main/single-header/ctre.hpp
  2. Put ctre.hpp in the folder
  3. The language server will immediately crash and fail to recover as long as ctre.hpp is in the folder

Configuration and Logs

c_cpp_properties.json is default, because it happens in a new folder as well.

-------- Diagnostics - 3/5/2024, 11:25:44 AM
Version: 1.19.5
Current Configuration:
{
    "name": "Win32",
    "includePath": [
        "c:/Users/Linus/Code/basic test/**",
        "C:/Users/Linus/Code/vcpkg/installed/x64-windows/include",
        "C:/Users/Linus/Code/vcpkg/installed/x86-windows/include"
    ],
    "defines": [
        "_DEBUG",
        "UNICODE",
        "_UNICODE"
    ],
    "windowsSdkVersion": "10.0.22000.0",
    "compilerPath": "cl.exe",
    "cStandard": "c17",
    "cppStandard": "c++17",
    "intelliSenseMode": "windows-msvc-x64",
    "compilerPathInCppPropertiesJson": "cl.exe",
    "intelliSenseModeIsExplicit": false,
    "cStandardIsExplicit": false,
    "cppStandardIsExplicit": false,
    "mergeConfigurations": false,
    "compilerPathIsExplicit": false,
    "browse": {
        "path": [
            "c:/Users/Linus/Code/basic test/**",
            "C:/Users/Linus/Code/vcpkg/installed/x64-windows/include",
            "C:/Users/Linus/Code/vcpkg/installed/x86-windows/include",
            "${workspaceFolder}"
        ],
        "limitSymbolsToIncludedHeaders": true
    }
}
cpptools version (native): 1.19.5.0
No active translation units.

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

There's nothing of interest even with debug logging, it's just a bunch of junk and then it ends and restarts after printing

  tag parsing file: C:\Users\Linus\Code\basic test\ctre.hpp


### Other Extensions

_No response_

### Additional context

_No response_

Metadata

Metadata

Assignees

No one assigned

    Labels

    Language ServicebugfixedCheck the Milestone for the release in which the fix is or will be available.reliabilityverifiedBug has been reproduced

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions