redhat-developer / redhat-developer/vscode-java

Language server reports OOM for Java heap space while switching local git branch

Aperta
#2,576 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

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

Descrizione

Use VS Code to develop eclipse.jdt.ls itself, and switch local branch to a remote PR branch, language server reports OOM exception.

!ENTRY org.eclipse.jdt.ls.core 1 0 2022-07-19 13:28:12.066
!MESSAGE >> workspace/didChangeWatchedFiles 

!ENTRY org.eclipse.jdt.core 4 4 2022-07-19 13:28:25.648
!MESSAGE Background Indexer Crash Recovery
!STACK 0
java.lang.OutOfMemoryError: Java heap space
	at org.eclipse.jdt.internal.compiler.util.HashtableOfObject.<init>(HashtableOfObject.java:56)
	at org.eclipse.jdt.internal.compiler.util.HashtableOfObject.rehash(HashtableOfObject.java:184)
	at org.eclipse.jdt.internal.compiler.util.HashtableOfObject.putUnsafely(HashtableOfObject.java:157)
	at org.eclipse.jdt.internal.core.index.DiskIndex.copyQueryResults(DiskIndex.java:383)
	at org.eclipse.jdt.internal.core.index.DiskIndex.mergeWith(DiskIndex.java:570)
	at org.eclipse.jdt.internal.core.index.Index.save(Index.java:230)
	at org.eclipse.jdt.internal.core.search.indexing.IndexManager.saveIndex(IndexManager.java:1150)
	at org.eclipse.jdt.internal.core.search.indexing.AddJrtToIndex.execute(AddJrtToIndex.java:274)
	at org.eclipse.jdt.internal.core.search.processing.JobManager.run(JobManager.java:445)
	at java.base/java.lang.Thread.run(Unknown Source)

!ENTRY org.eclipse.jdt.ls.core 1 0 2022-07-19 13:28:30.506
!MESSAGE >> workspace/executeCommand vscode.java.test.findTestTypesAndMethods

!ENTRY org.eclipse.jdt.ls.core 1 0 2022-07-19 13:28:30.508
!MESSAGE >> workspace/didChangeWatchedFiles 

!ENTRY org.eclipse.jdt.ls.core 1 0 2022-07-19 13:28:33.420
!MESSAGE >> workspace/executeCommand vscode.java.test.findTestTypesAndMethods

!ENTRY org.eclipse.jdt.ls.core 1 0 2022-07-19 13:28:33.423
!MESSAGE >> workspace/didChangeWatchedFiles 

!ENTRY org.eclipse.jdt.ls.core 1 0 2022-07-19 13:28:33.652
!MESSAGE >> workspace/didChangeWatchedFiles 

!ENTRY org.eclipse.jdt.ls.core 1 0 2022-07-19 13:28:33.945
!MESSAGE >> workspace/didChangeWatchedFiles 

!ENTRY org.eclipse.jdt.ls.core 1 0 2022-07-19 13:28:33.964
!MESSAGE >> workspace/didChangeWatchedFiles 

!ENTRY org.eclipse.jdt.ls.core 1 0 2022-07-19 13:28:33.997
!MESSAGE >> workspace/didChangeWatchedFiles 

!ENTRY org.eclipse.jdt.ls.core 1 0 2022-07-19 13:28:34.145
!MESSAGE >> workspace/didChangeWatchedFiles 

!ENTRY org.eclipse.jdt.ls.core 1 0 2022-07-19 13:28:34.269
!MESSAGE >> workspace/didChangeWatchedFiles 

!ENTRY org.eclipse.jdt.ls.core 1 0 2022-07-19 13:28:34.339
!MESSAGE >> workspace/didChangeWatchedFiles 

!ENTRY org.eclipse.jdt.ls.core 1 0 2022-07-19 13:28:34.444
!MESSAGE >> workspace/didChangeWatchedFiles 

!ENTRY org.eclipse.jdt.ls.core 1 0 2022-07-19 13:28:34.592
!MESSAGE >> workspace/executeCommand vscode.java.test.findTestTypesAndMethods

!ENTRY org.eclipse.jdt.ls.core 1 0 2022-07-19 13:28:34.596
!MESSAGE >> workspace/didChangeWatchedFiles 

!ENTRY org.eclipse.jdt.ls.core 1 0 2022-07-19 13:28:34.664
!MESSAGE >> workspace/executeCommand vscode.java.test.findTestTypesAndMethods

!ENTRY org.eclipse.jdt.ls.core 1 0 2022-07-19 13:28:34.665
!MESSAGE >> document/codeAction

!ENTRY org.eclipse.jdt.ls.core 1 0 2022-07-19 13:28:34.668
!MESSAGE >> document/codeAction

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

Riproduci il problema in VS Code passando dal branch locale a un branch di PR remoto, quindi esamina l’attività di workspace/didChangeWatchedFiles e lo stack trace di indicizzazione JDT riportato attraverso DiskIndex, Index e AddJrtToIndex. Il lavoro è completato quando il cambio di branch non causa più l’errore Java heap space; l’issue non indica alcun file di test o file sorgente da eseguire o modificare.

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

Valutazione

Stack tecnologico
java, vscode
Ambito
devtools, tooling
Tipo di issue
Bug
Difficoltà
4/5
Tempo stimato
3-5 giorni
Stato di attività
Ferma
Chiarezza
Da chiarire
Idoneità per principianti
30/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.