eclipse-lsp4j / lsp4j

A Java implementation of the language server protocol intended to be consumed by tools and language servers implemented in Java.
https://eclipse.org/lsp4j
Other
599 stars 143 forks source link

java.lang.VerifyError: Bad return type #730

Closed albilu closed 1 year ago

albilu commented 1 year ago

Using LSP4J for Debug Protocol i am getting this issue at:

Launcher<IDebugProtocolServer> launcher = DSPLauncher.createClientLauncher(client, in, out);
java.lang.VerifyError: Bad return type
Exception Details:
  Location:
    org/eclipse/lsp4j/jsonrpc/debug/adapters/DebugMessageTypeAdapter$Factory.create(Lcom/google/gson/Gson;Lcom/google/gson/reflect/TypeToken;)Lcom/google/gson/TypeAdapter; @26: areturn
  Reason:
    Type 'org/eclipse/lsp4j/jsonrpc/debug/adapters/DebugMessageTypeAdapter' (current frame, stack[0]) is not assignable to 'com/google/gson/TypeAdapter' (from method signature)
  Current Frame:
    bci: @26
    flags: { }
    locals: { 'org/eclipse/lsp4j/jsonrpc/debug/adapters/DebugMessageTypeAdapter$Factory', 'com/google/gson/Gson', 'com/google/gson/reflect/TypeToken' }
    stack: { 'org/eclipse/lsp4j/jsonrpc/debug/adapters/DebugMessageTypeAdapter' }
  Bytecode:
    0000000: 1203 2cb6 0004 b600 059a 0005 01b0 bb00
    0000010: 0659 2ab4 0002 2bb7 0007 b0            
  Stackmap Table:
    same_frame(@14)

    at org.eclipse.lsp4j.jsonrpc.debug.json.DebugMessageJsonHandler.getDefaultGsonBuilder(DebugMessageJsonHandler.java:34)
    at org.eclipse.lsp4j.jsonrpc.json.MessageJsonHandler.<init>(MessageJsonHandler.java:61)
    at org.eclipse.lsp4j.jsonrpc.debug.json.DebugMessageJsonHandler.<init>(DebugMessageJsonHandler.java:26)
    at org.eclipse.lsp4j.jsonrpc.debug.DebugLauncher$Builder.createJsonHandler(DebugLauncher.java:207)
    at org.eclipse.lsp4j.jsonrpc.Launcher$Builder.create(Launcher.java:319)
    at org.eclipse.lsp4j.jsonrpc.debug.DebugLauncher.createLauncher(DebugLauncher.java:64)
    at org.eclipse.lsp4j.debug.launch.DSPLauncher.createClientLauncher(DSPLauncher.java:85)

After investigating a bit it seems there is a conflict between org.eclipse.lsp4j.jsonrpc and org.eclipse.lsp4j.jsonrpc.debug

Here is pom.xml.zip

org.eclipse.lsp4j.jsonrpc is comming from org-netbeans-modules-lsp-client wich is the Netbeans IDE client relying on LSP4J for Language Server communications.

jonahgraham commented 1 year ago

Thanks for the bug report. I'm not quite sure I understand the cause of the problem here. If NetBeans is consuming incompatible bundles, should this bug report be directed at them?

albilu commented 1 year ago

you right didn't reproduce the issue outside Netbeans. Thanks for your quick response