Skip to content

High CPU after update: cpptools repeatedly retries LanguageModelProxy model resolution in Remote-WSL extension host #14241

@ariesfans

Description

@ariesfans

Environment

  • VS Code Remote: WSL
  • Host OS: Windows + WSL2 (Ubuntu)
  • VS Code Server commit: 0870c2a0c7c0564e7631bfed2675573a94ba4455
  • C/C++ extension version: ms-vscode.cpptools 1.30.5 (linux-x64)
  • Workspace type: mixed monorepo (not primarily C/C++)

Bug Summary and Steps to Reproduce

Problem

After updating, VS Code extension host CPU became abnormally high.
The issue appears tied to cpptools repeatedly trying to resolve language models through LanguageModelProxy.

Observed behavior:

  • extensionHost process CPU stays elevated (continuous activity, no idle)
  • cpptools-related processes are active
  • logs are flooded with repeated warnings:
  • LanguageModelProxy](ms-vscode.cpptools) Could not find model 'copilot/...'. Trying to resolve model again.

Evidence

From remoteexthost.log:

  • Repeated lines like:
  • Could not find model 'copilot/claude-haiku-4.5' in local cache. Trying to resolve model again.
  • Could not find model 'copilot/gpt-4.1' in local cache. Trying to resolve model again.
  • Could not find model 'copilot/gpt-4o' in local cache. Trying to resolve model again.
  • Could not find model 'copilot/auto' in local cache. Trying to resolve model again.

Frequency observed:

  • ~30k+ total repeated warnings in one log session
  • ~1.9k warnings in a short recent tail sample

Repro (what happened)

  1. Update VS Code / Remote server.
  2. Open Remote-WSL workspace.
  3. cpptools activates.
  4. extension host starts high-frequency model-resolution retries (warning spam + CPU increase).

Temporary Mitigation

Disabling cpptools in remote WSL immediately reduced CPU usage.

(renamed extension dir to disable and restarted extension host)

Expected

cpptools should not continuously retry model resolution in a tight loop when models are unavailable/unresolvable.
It should back off aggressively or stop retrying after bounded attempts.

Additional note

This looks like a retry/backoff regression or integration mismatch between cpptools LanguageModelProxy usage and current model cache/availability in Remote-WSL.

Configuration and Logs

/root/.vscode-server/extensions/ms-vscode.cpptools-1.30.5-linux-x64.disabled-20260305-174449

I disabled it

Other Extensions

No response

Additional context

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    Projects

    Status

    No status

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions