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
Chưa có ai nhận issue này.
- Ngôn ngữ chính
- TypeScript
- Star
- 2.3k
- Fork
- 546
- Merge trung bình
- 20 giờ 1 phút
- Pull request đã merge (30 ngày)
- 11
Mô tả
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.
Hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Hướng nghiên cứu
Không có tệp mã nguồn dự án hoặc bài kiểm thử nào được nêu tên. Trước tiên, hãy tái hiện hành vi khởi động trên macOS với các extension Java, Maven và Python được liệt kê, sau đó kiểm tra lỗi Extension Host tham chiếu đến vscjava.vscode-maven/dist/extension.js và tiến trình dsc được báo cáo. Công việc được xem là hoàn tất khi xác định được extension hoặc entry point tạo ra các tiến trình dư thừa và ghi lại một cách khắc phục hoặc xác minh có thể tái hiện.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Đánh giá
- Công nghệ
- java, python, typescript
- Lĩnh vực
- devtools, performance
- Loại issue
- Lỗi
- Độ khó
- 5/5
- Thời gian dự kiến
- Hơn một tuần
- Mức độ hoạt động
- Đình trệ
- Độ rõ ràng
- Cần làm rõ
- Mức phù hợp với người mới
- 18/100