redhat-developer / redhat-developer/vscode-java
VSCode spawns too many dsc processes randomly (usually on new instance startup) - causes High CPU/Memory and sometimes system crash
まだ誰も着手していません。
- 主要言語
- TypeScript
- スター
- 2.3k
- フォーク
- 546
- 平均マージ
- 20時間 1分
- マージ済み PR(30日)
- 11
説明
Port from https://github.com/microsoft/vscode/issues/120649
Issue Type: Performance Issue
VSCode spawns too many dsc processes randomly (usually on new instance startup)
My Macbook Pro goes to 100% fan speed and +95 degrees CPU until it crashes or runs out of system memory (not always)
If I manage to close VSCode quickly it goes away after a while
I don't know what this dsc process is [parent process: Code Helper (Renderer)]
There are a lot of Python processes as well.

I suspect it is some extension, tried with disabling all extensions and reloading the window, and seems to help on startup... after reenabling the extensions the fans quickly go to 100% again but don't know how to test which extension it is
Suspect on Java Extension Pack and Language Support for Java(TM) by Red Hat which are the latest ones I installed
I usually have 3-4 instances of VSCode open, the issue happens usually by the end of the workday after the instances were open a while and I open/close new ones.
VS Code version: Code 1.55.0 (c185983a683d14c396952dd432459097bc7f757f, 2021-03-30T16:01:05.981Z)
OS version: Darwin x64 20.3.0
System Info
| Item | Value |
|---|---|
| CPUs | Intel(R) Core(TM) i7-8750H CPU @ 2.20GHz (12 x 2200) |
| GPU Status | 2d_canvas: enabled gpu_compositing: enabled metal: disabled_off multiple_raster_threads: enabled_on oop_rasterization: enabled opengl: enabled_on protected_video_decode: unavailable_off rasterization: enabled skia_renderer: disabled_off_ok video_decode: enabled webgl: enabled webgl2: enabled |
| Load (avg) | 6, 6, 32 |
| Memory (System) | 16.00GB (4.24GB free) |
| Process Argv | --crash-reporter-id 78df903b-f939-4bb4-a641-bdc335175a99 |
| Screen Reader | no |
| VM | 0% |
Process Info
CPU % Mem MB PID Process
27 131 78309 code main
6 82 78312 gpu-process
0 33 78314 utility
22 164 78841 shared-process
0 33 78843 ptyHost
0 16 78951 /bin/zsh -l
0 0 80614 /bin/ps -ax -o pid=,ppid=,pcpu=,pmem=,command=
18 279 80364 window (index.ts — propeller-api-services)
1 377 80368 extensionHost
0 115 80379 electron_node tsserver.js
0 213 80380 electron_node tsserver.js
0 82 80425 electron_node typingsInstaller.js typesMap.js
0 66 80385 electron_node server.js
0 213 80413 electron_node server.js
0 82 80419 electron_node server.js
0 49 80440 electron_node server.js
0 246 80534 electron_node eslintServer.js
0 33 80538 electron_node ssmServer.js
0 33 80591 electron_node aslServer.js
0 49 80593 /Applications/Visual Studio Code.app/Contents/Frameworks/Code Helper (Renderer).app/Contents/MacOS/Code Helper (Renderer) /Applications/Visual Studio Code.app/Contents/Resources/app/extensions/json-language-features/server/dist/node/jsonServerMain --node-ipc --clientProcessId=80368
0 33 80598 electron_node server.js
0 33 80369 watcherService
0 33 80370 searchService
28 49 80612 window (Issue Reporter)
Workspace Info
| Window (index.ts — propeller-api-services)
| Folder (propeller-api-services): 16 files
| File types: json(4) yaml(2) ts(2) env(1) gitignore(1) nvmrc(1)
| prettierrc(1) md(1)
| Conf files: package.json(1) tsconfig.json(1);
Extensions (67)
| Extension | Author (truncated) | Version |
|---|---|---|
| better-comments | aar | 2.1.0 |
| vscode-css-formatter | aes | 1.0.1 |
| aws-toolkit-vscode | ama | 1.22.0 |
| jest-snippets | and | 1.8.0 |
| vscode-apollo | apo | 1.18.2 |
| path-intellisense | chr | 2.3.0 |
| gitignore | cod | 0.6.0 |
| bracket-pair-colorizer | Coe | 1.0.61 |
| vscode-markdownlint | Dav | 0.40.1 |
| vscode-eslint | dba | 2.1.19 |
| vscode-dash | dee | 2.4.0 |
| githistory | don | 0.6.16 |
| gitlens | eam | 11.3.0 |
| EditorConfig | Edi | 0.16.4 |
| LogFileHighlighter | emi | 2.11.0 |
| vscode-great-icons | emm | 2.1.73 |
| prettier-vscode | esb | 6.3.2 |
| vscode-todo-plus | fab | 4.18.3 |
| vscode-jest-runner | fir | 0.4.31 |
| vscode-pull-request-github | Git | 0.25.0 |
| go | gol | 0.23.3 |
| cloudcode | goo | 1.10.0 |
| vscode-graphql | Gra | 0.3.15 |
| terraform | has | 2.9.1 |
| jsonnet | hep | 0.1.0 |
| output-colorizer | IBM | 0.1.2 |
| coldfusion | ili | 1.0.1 |
| cypher-query-language | jak | 1.0.2 |
| golang-tdd | joa | 0.0.9 |
| rainbow-csv | mec | 1.8.1 |
| dotenv | mik | 1.0.1 |
| file-downloader | min | 1.0.10 |
| mindaro | min | 1.0.120210401 |
| vscode-docker | ms- | 1.11.0 |
| kind-vscode | ms- | 0.0.3 |
| vscode-aks-tools | ms- | 0.0.8 |
| vscode-kubernetes-tools | ms- | 1.3.0 |
| python | ms- | 2021.3.680753044 |
| jupyter | ms- | 2021.5.702919634 |
| remote-containers | ms- | 0.166.0 |
| azure-account | ms- | 0.9.8 |
| debugger-for-chrome | msj | 4.12.12 |
| color-highlight | nau | 2.3.0 |
| vscode-jest | Ort | 3.2.0 |
| material-icon-theme | PKi | 4.6.0 |
| prisma | Pri | 2.20.1 |
| fabric8-analytics | red | 0.3.2 |
| java | red | 0.76.0 |
| vscode-commons | red | 0.0.4 |
| vscode-yaml | red | 0.17.0 |
| LiveServer | rit | 5.6.1 |
| ksql | rmo | 0.1.4 |
| rust | rus | 0.7.8 |
| code-settings-sync | Sha | 3.4.3 |
| mdx | sil | 0.1.0 |
| code-spell-checker | str | 1.10.2 |
| vsfire | tob | 1.4.1 |
| vscodeintellicode | Vis | 1.2.12 |
| vscode-java-debug | vsc | 0.32.1 |
| vscode-java-dependency | vsc | 0.18.2 |
| vscode-java-pack | vsc | 0.13.0 |
| vscode-java-test | vsc | 0.28.1 |
| vscode-maven | vsc | 0.28.0 |
| vscode-todo-highlight | way | 1.0.4 |
| vscode-import-cost | wix | 2.15.0 |
| markdown-all-in-one | yzh | 3.4.0 |
| vscode-proto3 | zxh | 0.5.3 |
A/B Experiments
vsliv368cf:30146710
vsreu685:30147344
python383:30185418
pythonvspyt678:30270856
vspor879:30202332
vspor708:30202333
vspor363:30204092
vstry914:30276682
pythonvsdeb440:30248342
pythonvsded773:30248341
pythonvspyt875:30259475
pythonvspyt639:30281910
pythontb:30283811
openwsldoc:30282072
vspre833:30267464
pythonptprofiler:30281270
vshan820:30276952
pythondataviewer:30285071
Environment
- Operating System: macOS BigSur 11.2.3 (20D91)
- JDK version: openjdk 11.0.10 2021-01-19
- Visual Studio Code version: 1.55.0
- Java extension version: 0.76.0
Not a lot of error messages
[Extension Host] Error: Background process terminated with code 1. at ChildProcess.<anonymous> (/Users/bojanche/.vscode/extensions/vscjava.vscode-maven-0.28.0/dist/extension.js:16:27203) at ChildProcess.emit (events.js:315:20) at ChildProcess.EventEmitter.emit (domain.js:483:12) at Process.ChildProcess._handle.onexit (internal/child_process.js:275:12)
v @ console.ts:137
$logExtensionHostMessage @ mainThreadConsole.ts:35
_doInvokeHandler @ rpcProtocol.ts:417
_invokeHandler @ rpcProtocol.ts:402
_receiveRequest @ rpcProtocol.ts:318
_receiveOneMessage @ rpcProtocol.ts:245
(anonymous) @ rpcProtocol.ts:110
fire @ event.ts:622
fire @ ipc.net.ts:468
_receiveMessage @ ipc.net.ts:821
(anonymous) @ ipc.net.ts:660
fire @ event.ts:622
acceptChunk @ ipc.net.ts:241
(anonymous) @ ipc.net.ts:202
k @ ipc.net.ts:50
emit @ events.js:315
addChunk @ _stream_readable.js:295
readableAddChunk @ _stream_readable.js:271
Readable.push @ _stream_readable.js:212
onStreamRead @ internal/stream_base_commons.js:186
Few warnings
Overwriting grammar scope name to file mapping for scope source.java.
Old grammar file: file:///Applications/Visual%20Studio%20Code.app/Contents/Resources/app/extensions/java/syntaxes/java.tmLanguage.json.
New grammar file: file:///Users/bojanche/.vscode/extensions/redhat.java-0.76.0/syntaxes/java.tmLanguage.json
register @ TMScopeRegistry.ts:45
R @ TMGrammarFactory.ts:73
_getOrCreateGrammarFactory @ abstractTextMateService.ts:246
async function (async)
_getOrCreateGrammarFactory @ abstractTextMateService.ts:235
(anonymous) @ abstractTextMateService.ts:271
_registerDefinitionIfAvailable @ abstractTextMateService.ts:289
(anonymous) @ abstractTextMateService.ts:181
fire @ event.ts:622
_getOrCreateMode @ modeServiceImpl.ts:167
_createModeAndGetLanguageIdentifier @ modeServiceImpl.ts:143
(anonymous) @ modeServiceImpl.ts:136
y @ modeServiceImpl.ts:28
createByFilepathOrFirstLine @ modeServiceImpl.ts:134
getOrCreateMode @ textEditorModel.ts:134
createTextEditorModel @ textEditorModel.ts:90
doCreateTextModel @ textFileEditorModel.ts:510
loadFromContent @ textFileEditorModel.ts:490
loadFromFile @ textFileEditorModel.ts:423
async function (async)
loadFromFile @ textFileEditorModel.ts:410
doLoad @ textFileEditorModel.ts:290
async function (async)
doLoad @ textFileEditorModel.ts:283
load @ textFileEditorModel.ts:270
resolve @ textFileEditorModelManager.ts:306
doCreateReferencedObject @ textModelResolverService.ts:63
createReferencedObject @ textModelResolverService.ts:37
acquire @ lifecycle.ts:265
createModelReference @ textModelResolverService.ts:197
_handleAsResourceInput @ mainThreadDocuments.ts:268
$tryOpenDocument @ mainThreadDocuments.ts:244
_doInvokeHandler @ rpcProtocol.ts:417
_invokeHandler @ rpcProtocol.ts:402
_receiveRequest @ rpcProtocol.ts:318
_receiveOneMessage @ rpcProtocol.ts:245
(anonymous) @ rpcProtocol.ts:110
fire @ event.ts:622
fire @ ipc.net.ts:468
_receiveMessage @ ipc.net.ts:821
(anonymous) @ ipc.net.ts:660
fire @ event.ts:622
acceptChunk @ ipc.net.ts:241
(anonymous) @ ipc.net.ts:202
k @ ipc.net.ts:50
emit @ events.js:315
addChunk @ _stream_readable.js:295
readableAddChunk @ _stream_readable.js:271
Readable.push @ _stream_readable.js:212
onStreamRead @ internal/stream_base_commons.js:186
Please let me know if more info or logs is needed.
コントリビューションガイド
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
調査の方向性
プロジェクトのソースファイルもテストも指定されていません。まず、記載されている Java、Maven、Python の拡張機能を使用して macOS で起動時の動作を再現し、次に vscjava.vscode-maven/dist/extension.js を参照している Extension Host エラーと、報告された dsc プロセスを調査します。余分なプロセスを作成している拡張機能またはエントリポイントを特定し、再現可能な修正または検証を文書化できれば完了です。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- java, python, typescript
- 領域
- devtools, performance
- issue の種類
- バグ
- 難易度
- 5/5
- 見積もり時間
- 1週間以上
- 活発さ
- 停滞
- 明瞭さ
- 説明が足りない
- 初心者へのやさしさ
- 18/100