OpenLiberty / liberty-tools-intellij

IntelliJ IDEA extension for Liberty
https://plugins.jetbrains.com/plugin/14856-open-liberty-tools
Eclipse Public License 2.0
11 stars 21 forks source link

NullPointerException when listing code snippets #440

Closed Jonathan-Maciel closed 1 week ago

Jonathan-Maciel commented 1 year ago

On Ubuntu when pressing control + space to list the options for code snippets, the options are listed as expected.

Screenshot 2023-06-08 at 10 36 05 AM

This java error is printed to the ide log:

Jun 08, 2023 8:35:49 AM org.eclipse.lsp4j.jsonrpc.RemoteEndpoint fallbackResponseError
SEVERE: Internal error: java.lang.NullPointerException: Cannot invoke "org.eclipse.lsp4j.CompletionList.getItems()" because "list2" is null
java.util.concurrent.CompletionException: java.lang.NullPointerException: Cannot invoke "org.eclipse.lsp4j.CompletionList.getItems()" because "list2" is null
    at java.base/java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:315)
    at java.base/java.util.concurrent.CompletableFuture.uniApplyNow(CompletableFuture.java:687)
    at java.base/java.util.concurrent.CompletableFuture.uniApplyStage(CompletableFuture.java:662)
    at java.base/java.util.concurrent.CompletableFuture.thenApply(CompletableFuture.java:2168)
    at org.eclipse.lsp4mp.ls.java.JavaFileTextDocumentService.lambda$completion$4(JavaFileTextDocumentService.java:171)
    at org.eclipse.lsp4mp.ls.java.JavaTextDocuments$JavaTextDocument.executeIfInMicroProfileProject(JavaTextDocuments.java:178)
    at org.eclipse.lsp4mp.ls.java.JavaTextDocuments$JavaTextDocument.lambda$executeIfInMicroProfileProject$1(JavaTextDocuments.java:167)
    at java.base/java.util.concurrent.CompletableFuture$UniCompose.tryFire(CompletableFuture.java:1150)
    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.CompletionList.getItems()" because "list2" is null
    at org.eclipse.lsp4mp.ls.java.JavaFileTextDocumentService.lambda$completion$3(JavaFileTextDocumentService.java:173)
    at java.base/java.util.concurrent.CompletableFuture.uniApplyNow(CompletableFuture.java:684)
    ... 12 more

No message is alerted up to the ide notifications this is only present in the log.

I also saw this possibly related message on starting the ide.

SEVERE: Error while consumming snippet loader org.eclipse.lsp4mp.snippets.MicroProfileJavaSnippetRegistryLoader
java.lang.NullPointerException
    at java.base/java.io.Reader.<init>(Reader.java:168)
    at java.base/java.io.InputStreamReader.<init>(InputStreamReader.java:97)
    at org.eclipse.lsp4mp.ls.commons.snippets.SnippetRegistry.registerSnippets(SnippetRegistry.java:153)
    at org.eclipse.lsp4mp.ls.commons.snippets.SnippetRegistry.registerSnippets(SnippetRegistry.java:126)
    at org.eclipse.lsp4mp.snippets.MicroProfileJavaSnippetRegistryLoader.load(MicroProfileJavaSnippetRegistryLoader.java:31)
    at org.eclipse.lsp4mp.ls.commons.snippets.SnippetRegistry.lambda$new$0(SnippetRegistry.java:85)
    at java.base/java.lang.Iterable.forEach(Iterable.java:75)
    at org.eclipse.lsp4mp.ls.commons.snippets.SnippetRegistry.<init>(SnippetRegistry.java:82)
    at org.eclipse.lsp4mp.ls.commons.snippets.TextDocumentSnippetRegistry.<init>(TextDocumentSnippetRegistry.java:43)
    at org.eclipse.lsp4mp.ls.java.JavaTextDocumentSnippetRegistry.<init>(JavaTextDocumentSnippetRegistry.java:51)
    at org.eclipse.lsp4mp.ls.java.JavaTextDocumentSnippetRegistry.<init>(JavaTextDocumentSnippetRegistry.java:47)
    at org.eclipse.lsp4mp.ls.java.JavaTextDocuments.getSnippetRegistry(JavaTextDocuments.java:297)
    at org.eclipse.lsp4mp.ls.java.JavaTextDocuments.getProjectInfoFromCache(JavaTextDocuments.java:243)
    at org.eclipse.lsp4mp.ls.java.JavaTextDocuments.getProjectInfo(JavaTextDocuments.java:218)
    at org.eclipse.lsp4mp.ls.java.JavaTextDocuments.access$300(JavaTextDocuments.java:47)
    at org.eclipse.lsp4mp.ls.java.JavaTextDocuments$JavaTextDocument.lambda$executeIfInMicroProfileProject$1(JavaTextDocuments.java:153)
    at java.base/java.util.concurrent.CompletableFuture$UniCompose.tryFire(CompletableFuture.java:1150)
    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)
TrevCraw commented 1 year ago

This error can most likely be attributed to the fact that the LSP4MP snippet JSONs were removed from the test driver. The JSON snippets will be available once https://github.com/OpenLiberty/liberty-tools-intellij/issues/431 is resolved.

anusreelakshmi934 commented 3 weeks ago

Tested using the latest lsp4ij feature branch (version - 0.0.2) . Did not see the above error printed in the IDE log.

image
turkeylurkey commented 1 week ago

Also could not reproduce.