redhat-developer / redhat-developer/vscode-java

[vscode] Language Support for Java crash frequently

Đang mở
#2,626 0 bình luận 0 reaction 0 người được giao Xem trên GitHub

Chưa có ai nhận issue này.

ls-error/crash
Ngôn ngữ chính
TypeScript
Star
2.3k
Fork
547
Merge trung bình
20 giờ 1 phút
Pull request đã merge (30 ngày)
11

Mô tả

[provide a description of the issue]
I use the theia platform which already uses the 'Language Support for Java' to realize the feature of LSP. I use single container (K8s Pod) to open a new theia server for every user, however, not only It is very slow, but the edit box also disrupted usually, especially several user online concurrently.

Environment
  • Operating System:Linux version 5.13.12-1.el7.elrepo.x86_64 (gcc (GCC) 9.3.1 20200408 (Red Hat 9.3.1-2), GNU ld version 2.32-16.el7) SMP Tue Aug 17 10:49:05 EDT 2021
  • JDK version: java version "11.0.10" 2021-01-19 LTS
  • Visual Studio Code version: I use Theia(v1.26.0) platform which bases on VSCode
  • Java extension version: Language Support for Java(TM) by Red Hat v1.1.0
  • My Pod config is 6C, 16G memory
Steps To Reproduce
  1. starting theia server with node: /usr/local/bin/node /opt/web/ws-63013/src-gen/backend/main.js -h 0.0.0.0 --plugins=local-dir:plugins --port 50008
  2. opening browser to active the client with port 50008
  3. import my project and then open a java file

I am sorry about cannot attach my project because it is owned by my company.

!SESSION 2022-08-12 07:28:00.969 -----------------------------------------------
eclipse.buildId=unknown
java.version=11.0.10
java.vendor=Oracle Corporation
BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=en_US
Command-line arguments:  -data /root/.theia/workspace-storage/25329750eecbab747ceb3e1f0b651e8c/redhat.java/jdt_ws

!ENTRY org.eclipse.jdt.ls.core 1 0 2022-08-12 07:28:02.238
!MESSAGE class org.eclipse.jdt.ls.core.internal.JavaLanguageServerPlugin is started

!ENTRY org.eclipse.jdt.ls.core 1 0 2022-08-12 07:28:02.444
!MESSAGE Main thread is waiting

!ENTRY org.eclipse.jdt.ls.core 1 0 2022-08-12 07:28:02.500
!MESSAGE >> initialize

!ENTRY org.eclipse.jdt.ls.core 1 0 2022-08-12 07:28:02.502
!MESSAGE Initializing Java Language Server 1.6.0.202111261427

!ENTRY org.eclipse.jdt.ls.core 1 0 2022-08-12 07:28:03.154
!MESSAGE Static Commands: []

!ENTRY org.eclipse.jdt.ls.core 1 0 2022-08-12 07:28:03.154
!MESSAGE Non-Static Commands: [java.edit.organizeImports, java.project.refreshDiagnostics, java.project.import, java.navigate.openTypeHierarchy, java.project.removeFromSourcePath, java.project.listSourcePaths, java.project.resolveStackTraceLocation, java.project.getAll, java.project.isTestFile, java.project.getClasspaths, java.navigate.resolveTypeHierarchy, java.edit.stringFormatting, java.project.getSettings, java.project.updateSourceAttachment, java.project.resolveSourceAttachment, java.project.addToSourcePath]

!ENTRY org.eclipse.jdt.ls.core 1 0 2022-08-12 07:28:03.154
!MESSAGE Static Commands: []

!ENTRY org.eclipse.jdt.ls.core 1 0 2022-08-12 07:28:03.155
!MESSAGE Non-Static Commands: [vscode.java.checkProjectSettings, vscode.java.isOnClasspath, vscode.java.fetchUsageData, vscode.java.validateLaunchConfig, vscode.java.resolveClassFilters, vscode.java.resolveMainMethod, vscode.java.resolveClasspath, vscode.java.resolveBuildFiles, vscode.java.resolveMainClass, vscode.java.updateDebugSettings, vscode.java.resolveSourceUri, vscode.java.fetchPlatformSettings, vscode.java.buildWorkspace, vscode.java.startDebugSession, vscode.java.inferLaunchCommandLength, vscode.java.resolveElementAtSelection, vscode.java.resolveJavaExecutable]

!ENTRY org.eclipse.jdt.ls.core 1 0 2022-08-12 07:28:03.155
!MESSAGE Static Commands: []

!ENTRY org.eclipse.jdt.ls.core 1 0 2022-08-12 07:28:03.155
!MESSAGE Non-Static Commands: [java.project.refreshLib, java.project.list, java.project.generateJar, java.project.getMainClasses, java.getPackageData, java.resolvePath]

!ENTRY org.eclipse.jdt.ls.core 1 0 2022-08-12 07:28:03.160
!MESSAGE Wait for AutoBuildOffJob start

!ENTRY org.eclipse.jdt.ls.core 1 0 2022-08-12 07:28:03.171
!MESSAGE Wait for AutoBuildOffJob end 11ms

!ENTRY org.eclipse.jdt.ls.core 1 0 2022-08-12 07:28:03.171
!MESSAGE Starting org.eclipse.m2e.core

!ENTRY org.eclipse.jdt.ls.core 1 0 2022-08-12 07:28:03.172
!MESSAGE Started org.eclipse.m2e.core 1ms

!ENTRY org.eclipse.jdt.ls.core 1 0 2022-08-12 07:28:03.172
!MESSAGE ProjectRegistryRefreshJob finished 0ms

!ENTRY org.eclipse.jdt.ls.core 1 0 2022-08-12 07:28:03.173
!MESSAGE Starting org.eclipse.buildship.core

!ENTRY org.eclipse.jdt.ls.core 1 0 2022-08-12 07:28:03.190
!MESSAGE Started org.eclipse.buildship.core 18ms

!ENTRY org.eclipse.jdt.ls.core 1 0 2022-08-12 07:28:03.201
!MESSAGE LoadingGradleVersionJob finished 10ms

!ENTRY org.eclipse.jdt.ls.core 1 0 2022-08-12 07:28:03.224
!MESSAGE Creating the Java project jdt.ls-java-project

!ENTRY org.eclipse.jdt.ls.core 1 0 2022-08-12 07:28:03.234
!MESSAGE >> initialized

!ENTRY org.eclipse.jdt.ls.core 1 0 2022-08-12 07:28:03.301
!MESSAGE Finished creating the Java project jdt.ls-java-project

!ENTRY org.eclipse.jdt.ls.core 1 0 2022-08-12 07:28:03.733
!MESSAGE Importing Maven project(s)

!ENTRY org.eclipse.jdt.ls.core 1 0 2022-08-12 07:28:10.603
!MESSAGE Workspace initialized in 7399ms

!ENTRY org.eclipse.jdt.ls.core 1 0 2022-08-12 07:28:10.636
!MESSAGE >> initialization job finished

!ENTRY org.eclipse.jdt.ls.core 1 0 2022-08-12 07:28:10.662
!MESSAGE >> workspace/didChangeConfiguration

!ENTRY org.eclipse.jdt.ls.core 1 0 2022-08-12 07:28:10.682
!MESSAGE >> New configuration: {java={home=/opt/jdk/jdk-11.0.10, jdt={ls={vmargs=-XX:+UseParallelGC -XX:GCTimeRatio=4 -XX:AdaptiveSizePolicyWeight=90 -Dsun.zip.disableMemoryMapping=true -Xmx2G -Xms1G -javaagent:"/opt/web/ws-63013/plugins/gabrielbb.vscode-lombok-1.0.1/extension/server/lombok.jar"}}, errors={incompleteClasspath={severity=warning}}, configuration={checkProjectSettingsExclusions=true, updateBuildConfiguration=interactive, maven={userSettings=/opt/workspace/settings.xml, globalSettings=/opt/workspace/settings.xml, notCoveredPluginExecutionSeverity=warning}, workspaceCacheLimit=null, runtimes=[]}, trace={server=off}, import={maven={enabled=true}, gradle={enabled=true, wrapper={enabled=true}, version=null, home=null, java={home=null}, offline={enabled=false}, arguments=null, jvmArguments=null, user={home=null}}, exclusions=[**/node_modules/**, **/.metadata/**, **/archetype-resources/**, **/META-INF/maven/**], generatesMetadataFilesAtProjectRoot=false}, maven={downloadSources=false, updateSnapshots=false}, eclipse={downloadSources=false}, referencesCodeLens={enabled=false}, signatureHelp={enabled=false}, implementationsCodeLens={enabled=false}, format={enabled=true, settings={url=null, profile=null}, comments={enabled=true}, onType={enabled=true}, insertSpaces=true, tabSize=4.0}, saveActions={organizeImports=false}, project={referencedLibraries=[lib/**/*.jar], importOnFirstTimeStartup=automatic, importHint=true, resourceFilters=[node_modules, .git], exportJar={targetPath=${workspaceFolder}/${workspaceFolderBasename}.jar}}, contentProvider={preferred=null}, autobuild={enabled=true}, maxConcurrentBuilds=1.0, recommendations={dependency={analytics={show=true}}}, completion={maxResults=0.0, enabled=true, overwrite=true, guessMethodArguments=false, favoriteStaticMembers=[org.junit.Assert.*, org.junit.Assume.*, org.junit.jupiter.api.Assertions.*, org.junit.jupiter.api.Assumptions.*, org.junit.jupiter.api.DynamicContainer.*, org.junit.jupiter.api.DynamicTest.*, org.mockito.Mockito.*, org.mockito.ArgumentMatchers.*, org.mockito.Answers.*], filteredTypes=[java.awt.*, com.sun.*, sun.*, jdk.*, org.graalvm.*, io.micrometer.shaded.*], importOrder=[java, javax, com, org]}, foldingRange={enabled=true}, progressReports={enabled=true}, codeGeneration={hashCodeEquals={useJava7Objects=false, useInstanceof=false}, useBlocks=false, generateComments=false, toString={template=${object.className} [${member.name()}=${member.value}, ${otherMembers}], codeStyle=STRING_CONCATENATION, skipNullValues=false, listArrayContents=true, limitElements=0.0}, insertionLocation=afterCursor}, selectionRange={enabled=true}, showBuildStatusOnStart={enabled=notification}, server={launchMode=Hybrid}, sources={organizeImports={starThreshold=99.0, staticStarThreshold=99.0}}, imports={gradle={wrapper={checksums=[]}}}, templates={fileHeader=[], typeComment=[]}, references={includeAccessors=true, includeDecompiledSources=true}, typeHierarchy={lazyLoad=false}, settings={url=null}, symbols={includeSourceMethodDeclarations=false}, quickfix={showAt=line}, debug={logLevel=warn, settings={showHex=false, showStaticVariables=false, showQualifiedNames=false, showLogicalStructure=true, showToString=true, maxStringLength=0.0, numericPrecision=0.0, hotCodeReplace=manual, enableRunDebugCodeLens=true, forceBuildBeforeLaunch=true, onBuildFailureProceed=false, console=integratedTerminal, exceptionBreakpoint={skipClasses=[]}, stepping={skipClasses=[], skipSynthetics=false, skipStaticInitializers=false, skipConstructors=false}, jdwp={limitOfVariablesPerJdwpRequest=100.0, requestTimeout=3000.0}, vmArgs=}}, silentNotification=false, dependency={showMembers=false, syncWithFolderExplorer=true, autoRefresh=true, refreshDelay=2000.0, packagePresentation=flat}, help={firstView=auto, showReleaseNotes=true}}}

!ENTRY org.eclipse.jdt.ls.core 1 0 2022-08-12 07:28:29.342
!MESSAGE >> build jobs finished

!ENTRY org.eclipse.jdt.ls.core 1 0 2022-08-12 07:28:29.357
!MESSAGE >> workspace/executeCommand java.project.getAll

!ENTRY org.eclipse.jdt.ls.core 1 0 2022-08-12 07:28:29.360
!MESSAGE >> workspace/executeCommand java.project.getAll

!ENTRY org.eclipse.jdt.ls.core 1 0 2022-08-12 07:28:30.517
!MESSAGE >> registerWatchers'

!ENTRY org.eclipse.jdt.ls.core 1 0 2022-08-12 07:28:30.519
!MESSAGE >> registerFeature 'workspace/didChangeWatchedFiles'

!ENTRY org.eclipse.jdt.ls.core 1 0 2022-08-12 07:28:30.520
!MESSAGE >> watchers registered

!ENTRY org.eclipse.jdt.ls.core 1 0 2022-08-12 07:28:39.118
!MESSAGE >> document/didOpen

!ENTRY org.eclipse.jdt.ls.core 1 0 2022-08-12 07:28:39.136
!MESSAGE >> document/codeAction

!ENTRY org.eclipse.jdt.ls.core 1 0 2022-08-12 07:28:39.143
!MESSAGE >> workspace/executeCommand java.project.getSettings

!ENTRY org.eclipse.jdt.ls.core 1 0 2022-08-12 07:28:39.256
!MESSAGE >> document/documentSymbol

!ENTRY org.eclipse.jdt.ls.core 1 0 2022-08-12 07:28:39.536
!MESSAGE Reconciled 1. Took 1 ms

.... omit unnecessary log

!ENTRY org.eclipse.jdt.ls.core 1 0 2022-08-12 07:33:08.444
!MESSAGE >> workspace/executeCommand vscode.java.resolveMainMethod

!ENTRY org.eclipse.jdt.ls.core 1 0 2022-08-12 07:36:57.149
!MESSAGE >> workspace/didChangeWatchedFiles 

!ENTRY org.eclipse.jdt.ls.core 4 0 2022-08-12 07:36:57.154
!MESSAGE Failed to read package name from file:///root/.theia/workspace-storage/70b7bb8a503ab18901cc9c93c0ddeef8/redhat.java
!STACK 0
java.io.FileNotFoundException: /root/.theia/workspace-storage/70b7bb8a503ab18901cc9c93c0ddeef8/redhat.java (Is a directory)
	at java.base/java.io.FileInputStream.open0(Native Method)
	at java.base/java.io.FileInputStream.open(FileInputStream.java:219)
	at java.base/java.io.FileInputStream.<init>(FileInputStream.java:157)
	at com.google.common.io.Files$FileByteSource.openStream(Files.java:130)
	at com.google.common.io.Files$FileByteSource.read(Files.java:154)
	at com.google.common.io.ByteSource$AsCharSource.read(ByteSource.java:472)
	at com.google.common.io.Files.toString(Files.java:254)
	at org.eclipse.jdt.ls.core.internal.JDTUtils.getPackageName(JDTUtils.java:300)
	at org.eclipse.jdt.ls.core.internal.JDTUtils.getFakeCompilationUnit(JDTUtils.java:264)
	at org.eclipse.jdt.ls.core.internal.JDTUtils.resolveCompilationUnit(JDTUtils.java:188)
	at org.eclipse.jdt.ls.core.internal.JDTUtils.resolveCompilationUnit(JDTUtils.java:168)
	at org.eclipse.jdt.ls.core.internal.handlers.WorkspaceEventsHandler.didChangeWatchedFiles(WorkspaceEventsHandler.java:81)
	at org.eclipse.jdt.ls.core.internal.handlers.JDTLanguageServer.didChangeWatchedFiles(JDTLanguageServer.java:497)
	at jdk.internal.reflect.GeneratedMethodAccessor62.invoke(Unknown Source)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:566)
	at org.eclipse.lsp4j.jsonrpc.services.GenericEndpoint.lambda$null$0(GenericEndpoint.java:65)
	at org.eclipse.lsp4j.jsonrpc.services.GenericEndpoint.notify(GenericEndpoint.java:152)
	at org.eclipse.lsp4j.jsonrpc.RemoteEndpoint.handleNotification(RemoteEndpoint.java:220)
	at org.eclipse.lsp4j.jsonrpc.RemoteEndpoint.consume(RemoteEndpoint.java:187)
	at org.eclipse.jdt.ls.core.internal.ParentProcessWatcher.lambda$0(ParentProcessWatcher.java:123)
	at org.eclipse.lsp4j.jsonrpc.json.StreamMessageProducer.handleMessage(StreamMessageProducer.java:194)
	at org.eclipse.lsp4j.jsonrpc.json.StreamMessageProducer.listen(StreamMessageProducer.java:94)
	at org.eclipse.lsp4j.jsonrpc.json.ConcurrentMessageProcessor.run(ConcurrentMessageProcessor.java:113)
	at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
	at java.base/java.lang.Thread.run(Thread.java:834)

!ENTRY org.eclipse.jdt.ls.core 4 0 2022-08-12 07:36:57.160
!MESSAGE Failed to create linked resource from file:///root/.theia/workspace-storage/70b7bb8a503ab18901cc9c93c0ddeef8/redhat.java to jdt.ls-java-project
!STACK 1
org.eclipse.core.internal.resources.ResourceException(/jdt.ls-java-project/src/redhat.java)[276]: java.lang.Exception: Cannot create linked resource '/jdt.ls-java-project/src/redhat.java'.  Files cannot be linked to folders.
	at org.eclipse.core.internal.resources.ResourceException.provideStackTrace(ResourceException.java:42)
	at org.eclipse.core.internal.resources.ResourceException.<init>(ResourceException.java:38)
	at org.eclipse.core.internal.resources.Resource.assertLinkRequirements(Resource.java:189)
	at org.eclipse.core.internal.resources.Resource.createLink(Resource.java:636)
	at org.eclipse.jdt.ls.core.internal.JDTUtils.getFakeCompilationUnit(JDTUtils.java:273)
	at org.eclipse.jdt.ls.core.internal.JDTUtils.resolveCompilationUnit(JDTUtils.java:188)
	at org.eclipse.jdt.ls.core.internal.JDTUtils.resolveCompilationUnit(JDTUtils.java:168)
	at org.eclipse.jdt.ls.core.internal.handlers.WorkspaceEventsHandler.didChangeWatchedFiles(WorkspaceEventsHandler.java:81)
	at org.eclipse.jdt.ls.core.internal.handlers.JDTLanguageServer.didChangeWatchedFiles(JDTLanguageServer.java:497)
	at jdk.internal.reflect.GeneratedMethodAccessor62.invoke(Unknown Source)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:566)
	at org.eclipse.lsp4j.jsonrpc.services.GenericEndpoint.lambda$null$0(GenericEndpoint.java:65)
	at org.eclipse.lsp4j.jsonrpc.services.GenericEndpoint.notify(GenericEndpoint.java:152)
	at org.eclipse.lsp4j.jsonrpc.RemoteEndpoint.handleNotification(RemoteEndpoint.java:220)
	at org.eclipse.lsp4j.jsonrpc.RemoteEndpoint.consume(RemoteEndpoint.java:187)
	at org.eclipse.jdt.ls.core.internal.ParentProcessWatcher.lambda$0(ParentProcessWatcher.java:123)
	at org.eclipse.lsp4j.jsonrpc.json.StreamMessageProducer.handleMessage(StreamMessageProducer.java:194)
	at org.eclipse.lsp4j.jsonrpc.json.StreamMessageProducer.listen(StreamMessageProducer.java:94)
	at org.eclipse.lsp4j.jsonrpc.json.ConcurrentMessageProcessor.run(ConcurrentMessageProcessor.java:113)
	at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
	at java.base/java.lang.Thread.run(Thread.java:834)
!SUBENTRY 1 org.eclipse.core.resources 4 276 2022-08-12 07:36:57.160
!MESSAGE Cannot create linked resource '/jdt.ls-java-project/src/redhat.java'.  Files cannot be linked to folders.
!STACK 0
java.lang.Exception: Cannot create linked resource '/jdt.ls-java-project/src/redhat.java'.  Files cannot be linked to folders.
	at org.eclipse.core.internal.resources.ResourceException.provideStackTrace(ResourceException.java:42)
	at org.eclipse.core.internal.resources.ResourceException.<init>(ResourceException.java:38)
	at org.eclipse.core.internal.resources.Resource.assertLinkRequirements(Resource.java:189)
	at org.eclipse.core.internal.resources.Resource.createLink(Resource.java:636)
	at org.eclipse.jdt.ls.core.internal.JDTUtils.getFakeCompilationUnit(JDTUtils.java:273)
	at org.eclipse.jdt.ls.core.internal.JDTUtils.resolveCompilationUnit(JDTUtils.java:188)
	at org.eclipse.jdt.ls.core.internal.JDTUtils.resolveCompilationUnit(JDTUtils.java:168)
	at org.eclipse.jdt.ls.core.internal.handlers.WorkspaceEventsHandler.didChangeWatchedFiles(WorkspaceEventsHandler.java:81)
	at org.eclipse.jdt.ls.core.internal.handlers.JDTLanguageServer.didChangeWatchedFiles(JDTLanguageServer.java:497)
	at jdk.internal.reflect.GeneratedMethodAccessor62.invoke(Unknown Source)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:566)
	at org.eclipse.lsp4j.jsonrpc.services.GenericEndpoint.lambda$null$0(GenericEndpoint.java:65)
	at org.eclipse.lsp4j.jsonrpc.services.GenericEndpoint.notify(GenericEndpoint.java:152)
	at org.eclipse.lsp4j.jsonrpc.RemoteEndpoint.handleNotification(RemoteEndpoint.java:220)
	at org.eclipse.lsp4j.jsonrpc.RemoteEndpoint.consume(RemoteEndpoint.java:187)
	at org.eclipse.jdt.ls.core.internal.ParentProcessWatcher.lambda$0(ParentProcessWatcher.java:123)
	at org.eclipse.lsp4j.jsonrpc.json.StreamMessageProducer.handleMessage(StreamMessageProducer.java:194)
	at org.eclipse.lsp4j.jsonrpc.json.StreamMessageProducer.listen(StreamMessageProducer.java:94)
	at org.eclipse.lsp4j.jsonrpc.json.ConcurrentMessageProcessor.run(ConcurrentMessageProcessor.java:113)
	at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
	at java.base/java.lang.Thread.run(Thread.java:834)

!ENTRY org.eclipse.jdt.ls.core 1 0 2022-08-12 07:37:00.208
!MESSAGE >> workspace/didChangeWatchedFiles 

!ENTRY org.eclipse.jdt.ls.core 1 0 2022-08-12 07:37:00.777
!MESSAGE >> workspace/didChangeWatchedFiles 

!ENTRY org.eclipse.jdt.ls.core 1 0 2022-08-12 07:37:01.294
!MESSAGE >> workspace/didChangeWatchedFiles 

!ENTRY org.eclipse.jdt.ls.core 1 0 2022-08-12 07:37:01.844
!MESSAGE >> workspace/didChangeWatchedFiles 

!ENTRY org.eclipse.jdt.ls.core 1 0 2022-08-12 07:37:02.255
!MESSAGE >> workspace/didChangeWatchedFiles 

!ENTRY org.eclipse.jdt.ls.core 1 0 2022-08-12 07:37:02.992
!MESSAGE >> workspace/didChangeWatchedFiles 

!ENTRY org.eclipse.jdt.ls.core 1 0 2022-08-12 07:37:03.295
!MESSAGE >> workspace/didChangeWatchedFiles 

!ENTRY org.eclipse.jdt.ls.core 1 0 2022-08-12 07:37:08.376
!MESSAGE >> workspace/didChangeWatchedFiles 

!ENTRY org.eclipse.jdt.ls.core 1 0 2022-08-12 07:37:18.797
!MESSAGE >> workspace/didChangeWatchedFiles 

!ENTRY org.eclipse.jdt.ls.core 1 0 2022-08-12 07:37:24.089
!MESSAGE >> workspace/didChangeWatchedFiles 

!ENTRY org.eclipse.jdt.ls.core 1 0 2022-08-12 07:37:26.183
!MESSAGE >> workspace/didChangeWatchedFiles 

!ENTRY org.eclipse.jdt.ls.core 1 0 2022-08-12 07:37:31.677
!MESSAGE >> workspace/didChangeWatchedFiles 
Current Result

The code completion stop work, if I type or do something in the window, the plugin seems reloading and diagnosis my project again, which will spend dozens of second to work again. It seems the plugin of Language Support for Java is incompatible with @jdt.ls(LSP)

there is another error if it helps: 'vscode java connection to server got closed. server will not be restarted'

Expected Result

It works smoothly and effectively, we cannot put the unreliable version online.

Additional Informations

The plugin reports out of memory occasionally, my setting of memory is "-Xmx2G -Xms1G"

Another issue is that the plugin throws 'org.eclipse.jface.text.BadLocationException: Offset > length: 66 > 0' error occasionally when I edit my code on window. Moreover, the performance of completion code is very slower than raw version of "jdt.ls + monaco editor" which we were using until now.

the error info:

!ENTRY org.eclipse.jdt.ls.core 1 0 2022-08-15 16:41:13.514
!MESSAGE >> workspace/executeCommand vscode.java.resolveMainMethod

!ENTRY org.eclipse.jdt.ls.core 1 0 2022-08-15 16:41:13.515
!MESSAGE >> document/willSaveWaitUntil

!ENTRY org.eclipse.jdt.ls.core 1 0 2022-08-15 16:41:13.517
!MESSAGE >> document/codeAction

!ENTRY org.eclipse.jdt.ls.core 1 0 2022-08-15 16:41:13.518
!MESSAGE >> document/codeAction

!ENTRY org.eclipse.jdt.ls.core 1 0 2022-08-15 16:41:13.520
!MESSAGE >> document/didSave

!ENTRY org.eclipse.jdt.ls.core 1 0 2022-08-15 16:41:13.816
!MESSAGE Reconciled 1. Took 8 ms

!ENTRY org.eclipse.jdt.ls.core 1 0 2022-08-15 16:41:13.824
!MESSAGE User abort while collecting the document symbols.

!ENTRY org.eclipse.jdt.ls.core 4 0 2022-08-15 16:41:13.856
!MESSAGE Offset > length: 66 > 0
!STACK 0
org.eclipse.jface.text.BadLocationException: Offset > length: 66 > 0
	at org.eclipse.jface.text.ListLineTracker.getLineNumberOfOffset(ListLineTracker.java:141)
	at org.eclipse.jface.text.AbstractLineTracker.getLineNumberOfOffset(AbstractLineTracker.java:155)
	at org.eclipse.jface.text.AbstractDocument.getLineOfOffset(AbstractDocument.java:872)
	at org.eclipse.jdt.ls.core.internal.handlers.JsonRpcHelpers.toLine(JsonRpcHelpers.java:156)
	at org.eclipse.jdt.ls.core.internal.handlers.JsonRpcHelpers.toLine(JsonRpcHelpers.java:101)
	at org.eclipse.jdt.ls.core.internal.JDTUtils.toRange(JDTUtils.java:858)
	at org.eclipse.jdt.ls.core.internal.JDTUtils.toLocation(JDTUtils.java:757)
	at org.eclipse.jdt.ls.core.internal.JDTUtils.toLocation(JDTUtils.java:703)
	at org.eclipse.jdt.ls.core.internal.handlers.DocumentSymbolHandler.getRange(DocumentSymbolHandler.java:205)
	at org.eclipse.jdt.ls.core.internal.handlers.DocumentSymbolHandler.toDocumentSymbol(DocumentSymbolHandler.java:172)
	at org.eclipse.jdt.ls.core.internal.handlers.DocumentSymbolHandler.lambda$2(DocumentSymbolHandler.java:147)
	at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195)
	at java.base/java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:948)
	at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484)
	at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474)
	at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:913)
	at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
	at java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:578)
	at org.eclipse.jdt.ls.core.internal.handlers.DocumentSymbolHandler.getHierarchicalOutline(DocumentSymbolHandler.java:147)
	at org.eclipse.jdt.ls.core.internal.handlers.DocumentSymbolHandler.documentSymbol(DocumentSymbolHandler.java:80)
	at org.eclipse.jdt.ls.core.internal.handlers.JDTLanguageServer.lambda$14(JDTLanguageServer.java:636)
	at org.eclipse.jdt.ls.core.internal.BaseJDTLanguageServer.lambda$0(BaseJDTLanguageServer.java:75)
	at java.base/java.util.concurrent.CompletableFuture$UniApply.tryFire(CompletableFuture.java:642)
	at java.base/java.util.concurrent.CompletableFuture$Completion.exec(CompletableFuture.java:479)
	at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:290)
	at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1020)
	at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1656)
	at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1594)
	at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:183)

!ENTRY org.eclipse.jdt.ls.core 1 0 2022-08-15 16:41:13.887
!MESSAGE >> workspace/didChangeWatchedFiles 

!ENTRY org.eclipse.jdt.ls.core 1 0 2022-08-15 16:41:13.894
!MESSAGE >> document/resolveCompletionItem

!ENTRY org.eclipse.jdt.ls.core 1 0 2022-08-15 16:41:13.946
!MESSAGE >> workspace/didChangeWatchedFiles 

!ENTRY org.eclipse.jdt.ls.core 1 0 2022-08-15 16:41:14.945
!MESSAGE begin problem for /Script_964724049693184.java

!ENTRY org.eclipse.jdt.ls.core 1 0 2022-08-15 16:41:14.950
!MESSAGE 3 problems reported for /Script_964724049693184.java 

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. 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.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Hướng nghiên cứu

Bắt đầu với stack trace trong JDTUtils.java và điểm vào WorkspaceEventsHandler.didChangeWatchedFiles. Khi có thể, hãy tái hiện lỗi bằng thiết lập máy chủ Theia đã được báo cáo, dự án Java và các điều kiện có người dùng đồng thời. Công việc được xem là hoàn tất khi sự cố crash hoặc gián đoạn đã được báo cáo được hiểu rõ và không còn xảy ra trong kịch bản 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
Lĩnh vực
devtools
Loại issue
Lỗi
Độ khó
4/5
Thời gian dự kiến
3-5 ngày
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
25/100

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.