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

Aperta
#1,867 5 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Lingua principale
TypeScript
Stelle
2.3k
Fork
546
Merge medio
20h 1m
PR unite (30g)
11

Descrizione

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.

Screenshot 2021-04-06 at 17 32 15

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

Please attach logs

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.

Guida per i contributori

Apri la guida per i contributori

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Direzione di ricerca

Non è indicato alcun file sorgente del progetto né alcun test. Inizia riproducendo il comportamento all’avvio su macOS con le estensioni Java, Maven e Python elencate, quindi esamina l’errore di Extension Host che fa riferimento a vscjava.vscode-maven/dist/extension.js e al processo dsc segnalato. Il lavoro è completato quando viene identificata l’estensione o il punto di ingresso che crea i processi in eccesso e viene documentata una correzione o una verifica riproducibile.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
java, python, typescript
Ambito
devtools, performance
Tipo di issue
Bug
Difficoltà
5/5
Tempo stimato
Più di una settimana
Stato di attività
Ferma
Chiarezza
Da chiarire
Idoneità per principianti
18/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.