Skip to content

Intellisense hang - Reliable reproduction #12434

@pmolodo

Description

@pmolodo

Environment

  • OS and Version: Windows 11 23H2
  • VS Code Version: 1.90.2
  • C/C++ Extension Version: 1.20.5
  • If using SSH remote, specify OS of remote machine: N/A

Bug Summary and Steps to Reproduce

Intellisense hang - Reliable reproduction

  • OS and Version: Windows 11 23H2
  • VS Code Version: 1.90.2
  • C/C++ Extension Version: 1.20.5
  • If using SSH remote, specify OS of remote machine: N/A

Bug Summary:
Infinite hang on "IntelliSense: Updating", and inability to browse source files

Steps to reproduce:

  1. git clone https://github.com/pmolodo/vscode_cpp_intellisense_fail.git 
    cd vscode_cpp_intellisense_fail
    ...or just create an empty directory, manually download repro.ps1
    and [settings.json(https://github.com/pmolodo/vscode_cpp_intellisense_fail/blob/main/settings.json)] from the above repo into it, and cd in
  2. powershell -ExecutionPolicy ByPass ./repro.ps1
    ...or inspect repro.ps1 and manually execute the commands, it's not long
  3. This should launch a fresh vscode workspace for OpenUSD, with only the ms-vscode.cpptools extension installed
  4. It should have already opened pxr\imaging\plugin\hdEmbree\renderer.cpp - if not, browse and open it
  5. Wait for the file parser to finish
  6. In the C++ output log, you should see that it's able to find most of the relevant source in the repo - at
    least enough to allow basic source browsing
  7. IntelliSense, however, will keep spinning, stuck on "IntelliSense: Updating"
  8. Try ctrl-clicking to browse to one of the headers - ie, pxr/imaging/plugin/hdEmbree/renderBuffer.h
  9. Witness the nothing!

Expected behavior:

  1. IntelliSense should finish, and at least basic file browsing should be possible

Configuration and Logs

  • There's no c_cpp_properties.json in my example - it's using a fresh workspace with default settings. However, the default includePath=${workspaceFolder}\** should be enough for it to do basic discovery and file browsing, at least.
    Running C/C++: Log Diagnostics didn't have any obvious effect...?
  • The output setting the language server logging to "Debug" are also in the above repo:
    cpptools.debug.log

Other Extensions

No response

Additional context

NOTE: the above reproduction was trying to browse a codebase that has not been built yet, and without all the dependencies, for easier / faster reproduction. However, the issue still happens with a complete / functioning build, with all dependencies. To reproduce this scenario (be prepared to wait!) on a "built" repo, with all dependencies, you can follow these steps:

  • Install python 3.10, add it to your path
  • Open a Visual Studio Developer Command Prompt
  • cd into the OpenUSD directory
    NOTE: Make sure your OpenUSD directory absolute filepath isn't too long, or the build may
    hit the Windows max file path limit...
  • pip install jinja2 pyopengl PySide6
  • python build_scripts\build_usd.py _install -v

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    Status

    Done

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions