weirongxu / coc-kotlin

Intelligent Kotlin support for coc.nvim
MIT License
58 stars 1 forks source link

Kotlin Language Server won't start after auto-download on macOS #12

Closed martin-braun closed 1 year ago

martin-braun commented 1 year ago

Result from CocInfo

## versions

vim version: NVIM v0.9.2
node version: v18.17.1
coc.nvim version: 0.0.82-6e4e6eaf 2023-09-08 01:05:35 +0800
coc.nvim directory: /Users/marty/.local/share/nvim/lazy/coc_nvim
term: tmux
platform: darwin

## Log of coc.nvim

2023-10-01T22:56:15.220 WARN (pid:34525) [workspace] - workspace.createOutputChannel is deprecated, please use window.createOutputChannel instead. 
    at Object.<anonymous> (/Users/marty/.config/coc/extensions/node_modules/coc-tailwindcss/out/index.js:14:7870)
    at Generator.next (<anonymous>)
2023-10-01T22:56:15.332 INFO (pid:34525) [plugin] - coc.nvim initialized with node: v18.17.1 after 346
2023-10-01T22:56:15.334 INFO (pid:34525) [attach] - receive notification: highlight []
2023-10-01T22:56:16.262 INFO (pid:34525) [attach] - receive notification: highlight []
2023-10-01T22:56:17.781 INFO (pid:34525) [attach] - receive notification: highlight []
2023-10-01T22:56:18.739 INFO (pid:34525) [attach] - receive notification: highlight []
2023-10-01T22:56:19.092 INFO (pid:34525) [attach] - receive notification: highlight []
2023-10-01T22:56:19.801 INFO (pid:34525) [attach] - receive notification: highlight []
2023-10-01T22:56:20.811 INFO (pid:34525) [attach] - receive notification: highlight []
2023-10-01T22:56:23.497 INFO (pid:34525) [attach] - receive notification: highlight []
2023-10-01T22:56:23.933 INFO (pid:34525) [attach] - receive notification: highlight []
2023-10-01T22:56:24.312 INFO (pid:34525) [attach] - receive notification: highlight []
2023-10-01T22:56:25.069 INFO (pid:34525) [attach] - receive notification: highlight []
2023-10-01T22:56:25.406 INFO (pid:34525) [attach] - receive notification: highlight []
2023-10-01T22:56:25.635 INFO (pid:34525) [extension:coc-java] - Using java from /Users/marty/.sdkman/candidates/java/18.0.1.1-open, version: 18
2023-10-01T22:56:30.525 ERROR (pid:34525) [timing] - activate coc-kotlin timeout after 5000ms
2023-10-01T22:56:34.871 INFO (pid:34525) [extension:coc-java] - Starting Java server with: /Users/marty/.sdkman/candidates/java/18.0.1.1-open/bin/java --add-modules=ALL-SYSTEM --add-opens java.base/java.util=ALL-UNNAMED --add-opens java.base/java.lang=ALL-UNNAMED -Declipse.application=org.eclipse.jdt.ls.core.id1 -Dosgi.bundles.defaultStartLevel=4 -Declipse.product=org.eclipse.jdt.ls.core.product -Dfile.encoding=utf-8 -noverify -Xmx1G -XX:+UseG1GC -XX:+UseStringDeduplication -jar /Users/marty/.config/coc/extensions/coc-java-data/server/plugins/org.eclipse.equinox.launcher_1.6.400.v20210924-0641.jar -configuration /Users/marty/.config/coc/extensions/coc-java-data/server/config_mac -data /Users/marty/.config/coc/extensions/coc-java-data/jdt_ws_6aa74ac45ea8e5aeaace47c5dab0d128
2023-10-01T22:56:34.875 INFO (pid:34525) [extension:coc-java] - JDT Language Server starting at /usr/local/src/git/github.com/Kotlin/kotlin-wasm-examples/main/compose-imageviewer
2023-10-01T22:56:34.879 INFO (pid:34525) [language-client-index] - Language server "java" started with 34637
2023-10-01T22:56:35.157 INFO (pid:34525) [attach] - receive notification: highlight []
2023-10-01T22:56:41.198 INFO (pid:34525) [attach] - receive notification: highlight []
2023-10-01T22:56:42.345 INFO (pid:34525) [model-download] - Download completed: URL {
  href: 'https://github.com/fwcd/kotlin-language-server/releases/download/1.3.5/server.zip',
  origin: 'https://github.com',
  protocol: 'https:',
  username: '',
  password: '',
  host: 'github.com',
  hostname: 'github.com',
  port: '',
  pathname: '/fwcd/kotlin-language-server/releases/download/1.3.5/server.zip',
  search: '',
  searchParams: URLSearchParams {},
  hash: ''
}
2023-10-01T22:56:42.352 INFO (pid:34525) [model-download] - Downloaded https://github.com/fwcd/kotlin-language-server/releases/download/1.3.5/server.zip => /Users/marty/.config/coc/extensions/coc-kotlin-data/langServerInstall
2023-10-01T22:56:42.466 ERROR (pid:34525) [server] - unhandledRejection  Promise {
  <rejected> Error: Launching server "kotlin" using command /Users/marty/.config/coc/extensions/coc-kotlin-data/langServerInstall/server/bin/kotlin-language-server failed.
      at /Users/marty/.local/share/nvim/lazy/coc_nvim/build/index.js:244:6399
      at async Md.createConnection (/Users/marty/.local/share/nvim/lazy/coc_nvim/build/index.js:240:15149)
      at async Md._start (/Users/marty/.local/share/nvim/lazy/coc_nvim/build/index.js:240:7683),
  dispose: [Function (anonymous)]
} Error: Launching server "kotlin" using command /Users/marty/.config/coc/extensions/coc-kotlin-data/langServerInstall/server/bin/kotlin-language-server failed.
    at /Users/marty/.local/share/nvim/lazy/coc_nvim/build/index.js:244:6399
    at async Md.createConnection (/Users/marty/.local/share/nvim/lazy/coc_nvim/build/index.js:240:15149)
    at async Md._start (/Users/marty/.local/share/nvim/lazy/coc_nvim/build/index.js:240:7683)

Description

After confirming the prompt to auto-download the Kotlin language server, I get this:

[coc.nvim]: UnhandledRejection: Launching server "kotlin" using command /Users/marty/.config/coc/extensions/coc-kotlin-data/langServerInstall/server/bin/kotlin-language-server failed.
Error: Launching server "kotlin" using command /Users/marty/.config/coc/extensions/coc-kotlin-data/langServerInstall/server/bin/kotlin-language-server failed.
    at /Users/marty/.local/share/nvim/lazy/coc_nvim/build/index.js:244:6399
    at async Md.createConnection (/Users/marty/.local/share/nvim/lazy/coc_nvim/build/index.js:240:15149)
    at async Md._start (/Users/marty/.local/share/nvim/lazy/coc_nvim/build/index.js:240:7683)

Trying to run the language server manually results in:

> /Users/marty/.config/coc/extensions/coc-kotlin-data/langServerInstall/server/bin/kotlin-language-server           [main]
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
Oct 01, 2023 11:00:13 PM org.eclipse.lsp4j.jsonrpc.services.GenericEndpoint lambda$recursiveFindRpcMethods$2
SEVERE: A delegate object is null, jsonrpc methods of 'public default org.eclipse.lsp4j.services.NotebookDocumentService org.eclipse.lsp4j.services.LanguageServer.getNotebookDocumentService()' are ignored
Content-Length: 121

{"jsonrpc":"2.0","method":"window/logMessage","params":{"type":3,"message":"main      Adding script definitions [null]"}}Content-Length: 126

{"jsonrpc":"2.0","method":"window/logMessage","params":{"type":3,"message":"main      Kotlin Language Server: Version 1.3.5"}}Content-Length: 295

{"jsonrpc":"2.0","method":"window/logMessage","params":{"type":1,"message":"main      A delegate object is null, jsonrpc methods of \u0027public default org.eclipse.lsp4j.services.NotebookDocumentService org.eclipse.lsp4j.services.LanguageServer.getNotebookDocumentService()\u0027 are ignored"}}Content-Length: 108

{"jsonrpc":"2.0","method":"window/logMessage","params":{"type":3,"message":"main      Connected to client"}}

But despite the errors and warnings, it's running.

Extension version

0.1.0

Additional context

https://github.com/fwcd/kotlin-language-server/issues/286 gives the hint that this extension is downloading the latest package which might be out of date.

martin-braun commented 1 year ago

A restart fixed the problem. It's worth noting, the server takes very long to actually start up and being recognized fully. Syntax-highlighting is not part of the repo as well, as stated in the README.