Skip to content

Hundreds of custom configuration requests may be sent on startup before the configuration provider has registered #13166

Closed

Description

If you have a header open on startup, it may try to request configurations for thousands of potential source files, but the configuration provider may not have registered yet and so it may not send any configuration for any of the source files, depending on the timing. It might repro more frequently on a slower machine.

Activity

  1. heartacker commented on Jan 17, 2025

    @heartacker
    Contributor

    catch

  2. Colengms commented on Jan 17, 2025

    @Colengms
    Contributor

    We could add some additional lifecycle messages to track when providers gets registered. That may get a little complicated when factoring in live modifications to cpp_properites.json configurations.

    Another approach would be to have the response indicate it failed due to the configuration provider having not yet registered. The native side could use that as a clue to skip trying to request configurations for the remaining candidates.

    We might also need a message (if there isn't one already) to notify the native side that the registration has occurred, so it can recycle the configs for existing TUs.

  3. sean-mcmanus commented on Jan 17, 2025

    @sean-mcmanus
    ContributorAuthor

    When this issue is hit and the TU ends up falling back to header only IntelliSense, it gets "stuck" that way until a reload window, i.e. it stops requesting for configurations after the configuration provider has registered.

  4. added
    fixedCheck the Milestone for the release in which the fix is or will be available.
    on Feb 7, 2025
  5. changed the title [-]Thousands of custom configuration requests may be sent on startup before the configuration provider has registered[/-] [+]Hundreds of custom configuration requests may be sent on startup before the configuration provider has registered[/+] on Feb 7, 2025
  6. locked and limited conversation to collaborators on Mar 4, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Feature: Configuration ProviderRelated to the configurationProvider property, e.g. ms-vscode.cmake-tools, ms-vscode.makefile-tools.Language ServicebugfixedCheck the Milestone for the release in which the fix is or will be available.

    Type

    Projects

    • Status
      Done

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions