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
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- TypeScript
- Sterne
- 2.3k
- Forks
- 546
- Ø Merge
- 20 Std. 1 Min.
- Gemergte PRs (30 T.)
- 11
Beschreibung
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.
Beitragsleitfaden
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Öffne einen Pull Request, der die Issue-Nummer nennt.
Rechercherichtung
Keine Projektquelldatei oder kein Test ist angegeben. Beginne damit, das Startverhalten unter macOS mit den aufgeführten Java-, Maven- und Python-Erweiterungen zu reproduzieren. Untersuche anschließend den Extension Host-Fehler mit dem Verweis auf vscjava.vscode-maven/dist/extension.js und den gemeldeten dsc-Prozess. Erledigt ist die Aufgabe, wenn die Erweiterung oder der Einstiegspunkt identifiziert wurde, der die überzähligen Prozesse erstellt, und eine reproduzierbare Behebung oder Verifizierung dokumentiert ist.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- java, python, typescript
- Bereich
- devtools, performance
- Issue-Typ
- Bug
- Schwierigkeit
- 5/5
- Geschätzter Aufwand
- Über eine Woche
- Aktivitätsstatus
- Veraltet
- Klarheit
- Muss geklärt werden
- Anfängerfreundlichkeit
- 18/100