Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Outgoing calls hierarchies runs into NullPointerException if hashCode() is called #3192

Closed
bstaletic opened this issue Jun 13, 2024 · 4 comments

Comments

@bstaletic
Copy link
Contributor

class C {
  public C() {
	  this.hashCode();
  }
}

With the code above and a request for outgoing calls from the constructor, JDT returns "Internal error" status.

Here's the JDT log:

!SESSION 2024-06-13 11:53:27.166 -----------------------------------------------
eclipse.buildId=unknown
java.version=17.0.11
java.vendor=Eclipse Adoptium
BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=en_US
Command-line arguments:  -data /home/bstaletic/.vim/pack/bundle/start/YouCompleteMe/third_party/ycmd/third_party/eclipse.jdt.ls/workspace/temp/tmprtwm8c04

!ENTRY org.eclipse.jdt.ls.core 1 0 2024-06-13 11:53:31.995
!MESSAGE class org.eclipse.jdt.ls.core.internal.JavaLanguageServerPlugin is started

!ENTRY org.eclipse.jdt.ls.core 1 0 2024-06-13 11:53:32.621
!MESSAGE Main thread is waiting

!ENTRY org.eclipse.jdt.ls.core 1 0 2024-06-13 11:53:32.699
!MESSAGE >> initialize

!ENTRY org.eclipse.jdt.ls.core 1 0 2024-06-13 11:53:32.705
!MESSAGE Initializing Java Language Server 1.36.0.202405301306

!ENTRY org.eclipse.jdt.ls.core 1 0 2024-06-13 11:53:32.707
!MESSAGE Started org.eclipse.m2e.core 0ms

!ENTRY org.eclipse.jdt.ls.core 1 0 2024-06-13 11:53:35.117
!MESSAGE ProjectRegistryRefreshJob finished 2410ms

!ENTRY org.eclipse.jdt.ls.core 1 0 2024-06-13 11:53:35.184
!MESSAGE Started org.eclipse.buildship.core 64ms

!ENTRY org.eclipse.jdt.ls.core 1 0 2024-06-13 11:53:35.274
!MESSAGE Static Commands: []

!ENTRY org.eclipse.jdt.ls.core 1 0 2024-06-13 11:53:35.275
!MESSAGE Non-Static Commands: [java.project.import, java.project.changeImportedProjects, java.navigate.openTypeHierarchy, java.project.resolveStackTraceLocation, java.edit.handlePasteEvent, java.edit.stringFormatting, java.project.getSettings, java.project.resolveWorkspaceSymbol, java.project.upgradeGradle, java.project.createModuleInfo, java.vm.getAllInstalls, java.edit.organizeImports, java.project.refreshDiagnostics, java.project.removeFromSourcePath, java.project.listSourcePaths, java.project.updateSettings, java.project.getAll, java.reloadBundles, java.project.isTestFile, java.project.resolveText, java.project.getClasspaths, java.navigate.resolveTypeHierarchy, java.edit.smartSemicolonDetection, java.project.updateSourceAttachment, java.project.updateClassPaths, java.decompile, java.protobuf.generateSources, java.project.resolveSourceAttachment, java.project.updateJdk, java.project.addToSourcePath, java.completion.onDidSelect]

!ENTRY org.eclipse.jdt.ls.core 1 0 2024-06-13 11:53:35.326
!MESSAGE RepositoryRegistryUpdateJob finished 1ms

!ENTRY org.eclipse.jdt.ls.core 1 0 2024-06-13 11:53:35.355
!MESSAGE >> initialized

!ENTRY org.eclipse.jdt.ls.core 1 0 2024-06-13 11:53:35.427
!MESSAGE Workspace initialized in 99ms

!ENTRY org.eclipse.jdt.ls.core 1 0 2024-06-13 11:53:35.441
!MESSAGE >> initialization job finished

!ENTRY org.eclipse.jdt.ls.core 1 0 2024-06-13 11:53:35.478
!MESSAGE >> build jobs finished

!ENTRY org.eclipse.jdt.ls.core 1 0 2024-06-13 11:53:35.481
!MESSAGE >> registerWatchers'

!ENTRY org.eclipse.jdt.ls.core 1 0 2024-06-13 11:53:35.494
!MESSAGE >> registerFeature 'workspace/didChangeWatchedFiles'

!ENTRY org.eclipse.jdt.ls.core 1 0 2024-06-13 11:53:35.684
!MESSAGE Try to create an invisible project for the workspace /home/bstaletic/.vim/pack/bundle/start/YouCompleteMe/third_party/ycmd/t

!ENTRY org.eclipse.jdt.ls.core 1 0 2024-06-13 11:53:35.685
!MESSAGE Creating the Java project t_dfbc5e74

!ENTRY org.eclipse.jdt.ls.core 1 0 2024-06-13 11:53:36.426
!MESSAGE Finished creating the Java project t_dfbc5e74

!ENTRY org.eclipse.jdt.ls.core 1 0 2024-06-13 11:53:36.445
!MESSAGE Successfully created a workspace invisible project t_dfbc5e74

!ENTRY org.eclipse.jdt.ls.core 1 0 2024-06-13 11:53:37.129
!MESSAGE Reconciled 1. Took 0 ms

!ENTRY org.eclipse.jdt.ls.core 1 0 2024-06-13 11:53:37.548
!MESSAGE >> Updating classpath for project t_dfbc5e74

!ENTRY org.eclipse.jdt.ls.core 1 0 2024-06-13 11:53:38.721
!MESSAGE begin problem for /MethodsWithDocumentation.java

!ENTRY org.eclipse.jdt.ls.core 1 0 2024-06-13 11:53:38.727
!MESSAGE 0 problems reported for /MethodsWithDocumentation.java

!ENTRY org.eclipse.jdt.ls.core 1 0 2024-06-13 11:53:38.734
!MESSAGE Validated 1. Took 1003 ms

The JDT stderr:

Jun 13, 2024 11:53:29 AM org.apache.aries.spifly.BaseActivator log
INFO: Registered provider ch.qos.logback.classic.servlet.LogbackServletContainerInitializer of service jakarta.servlet.ServletContainerInitializer in bundle ch.qos.logback.classic
Jun 13, 2024 11:53:29 AM org.apache.aries.spifly.BaseActivator log
INFO: Registered provider ch.qos.logback.classic.spi.LogbackServiceProvider of service org.slf4j.spi.SLF4JServiceProvider in bundle ch.qos.logback.classic
Jun 13, 2024 11:53:44 AM org.eclipse.lsp4j.jsonrpc.RemoteEndpoint fallbackResponseError
SEVERE: Internal error: java.lang.NullPointerException: Cannot invoke "org.eclipse.lsp4j.Location.getRange()" because "fullLocation" is null
java.util.concurrent.CompletionException: java.lang.NullPointerException: Cannot invoke "org.eclipse.lsp4j.Location.getRange()" because "fullLocation" is null
	at java.base/java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:315)
	at java.base/java.util.concurrent.CompletableFuture.completeThrowable(CompletableFuture.java:320)
	at java.base/java.util.concurrent.CompletableFuture$UniApply.tryFire(CompletableFuture.java:649)
	at java.base/java.util.concurrent.CompletableFuture$Completion.exec(CompletableFuture.java:483)
	at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:373)
	at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1182)
	at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1655)
	at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1622)
	at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:165)
Caused by: java.lang.NullPointerException: Cannot invoke "org.eclipse.lsp4j.Location.getRange()" because "fullLocation" is null
	at org.eclipse.jdt.ls.core.internal.handlers.CallHierarchyHandler.toCallHierarchyItem(CallHierarchyHandler.java:309)
	at org.eclipse.jdt.ls.core.internal.handlers.CallHierarchyHandler.getOutgoingCallItemsAt(CallHierarchyHandler.java:270)
	at org.eclipse.jdt.ls.core.internal.handlers.CallHierarchyHandler.callHierarchyOutgoingCalls(CallHierarchyHandler.java:133)
	at org.eclipse.jdt.ls.core.internal.handlers.JDTLanguageServer.lambda$54(JDTLanguageServer.java:1171)
	at org.eclipse.jdt.ls.core.internal.handlers.JDTLanguageServer.lambda$61(JDTLanguageServer.java:1224)
	at java.base/java.util.concurrent.CompletableFuture$UniApply.tryFire(CompletableFuture.java:646)
	... 6 more

And here are the exchanged messages from from the client's point of view:

2024-06-13 11:53:26,831 - DEBUG - TX: Sending message: b'Content-Length: 1941\r\n\r\n{"id":1,"jsonrpc":"2.0","method":"initialize","params":{"capabilities":{"textDocument":{"codeAction":{"codeActionLiteralSupport":{"codeActionKind":{"valueSet":["","quickfix","refactor","refactor.extract","refactor.inline","refactor.rewrite","source","source.organizeImports"]}}},"completion":{"completionItem":{"documentationFormat":["plaintext","markdown"],"resolveSupport":{"properties":["documentation","detail"]}},"completionItemKind":{"valueSet":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25]}},"documentSymbol":{"hierarchicalDocumentSymbolSupport":false,"labelSupport":false,"symbolKind":{"valueSet":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26]}},"hover":{"contentFormat":["plaintext","markdown"]},"inlay_hint":{},"semanticTokens":{"augmentSyntaxTokens":true,"formats":["relative"],"requests":{"full":{"delta":false},"range":true},"tokenModifiers":[],"tokenTypes":["namespace","type","class","enum","interface","struct","typeParameter","parameter","variable","property","enumMember","event","function","method","member","macro","keyword","modifier","comment","string","number","regexp","operator"]},"signatureHelp":{"signatureInformation":{"documentationFormat":["plaintext","markdown"],"parameterInformation":{"labelOffsetSupport":true}}},"synchronization":{"didSave":true}},"workspace":{"applyEdit":true,"didChangeWatchedFiles":{"dynamicRegistration":true},"symbol":{"symbolKind":{"valueSet":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26]}},"workspaceEdit":{"documentChanges":true},"workspaceFolders":true}},"initializationOptions":{"bundles":[]},"processId":8130,"rootPath":"/home/bstaletic/.vim/pack/bundle/start/YouCompleteMe/third_party/ycmd/t","rootUri":"file:///home/bstaletic/.vim/pack/bundle/start/YouCompleteMe/third_party/ycmd/t","workspaceFolders":[{"name":"t","uri":"file:///home/bstaletic/.vim/pack/bundle/start/YouCompleteMe/third_party/ycmd/t"}]}}'
2024-06-13 11:53:35,303 - DEBUG - RX: Received message: b'{"jsonrpc":"2.0","method":"language/status","params":{"type":"Starting","message":"Init..."}}'
2024-06-13 11:53:35,316 - DEBUG - RX: Received message: b'{"jsonrpc":"2.0","method":"language/status","params":{"type":"Starting","message":"0% Starting Java Language Server"}}'
2024-06-13 11:53:35,347 - DEBUG - RX: Received message: b'{"jsonrpc":"2.0","id":1,"result":{"capabilities":{"textDocumentSync":{"openClose":true,"change":2,"save":{"includeText":true}},"hoverProvider":true,"completionProvider":{"resolveProvider":true,"triggerCharacters":[".","@","#","*"," "]},"signatureHelpProvider":{"triggerCharacters":["(",","]},"definitionProvider":true,"typeDefinitionProvider":true,"implementationProvider":true,"referencesProvider":true,"documentHighlightProvider":true,"documentSymbolProvider":true,"workspaceSymbolProvider":true,"codeActionProvider":{"codeActionKinds":["quickfix","refactor","refactor.extract","refactor.inline","refactor.rewrite","source","source.organizeImports"],"resolveProvider":false},"codeLensProvider":{"resolveProvider":true},"documentFormattingProvider":true,"documentRangeFormattingProvider":true,"documentOnTypeFormattingProvider":{"firstTriggerCharacter":";","moreTriggerCharacter":["\\n","}"]},"renameProvider":{"prepareProvider":true},"foldingRangeProvider":true,"declarationProvider":true,"executeCommandProvider":{"commands":["java.project.import","java.project.changeImportedProjects","java.navigate.openTypeHierarchy","java.project.resolveStackTraceLocation","java.edit.handlePasteEvent","java.edit.stringFormatting","java.project.getSettings","java.project.resolveWorkspaceSymbol","java.project.upgradeGradle","java.project.createModuleInfo","java.vm.getAllInstalls","java.edit.organizeImports","java.project.refreshDiagnostics","java.project.removeFromSourcePath","java.project.listSourcePaths","java.project.updateSettings","java.project.getAll","java.reloadBundles","java.project.isTestFile","java.project.resolveText","java.project.getClasspaths","java.navigate.resolveTypeHierarchy","java.edit.smartSemicolonDetection","java.project.updateSourceAttachment","java.project.updateClassPaths","java.decompile","java.protobuf.generateSources","java.project.resolveSourceAttachment","java.project.updateJdk","java.project.addToSourcePath","java.completion.onDidSelect"]},"workspace":{"workspaceFolders":{"supported":true,"changeNotifications":true}},"typeHierarchyProvider":true,"callHierarchyProvider":true,"selectionRangeProvider":true,"semanticTokensProvider":{"legend":{"tokenTypes":["namespace","class","interface","enum","enumMember","type","typeParameter","method","property","variable","parameter","modifier","keyword","annotation","annotationMember","record","recordComponent"],"tokenModifiers":["abstract","static","readonly","deprecated","declaration","documentation","public","private","protected","native","generic","typeArgument","importDeclaration","constructor"]},"range":false,"full":{"delta":false},"documentSelector":[{"language":"java","scheme":"file"},{"language":"java","scheme":"jdt"}]},"inlayHintProvider":true}}}'
2024-06-13 11:53:35,348 - DEBUG - TX: Sending notification: b'Content-Length: 52\r\n\r\n{"jsonrpc":"2.0","method":"initialized","params":{}}'
2024-06-13 11:53:35,349 - DEBUG - TX: Sending notification: b'Content-Length: 98\r\n\r\n{"jsonrpc":"2.0","method":"workspace/didChangeConfiguration","params":{"settings":{"bundles":[]}}}'
2024-06-13 11:53:35,351 - DEBUG - TX: Sending notification: b'Content-Length: 293\r\n\r\n{"jsonrpc":"2.0","method":"textDocument/didOpen","params":{"textDocument":{"languageId":"java","text":"class C {\\n  public C() {\\n\\t  this.hashCode();\\n  }\\n}\\n","uri":"file:///home/bstaletic/.vim/pack/bundle/start/YouCompleteMe/third_party/ycmd/t/MethodsWithDocumentation.java","version":1}}}'
2024-06-13 11:53:35,424 - DEBUG - RX: Received message: b'{"jsonrpc":"2.0","method":"language/status","params":{"type":"ProjectStatus","message":"OK"}}'
2024-06-13 11:53:35,424 - DEBUG - RX: Received message: b'{"jsonrpc":"2.0","method":"language/status","params":{"type":"Starting","message":"100% Starting Java Language Server"}}'
2024-06-13 11:53:35,428 - DEBUG - RX: Received message: b'{"jsonrpc":"2.0","method":"language/status","params":{"type":"Started","message":"Ready"}}'
2024-06-13 11:53:35,435 - DEBUG - RX: Received message: b'{"jsonrpc":"2.0","method":"language/status","params":{"type":"Starting","message":"100% Starting Java Language Server"}}'
2024-06-13 11:53:35,452 - DEBUG - RX: Received message: b'{"jsonrpc":"2.0","id":"1","method":"client/registerCapability","params":{"registrations":[{"id":"31ef27ca-ee5f-417e-a942-6273f0ec3dfc","method":"workspace/didChangeWorkspaceFolders"}]}}'
2024-06-13 11:53:35,453 - DEBUG - TX: Sending response: b'Content-Length: 40\r\n\r\n{"id":"1","jsonrpc":"2.0","result":null}'
2024-06-13 11:53:35,453 - DEBUG - RX: Received message: b'{"jsonrpc":"2.0","method":"language/status","params":{"type":"ServiceReady","message":"ServiceReady"}}'
2024-06-13 11:53:35,501 - DEBUG - RX: Received message: b'{"jsonrpc":"2.0","id":"2","method":"client/registerCapability","params":{"registrations":[{"id":"78c85c08-e564-4def-a832-0158e0a0b838","method":"workspace/didChangeWatchedFiles","registerOptions":{"watchers":[{"globPattern":"**/*.java"},{"globPattern":"**/.project"},{"globPattern":"**/.classpath"},{"globPattern":"**/.settings/*.prefs"},{"globPattern":"**/src/**"},{"globPattern":"**/*.gradle"},{"globPattern":"**/*.gradle.kts"},{"globPattern":"**/gradle.properties"},{"globPattern":"**/pom.xml"}]}}]}}'
2024-06-13 11:53:35,512 - DEBUG - TX: Sending response: b'Content-Length: 40\r\n\r\n{"id":"2","jsonrpc":"2.0","result":null}'
2024-06-13 11:53:37,465 - DEBUG - RX: Received message: b'{"jsonrpc":"2.0","method":"textDocument/publishDiagnostics","params":{"uri":"file:///home/bstaletic/.vim/pack/bundle/start/YouCompleteMe/third_party/ycmd/third_party/eclipse.jdt.ls/workspace/temp/tmprtwm8c04/t_dfbc5e74","diagnostics":[]}}'
2024-06-13 11:53:38,733 - DEBUG - RX: Received message: b'{"jsonrpc":"2.0","method":"textDocument/publishDiagnostics","params":{"uri":"file:///home/bstaletic/.vim/pack/bundle/start/YouCompleteMe/third_party/ycmd/t/MethodsWithDocumentation.java","diagnostics":[]}}'
2024-06-13 11:53:39,208 - DEBUG - RX: Received message: b'{"jsonrpc":"2.0","method":"textDocument/publishDiagnostics","params":{"uri":"file:///home/bstaletic/.vim/pack/bundle/start/YouCompleteMe/third_party/ycmd/third_party/eclipse.jdt.ls/workspace/temp/tmprtwm8c04/t_dfbc5e74","diagnostics":[]}}'
2024-06-13 11:53:42,937 - DEBUG - TX: Sending message: b'Content-Length: 250\r\n\r\n{"id":2,"jsonrpc":"2.0","method":"textDocument/prepareCallHierarchy","params":{"position":{"character":9,"line":1},"textDocument":{"uri":"file:///home/bstaletic/.vim/pack/bundle/start/YouCompleteMe/third_party/ycmd/t/MethodsWithDocumentation.java"}}}'
2024-06-13 11:53:43,259 - DEBUG - RX: Received message: b'{"jsonrpc":"2.0","id":2,"result":[{"name":"C()","detail":"C","kind":9,"uri":"file:///home/bstaletic/.vim/pack/bundle/start/YouCompleteMe/third_party/ycmd/t/MethodsWithDocumentation.java","range":{"start":{"line":1,"character":2},"end":{"line":3,"character":3}},"selectionRange":{"start":{"line":1,"character":9},"end":{"line":1,"character":10}}}]}'
2024-06-13 11:53:44,307 - DEBUG - TX: Sending message: b'Content-Length: 393\r\n\r\n{"id":3,"jsonrpc":"2.0","method":"callHierarchy/outgoingCalls","params":{"item":{"detail":"C","kind":9,"name":"C()","range":{"end":{"character":3,"line":3},"start":{"character":2,"line":1}},"selectionRange":{"end":{"character":10,"line":1},"start":{"character":9,"line":1}},"uri":"file:///home/bstaletic/.vim/pack/bundle/start/YouCompleteMe/third_party/ycmd/t/MethodsWithDocumentation.java"}}}'
2024-06-13 11:53:44,374 - DEBUG - RX: Received message: b'{"jsonrpc":"2.0","id":3,"error":{"code":-32603,"message":"Internal error.","data":"java.util.concurrent.CompletionException: java.lang.NullPointerException: Cannot invoke \\"org.eclipse.lsp4j.Location.getRange()\\" because \\"fullLocation\\" is null\\n\\tat java.base/java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:315)\\n\\tat java.base/java.util.concurrent.CompletableFuture.completeThrowable(CompletableFuture.java:320)\\n\\tat java.base/java.util.concurrent.CompletableFuture$UniApply.tryFire(CompletableFuture.java:649)\\n\\tat java.base/java.util.concurrent.CompletableFuture$Completion.exec(CompletableFuture.java:483)\\n\\tat java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:373)\\n\\tat java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1182)\\n\\tat java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1655)\\n\\tat java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1622)\\n\\tat java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:165)\\nCaused by: java.lang.NullPointerException: Cannot invoke \\"org.eclipse.lsp4j.Location.getRange()\\" because \\"fullLocation\\" is null\\n\\tat org.eclipse.jdt.ls.core.internal.handlers.CallHierarchyHandler.toCallHierarchyItem(CallHierarchyHandler.java:309)\\n\\tat org.eclipse.jdt.ls.core.internal.handlers.CallHierarchyHandler.getOutgoingCallItemsAt(CallHierarchyHandler.java:270)\\n\\tat org.eclipse.jdt.ls.core.internal.handlers.CallHierarchyHandler.callHierarchyOutgoingCalls(CallHierarchyHandler.java:133)\\n\\tat org.eclipse.jdt.ls.core.internal.handlers.JDTLanguageServer.lambda$54(JDTLanguageServer.java:1171)\\n\\tat org.eclipse.jdt.ls.core.internal.handlers.JDTLanguageServer.lambda$61(JDTLanguageServer.java:1224)\\n\\tat java.base/java.util.concurrent.CompletableFuture$UniApply.tryFire(CompletableFuture.java:646)\\n\\t... 6 more\\n"}}'
@bstaletic bstaletic changed the title Outgoing hierarchies runs into NullPointerException if hashCode() is called Outgoing calls hierarchies runs into NullPointerException if hashCode() is called Jun 13, 2024
@neil-ca-moore
Copy link

I think it would have helped if you'd provided the options provided in initialize message.

I solved this problem in my case by adding various options to init message:

{
...   
    "initializationOptions": {
        "bundles": [
            ...paths to jars
        ],
...
        "settings": {
            "java": {
                "home": "/opt/homebrew/Cellar/sdkman-cli/5.18.1/libexec/candidates/java/17.0.6.fx-zulu/zulu-17.jdk/Contents/Home",
                "configuration": {
                  
                    "runtimes": [
                        {
                            "name": "JavaSE-17",
                            "path": "/opt/homebrew/Cellar/sdkman-cli/5.18.1/libexec/candidates/java/17.0.6.fx-zulu/zulu-17.jdk/Contents/Home"
                        }
                    ],
                    "detectJdksAtStart": true
                },

                "autobuild": {
                    "enabled": true
                },
            }
        },
        "extendedClientCapabilities": {
            "classFileContentsSupport": true
        }
    
    },
...
}

@neil-ca-moore
Copy link

neil-ca-moore commented Jul 12, 2024

In my case it was caused by the JLS trying to resolve a reference into the Java Standard Library that it couldn't find. Probably for you too finding Object::hashCode.

@bstaletic
Copy link
Contributor Author

I think it would have helped if you'd provided the options provided in initialize message.

I have posted the entire log of messages exchanged between my client and JDT. Specifically the options were:

"initializationOptions":{"bundles":[]}

In my case it was caused by the JLS trying to resolve a reference into the Java Standard Library that it couldn't find. Probably for you too finding Object::hashCode.

That does seem to be the case, but I don't see what I've done wrong.

@rgrunber
Copy link
Contributor

rgrunber commented Jul 30, 2024

The error regarding fullLocation being null was fixed at #3206 (comment) , so that should no longer be an issue. Yes, "classFileContentsSupport": true would fix this, but it should also work without that, which is why a fix made sense.

Closing this for now as the error mentioned should be fixed.

You could try https://download.eclipse.org/jdtls/snapshots/jdt-language-server-latest.tar.gz for the latest version. We also plan to release by the end of this week.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants