continuedev / continuedev/continue

Contine spawns multiple continue-binary processes that eat up CPU resources

Open
#3,228 6 comments 1 reaction 1 assignee View on GitHub

@RomneyDa is already working on this.

Since Dec 6, 2024.

area:indexing ide:jetbrains kind:bug needs-triage os:mac
Dominant language
TypeScript
Stars
36k
Forks
5.4k
PR merge metrics
No merged PRs in 30d

Description

Before submitting your bug report
Relevant environment info
- OS: macOS
- Continue version: 0.0.81
- IDE version: PyCharm 2024.3 (Build #PY-243.21565.199)
- Model: Claude Sonnet 3.5
- config.json:


{
  "models": [
    {
      "model": "claude-3-5-sonnet-latest",
      "provider": "anthropic",
      "apiKey": "sk-ant-api03-...",
      "title": "Claude 3.5 Sonnet"
    },
    {
      "model": "claude-3-haiku-20240307",
      "provider": "anthropic",
      "apiKey": "sk-ant-api03-...",
      "title": "Claude 3 Haiku"
    }
  ],
  "tabAutocompleteModel": {
    "title": "Codestral",
    "provider": "mistral",
    "model": "codestral-latest",
    "apiKey": "..."
  },
  "customCommands": [
    {
      "name": "test",
      "prompt": "{{{ input }}}\n\nWrite a comprehensive set of unit tests for the selected code. It should setup, run tests that check for correctness including important edge cases, and teardown. Ensure that the tests are complete and sophisticated. Give the tests just as chat output, don't edit any file.",
      "description": "Write unit tests for highlighted code"
    }
  ],
  "contextProviders": [
    {
      "name": "diff",
      "params": {}
    },
    {
      "name": "folder",
      "params": {}
    },
    {
      "name": "codebase",
      "params": {}
    }
  ],
  "slashCommands": [
    {
      "name": "edit",
      "description": "Edit selected code"
    },
    {
      "name": "comment",
      "description": "Write comments for the selected code"
    },
    {
      "name": "share",
      "description": "Export the current chat session to markdown"
    },
    {
      "name": "commit",
      "description": "Generate a git commit message"
    }
  ],
  "experimental": {
    "modelRoles": {
      "repoMapFileSelection": "Claude 3 Haiku"
    }
  }
}
Description

The continue-binary process uses a lot of CPU. Also, a lot of continue-binary processes are spawned, up to 100% CPU utilization on all cores.

To reproduce

Happens after PyCharm has been in use for a while.

Log output
[2024-12-06T13:29:25] error when indexing:  Error: SQLITE_BUSY: database is locked
[2024-12-06T13:29:25] Indexing failed with error:  Error: SQLITE_BUSY: database is locked 
[2024-12-06T13:29:38] Aborted() 
[2024-12-06T13:29:38] Unable to load language for file /path/to/my-project/.mypy_cache/3.12/some/file.meta.json RuntimeError: Aborted(). Build with -sASSERTIONS for more info.
[2024-12-06T13:30:29] error when indexing:  Error: Failed to generate embeddings for 34 chunks with provider: _TransformersJsEmbeddingsProvider::all-MiniLM-L6-v2: Error: `local_files_only=true` or `env.allowRemoteModels=false` and file was not found locally at "/snapshot/continue/binary/models/all-MiniLM-L6-v2/tokenizer.json".
[2024-12-06T13:30:29] Indexing failed with error:  Error: Failed to generate embeddings for 34 chunks with provider: _TransformersJsEmbeddingsProvider::all-MiniLM-L6-v2: Error: `local_files_only=true` or `env.allowRemoteModels=false` and file was not found locally at "/snapshot/continue/binary/models/all-MiniLM-L6-v2/tokenizer.json". LanceDbIndex.getEmbeddings, process.processTicksAndRejections, async LanceDbIndex.computeRows, async LanceDbIndex.update, async CodebaseIndexer.indexFiles, async CodebaseIndexer.refresh, async Core.refreshCodebaseIndex, async /snapshot/continue/binary/out/index.js:522148:7, async /snapshot/continue/binary/out/index.js:522471:28

(a lot of duplicate log entries have been discarded)

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.