Fork me on GitHub
#lsp
<
2022-02-27
>
apt21:02:19

Hey folks. I can see this error in LSP logs when I save a file. Is this an issue? error in the thread.

apt21:02:29

[stderr] Feb 27, 2022 6:09:50 PM org.eclipse.lsp4j.jsonrpc.json.StreamMessageProducer fireError
[stderr] SEVERE: Unable to invoke no-args constructor for class org.eclipse.lsp4j.WillSaveTextDocumentParams. Registering an InstanceCreator with Gson for this type may fix this problem.
[stderr] java.lang.RuntimeException: Unable to invoke no-args constructor for class org.eclipse.lsp4j.WillSaveTextDocumentParams. Registering an InstanceCreator with Gson for this type may fix this problem.
[stderr] 	at com.google.gson.internal.ConstructorConstructor$14.construct(ConstructorConstructor.java:228)
[stderr] 	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:212)
[stderr] 	at com.google.gson.Gson.fromJson(Gson.java:963)
[stderr] 	at org.eclipse.lsp4j.jsonrpc.json.adapters.MessageTypeAdapter.fromJson(MessageTypeAdapter.java:329)
[stderr] 	at org.eclipse.lsp4j.jsonrpc.json.adapters.MessageTypeAdapter.parseParams(MessageTypeAdapter.java:249)
[stderr] 	at org.eclipse.lsp4j.jsonrpc.json.adapters.MessageTypeAdapter.read(MessageTypeAdapter.java:119)
[stderr] 	at org.eclipse.lsp4j.jsonrpc.json.adapters.MessageTypeAdapter.read(MessageTypeAdapter.java:55)
[stderr] 	at com.google.gson.Gson.fromJson(Gson.java:963)
[stderr] 	at org.eclipse.lsp4j.jsonrpc.json.MessageJsonHandler.parseMessage(MessageJsonHandler.java:119)
[stderr] 	at org.eclipse.lsp4j.jsonrpc.json.MessageJsonHandler.parseMessage(MessageJsonHandler.java:114)
[stderr] 	at org.eclipse.lsp4j.jsonrpc.json.StreamMessageProducer.handleMessage(StreamMessageProducer.java:193)
[stderr] 	at org.eclipse.lsp4j.jsonrpc.json.StreamMessageProducer.listen(StreamMessageProducer.java:94)
[stderr] 	at org.eclipse.lsp4j.jsonrpc.json.ConcurrentMessageProcessor.run(ConcurrentMessageProcessor.java:113)
[stderr] 	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
[stderr] 	at java.util.concurrent.FutureTask.run(FutureTask.java:264)
[stderr] 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
[stderr] 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
[stderr] 	at java.lang.Thread.run(Thread.java:829)
[stderr] 	at com.oracle.svm.core.thread.JavaThreads.threadStartRoutine(JavaThreads.java:597)
[stderr] 	at com.oracle.svm.core.posix.thread.PosixJavaThreads.pthreadStartRoutine(PosixJavaThreads.java:194)
[stderr] Caused by: java.lang.reflect.InvocationTargetException
[stderr] 	at java.lang.reflect.Method.invoke(Method.java:566)
[stderr] 	at com.google.gson.internal.UnsafeAllocator$1.newInstance(UnsafeAllocator.java:50)
[stderr] 	at com.google.gson.internal.ConstructorConstructor$14.construct(ConstructorConstructor.java:225)
[stderr] 	... 19 more
[stderr] Caused by: java.lang.IllegalArgumentException: Class org.eclipse.lsp4j.WillSaveTextDocumentParams is instantiated reflectively but was never registered. Register the class by using org.graalvm.nativeimage.hosted.RuntimeReflection
[stderr] 	at com.oracle.svm.core.graal.snippets.SubstrateAllocationSnippets.hubErrorStub(SubstrateAllocationSnippets.java:230)
[stderr] 	at sun.misc.Unsafe.allocateInstance(Unsafe.java:840)
[stderr] 	... 22 more
[stderr] 

ericdallo21:02:12

Oh, sounds like a GraalVM issue on clojure-lsp, I think because you are probably using a client that support willSaveTextDocument

ericdallo21:02:29

Clojure-lsp doesn't support it, so you can ignore it for now

ericdallo21:02:37

I'll fix it for next release

apt21:02:08

Cool. Thanks, Eric.