VSCodeVim / VSCodeVim/Vim

enter "{},(),[]" freeze vsc

Open
#7,739 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
TypeScript
Stars
15.2k
Forks
1.5k
Avg merge
3d 18h
Merged PRs (30d)
6

Description

Describe the bug
when ever input "{}, (), []", vsc got freeze for 3-4 seconds.

To Reproduce
Enter " {}" or "()" or "[]"

Expected behavior
it should not freeze at all.

Screenshots
profile.txt

Environment (please complete the following information):

  • Extension (VsCodeVim) version: 1.22.2
  • VSCode version: Version: 1.67.2
    Commit: c3511e6c69bb39013c4a4b7b9566ec1ca73fc4d5
    Date: 2022-05-17T18:20:57.384Z (2 wks ago)
    Electron: 17.4.1
    Chromium: 98.0.4758.141
    Node.js: 16.13.0
    V8: 9.8.177.13-electron.0
    OS: Darwin x64 21.1.0

I have attched the profile, when the freeze happens, there is output like this:

[2022-06-04 12:46:51.437] [renderer7] [info] UNRESPONSIVE extension host: starting to profile NOW
[2022-06-04 12:46:51.703] [renderer7] [info] UNRESPONSIVE extension host: received responsive event and cancelling profiling session
[2022-06-04 12:46:51.750] [renderer7] [warning] UNRESPONSIVE extension host: 'vscodevim.vim' took 99% of 322.022ms, saved PROFILE here: 'file:///var/folders/kq/l0_fptg525sgxdjs25gqsq440000gn/T/exthost-6cdb1d.cpuprofile' [{"id":"gc","total":416,"percentage":0},{"id":"self","total":1044,"percentage":0},{"id":"vscode.merge-conflict","total":128,"percentage":0},{"id":"vscodevim.vim","total":320386,"percentage":99}]

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.

Research direction

Start with the attached profile.txt and the VSCodeVim extension-host handling triggered by entering {}, (), or []. Reproduce the freeze and compare profiling output; done means these inputs no longer freeze VS Code for several seconds or make the extension host unresponsive.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript, vscode
Domain
devtools
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.