redhat-developer / redhat-developer/vscode-java

[NO SOLUTION WORKED] Language Support for Java server crashed 5 times in the last 3 minutes

Ouverte
#2,332 18 commentaires 1 réaction 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

extension-start ls-error/crash
Langage dominant
TypeScript
Étoiles
2.3k
Forks
546
Merge moyen
20 h 1 min
PR mergées (30 j)
11

Description

I have tried all the suggested solutions in previous threads - clearing java language workspace, reinstalling the extension pack, I didn't have vs-code lombok installed, so I actually went forward and installed it, only to uninstall it later and follow the steps referenced below (to restore java.jdt.ls.vmargs to its default value manually):


The problem is vscode-lombok adds a path to the lombok java agent in java.jdt.ls.vmargs, in the user settings.json. When you uninstall vscode-lombok, it doesn't clean up java.jdt.ls.vmargs, so that still references the lombok jar, which likely no longer exists:

message: 'Starting Java server with: /usr/lib/jvm/java-11-openjdk-amd64/bin/java --add-modules=ALL-SYSTEM --add-opens java.base/java.util=ALL-UNNAMED --add-opens java.base/java.lang=ALL-UNNAMED -Declipse.application=org.eclipse.jdt.ls.core.id1 -Dosgi.bundles.defaultStartLevel=4 -Declipse.product=org.eclipse.jdt.ls.core.product -Dfile.encoding=utf8 -XX:+UseParallelGC -XX:GCTimeRatio=4 -XX:AdaptiveSizePolicyWeight=90 -Dsun.zip.disableMemoryMapping=true -Xmx1G -Xms100m -javaagent:/Users/zhh/.vscode/extensions/gabrielbb.vscode-lombok-1.0.1/server/lombok.jar -noverify -jar /home/zhh/.vscode-server/extensions/redhat.java-0.82.0/server/plugins/org.eclipse.equinox.launcher_1.6.300.v20210813-1054.jar -configuration /home/zhh/.vscode-server/data/User/globalStorage/redhat.java/0.82.0/config_ss_linux -data /home/zhh/.vscode-server/data/User/workspaceStorage/9a2f2697641d2d0e6d54bc445822b663/redhat.java/ss_ws',

The language server then fails to start. See

message: 'Error opening zip file or JAR manifest missing : /Users/zhh/.vscode/extensions/gabrielbb.vscode-lombok-1.0.1/server/lombok.jar\n',

So, after uninstalling vscode-lombok, one needs to manually remove the lombok java agent from the java.jdt.ls.vmargs preference.

Originally posted by @fbricon in https://github.com/redhat-developer/vscode-java/issues/305#issuecomment-945083500


However, even after all this I am still getting the same error "Language Server restarted more than 5 times in the last 3 min. Not restarting again".
Here are the logs for your reference:


Notable errors/exceptions: Unable to load IDecompiler class for jarFileContentProvider
BadLocationException\n


{
message: 'Starting Java server with: c:\Users\user\.vscode\extensions\redhat.java-1.3.0\jre\17.0.1-win32-x86_64\bin\java --add-modules=ALL-SYSTEM --add-opens java.base/java.util=ALL-UNNAMED --add-opens java.base/java.lang=ALL-UNNAMED --add-opens java.base/sun.nio.fs=ALL-UNNAMED -Declipse.application=org.eclipse.jdt.ls.core.id1 -Dosgi.bundles.defaultStartLevel=4 -Declipse.product=org.eclipse.jdt.ls.core.product -Djava.import.generatesMetadataFilesAtProjectRoot=false -Dfile.encoding=utf8 -DwatchParentProcess=false -XX:+UseParallelGC -XX:GCTimeRatio=4 -XX:AdaptiveSizePolicyWeight=90 -Dsun.zip.disableMemoryMapping=true -Xmx1G -Xms100m -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=c:\Users\user\AppData\Roaming\Code\User\workspaceStorage\eec4092057407e1a5092d8492648964e\redhat.java -jar c:\Users\user\.vscode\extensions\redhat.java-1.3.0\server\plugins\org.eclipse.equinox.launcher_1.6.400.v20210924-0641.jar -configuration c:\Users\user\AppData\Roaming\Code\User\globalStorage\redhat.java\1.3.0\config_win -data c:\Users\user\AppData\Roaming\Code\User\workspaceStorage\eec4092057407e1a5092d8492648964e\redhat.java\jdt_ws',
level: 'info',
timestamp: '2022-02-24 09:05:17.077'
}
{
message: '[Error - 9:10:26 am] 24-Feb-2022, 9:10:26 am Unable to load IDecompiler class for jarFileContentProvider',
level: 'info',
timestamp: '2022-02-24 09:10:26.576'
}
{
message: '[Error - 9:16:10 am] 24-Feb-2022, 9:16:10 am BadLocationException\n' +
'null\n' +
'org.eclipse.jface.text.BadLocationException\r\n' +
'\tat org.eclipse.jface.text.TreeLineTracker.fail(TreeLineTracker.java:1054)\r\n' +
'\tat org.eclipse.jface.text.TreeLineTracker.lineByOffset(TreeLineTracker.java:268)\r\n' +
'\tat org.eclipse.jface.text.TreeLineTracker.getLineNumberOfOffset(TreeLineTracker.java:1122)\r\n' +
'\tat org.eclipse.jface.text.AbstractLineTracker.getLineNumberOfOffset(AbstractLineTracker.java:155)\r\n' +
'\tat org.eclipse.jface.text.AbstractDocument.getLineOfOffset(AbstractDocument.java:872)\r\n' +
'\tat org.eclipse.core.internal.filebuffers.SynchronizableDocument.getLineOfOffset(SynchronizableDocument.java:334)\r\n' +
'\tat org.eclipse.jdt.ls.core.internal.handlers.JsonRpcHelpers.toLine(JsonRpcHelpers.java:156)\r\n' +
'\tat org.eclipse.jdt.ls.core.internal.handlers.JsonRpcHelpers.toLine(JsonRpcHelpers.java:101)\r\n' +
'\tat org.eclipse.jdt.ls.core.internal.JDTUtils.toRange(JDTUtils.java:858)\r\n' +
'\tat org.eclipse.jdt.ls.core.internal.JDTUtils.toLocation(JDTUtils.java:757)\r\n' +
'\tat org.eclipse.jdt.ls.core.internal.JDTUtils.toLocation(JDTUtils.java:703)\r\n' +
'\tat org.eclipse.jdt.ls.core.internal.handlers.DocumentSymbolHandler.getRange(DocumentSymbolHandler.java:205)\r\n' +
'\tat org.eclipse.jdt.ls.core.internal.handlers.DocumentSymbolHandler.toDocumentSymbol(DocumentSymbolHandler.java:172)\r\n' +
'\tat org.eclipse.jdt.ls.core.internal.handlers.DocumentSymbolHandler.lambda$2(DocumentSymbolHandler.java:147)\r\n' +
'\tat java.base/java.util.stream.ReferencePipeline$3$1.accept(Unknown Source)\r\n' +
'\tat java.base/java.util.Spliterators$ArraySpliterator.forEachRemaining(Unknown Source)\r\n' +
'\tat java.base/java.util.stream.AbstractPipeline.copyInto(Unknown Source)\r\n' +
'\tat java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(Unknown Source)\r\n' +
'\tat java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(Unknown Source)\r\n' +
'\tat java.base/java.util.stream.AbstractPipeline.evaluate(Unknown Source)\r\n' +
'\tat java.base/java.util.stream.ReferencePipeline.collect(Unknown Source)\r\n' +
'\tat org.eclipse.jdt.ls.core.internal.handlers.DocumentSymbolHandler.getHierarchicalOutline(DocumentSymbolHandler.java:147)\r\n' +
'\tat org.eclipse.jdt.ls.core.internal.handlers.DocumentSymbolHandler.documentSymbol(DocumentSymbolHandler.java:80)\r\n' +
'\tat org.eclipse.jdt.ls.core.internal.handlers.JDTLanguageServer.lambda$14(JDTLanguageServer.java:636)\r\n' +
'\tat org.eclipse.jdt.ls.core.internal.BaseJDTLanguageServer.lambda$0(BaseJDTLanguageServer.java:75)\r\n' +
'\tat java.base/java.util.concurrent.CompletableFuture$UniApply.tryFire(Unknown Source)\r\n' +
'\tat java.base/java.util.concurrent.CompletableFuture$Completion.exec(Unknown Source)\r\n' +
'\tat java.base/java.util.concurrent.ForkJoinTask.doExec(Unknown Source)\r\n' +
'\tat java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(Unknown Source)\r\n' +
'\tat java.base/java.util.concurrent.ForkJoinPool.scan(Unknown Source)\r\n' +
'\tat java.base/java.util.concurrent.ForkJoinPool.runWorker(Unknown Source)\r\n' +
'\tat java.base/java.util.concurrent.ForkJoinWorkerThread.run(Unknown Source)\r\n',
level: 'info',
timestamp: '2022-02-24 09:16:10.461'
}
{
message: '[Error - 9:16:10 am] 24-Feb-2022, 9:16:10 am BadLocationException\n' +
'null\n' +
'org.eclipse.jface.text.BadLocationException\r\n' +
'\tat org.eclipse.jface.text.TreeLineTracker.fail(TreeLineTracker.java:1054)\r\n' +
'\tat org.eclipse.jface.text.TreeLineTracker.lineByOffset(TreeLineTracker.java:268)\r\n' +
'\tat org.eclipse.jface.text.TreeLineTracker.getLineNumberOfOffset(TreeLineTracker.java:1122)\r\n' +
'\tat org.eclipse.jface.text.AbstractLineTracker.getLineNumberOfOffset(AbstractLineTracker.java:155)\r\n' +
'\tat org.eclipse.jface.text.AbstractDocument.getLineOfOffset(AbstractDocument.java:872)\r\n' +
'\tat org.eclipse.core.internal.filebuffers.SynchronizableDocument.getLineOfOffset(SynchronizableDocument.java:334)\r\n' +
'\tat org.eclipse.jdt.ls.core.internal.handlers.JsonRpcHelpers.toLine(JsonRpcHelpers.java:156)\r\n' +
'\tat org.eclipse.jdt.ls.core.internal.handlers.JsonRpcHelpers.toLine(JsonRpcHelpers.java:101)\r\n' +
'\tat org.eclipse.jdt.ls.core.internal.JDTUtils.toRange(JDTUtils.java:858)\r\n' +
'\tat org.eclipse.jdt.ls.core.internal.JDTUtils.toLocation(JDTUtils.java:757)\r\n' +
'\tat org.eclipse.jdt.ls.core.internal.JDTUtils.toLocation(JDTUtils.java:703)\r\n' +
'\tat org.eclipse.jdt.ls.core.internal.handlers.DocumentSymbolHandler.getRange(DocumentSymbolHandler.java:205)\r\n' +
'\tat org.eclipse.jdt.ls.core.internal.handlers.DocumentSymbolHandler.toDocumentSymbol(DocumentSymbolHandler.java:172)\r\n' +
'\tat org.eclipse.jdt.ls.core.internal.handlers.DocumentSymbolHandler.lambda$4(DocumentSymbolHandler.java:188)\r\n' +
'\tat java.base/java.util.stream.ReferencePipeline$3$1.accept(Unknown Source)\r\n' +
'\tat java.base/java.util.Spliterators$ArraySpliterator.forEachRemaining(Unknown Source)\r\n' +
'\tat java.base/java.util.stream.AbstractPipeline.copyInto(Unknown Source)\r\n' +
'\tat java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(Unknown Source)\r\n' +
'\tat java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(Unknown Source)\r\n' +
'\tat java.base/java.util.stream.AbstractPipeline.evaluate(Unknown Source)\r\n' +
'\tat java.base/java.util.stream.ReferencePipeline.collect(Unknown Source)\r\n' +
'\tat org.eclipse.jdt.ls.core.internal.handlers.DocumentSymbolHandler.toDocumentSymbol(DocumentSymbolHandler.java:190)\r\n' +
'\tat org.eclipse.jdt.ls.core.internal.handlers.DocumentSymbolHandler.lambda$2(DocumentSymbolHandler.java:147)\r\n' +
'\tat java.base/java.util.stream.ReferencePipeline$3$1.accept(Unknown Source)\r\n' +
'\tat java.base/java.util.Spliterators$ArraySpliterator.forEachRemaining(Unknown Source)\r\n' +
'\tat java.base/java.util.stream.AbstractPipeline.copyInto(Unknown Source)\r\n' +
'\tat java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(Unknown Source)\r\n' +
'\tat java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(Unknown Source)\r\n' +
'\tat java.base/java.util.stream.AbstractPipeline.evaluate(Unknown Source)\r\n' +
'\tat java.base/java.util.stream.ReferencePipeline.collect(Unknown Source)\r\n' +
'\tat org.eclipse.jdt.ls.core.internal.handlers.DocumentSymbolHandler.getHierarchicalOutline(DocumentSymbolHandler.java:147)\r\n' +
'\tat org.eclipse.jdt.ls.core.internal.handlers.DocumentSymbolHandler.documentSymbol(DocumentSymbolHandler.java:80)\r\n' +
'\tat org.eclipse.jdt.ls.core.internal.handlers.JDTLanguageServer.lambda$14(JDTLanguageServer.java:636)\r\n' +
'\tat org.eclipse.jdt.ls.core.internal.BaseJDTLanguageServer.lambda$0(BaseJDTLanguageServer.java:75)\r\n' +
'\tat java.base/java.util.concurrent.CompletableFuture$UniApply.tryFire(Unknown Source)\r\n' +
'\tat java.base/java.util.concurrent.CompletableFuture$Completion.exec(Unknown Source)\r\n' +
'\tat java.base/java.util.concurrent.ForkJoinTask.doExec(Unknown Source)\r\n' +
'\tat java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(Unknown Source)\r\n' +
'\tat java.base/java.util.concurrent.ForkJoinPool.scan(Unknown Source)\r\n' +
'\tat java.base/java.util.concurrent.ForkJoinPool.runWorker(Unknown Source)\r\n' +
'\tat java.base/java.util.concurrent.ForkJoinWorkerThread.run(Unknown Source)\r\n',
level: 'info',
timestamp: '2022-02-24 09:16:10.469'
}
{
message: "Failed to provide hover command Error: The request (id: 1436, method: 'java/findLinks') has been cancelled",
level: 'error',
timestamp: '2022-02-24 09:18:49.084'
}
{
message: 'The Language Support for Java server crashed and will restart.',
level: 'error',
timestamp: '2022-02-24 09:21:33.702'
}
{
message: '[Info - 9:21:33 am] Connection to server got closed. Server will restart.',
level: 'info',
timestamp: '2022-02-24 09:21:33.703'
}
{
message: 'The Language Support for Java server crashed and will restart.',
level: 'error',
timestamp: '2022-02-24 09:21:36.007'
}
{
message: '[Info - 9:21:36 am] Connection to server got closed. Server will restart.',
level: 'info',
timestamp: '2022-02-24 09:21:36.008'
}
{
message: 'The Language Support for Java server crashed and will restart.',
level: 'error',
timestamp: '2022-02-24 09:21:36.560'
}
{
message: '[Info - 9:21:36 am] Connection to server got closed. Server will restart.',
level: 'info',
timestamp: '2022-02-24 09:21:36.561'
}
{
message: 'The Language Support for Java server crashed and will restart.',
level: 'error',
timestamp: '2022-02-24 09:21:36.600'
}
{
message: '[Info - 9:21:36 am] Connection to server got closed. Server will restart.',
level: 'info',
timestamp: '2022-02-24 09:21:36.600'
}
{
message: 'The Language Support for Java server crashed 5 times in the last 3 minutes. The server will not be restarted.',
level: 'error',
timestamp: '2022-02-24 09:21:36.629'
}
{
message: '[Error - 9:21:36 am] Connection to server got closed. Server will not be restarted.',
level: 'info',
timestamp: '2022-02-24 09:21:36.630'
}


Thanks for your support,
buddywhitman

Guide de contribution

Ouvrir le guide de contribution

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Piste de recherche

Commencez par reproduire le redémarrage répété du Java language server à l’aide des journaux de démarrage fournis, puis suivez les chemins signalés de Unable to load IDecompiler et BadLocationException dans le JDT language server. Le travail est terminé lorsque la cause du plantage est identifiée et qu’il est vérifié que le serveur ne redémarre plus continuellement dans la configuration signalée.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
java, typescript, vscode
Domaine
devtools
Type d'issue
Bug
Difficulté
4/5
Temps estimé
3-5 jours
Activité
À l'abandon
Clarté
À clarifier
Accessibilité débutants
25/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.