cider

noonker 2025-05-05T17:21:48.737869Z

I'm sure more information will be needed but I've suddenly started getting this error when trying to run cider-jack-in in emacs:

[nREPL] Starting server via /home/person/.guix-home/profile/bin/clojure -Sdeps \{\:deps\ \{nrepl/nrepl\ \{\:mvn/version\ \"1.3.1\"\}\ cider/cider-nrepl\ \{\:mvn/version\ \"0.55.7\"\}\ refactor-nrepl/refactor-nrepl\ \{\:mvn/version\ \"3.10.0\"\}\}\ \:aliases\ \{\:cider/nrepl\ \{\:main-opts\ \[\"-m\"\ \"nrepl.cmdline\"\ \"--middleware\"\ \"\[refactor-nrepl.middleware/wrap-refactor\,cider.nrepl/cider-middleware\]\"\]\}\}\} -M:cider/nrepl
error in process sentinel: nrepl-server-sentinel: Could not start nREPL server: Execution error (ClassNotFoundException) at java.net.URLClassLoader/findClass (REPL:-1).
com.sun.source.doctree.BlockTagTree

Full report at:
/tmp/clojure-13021721334404602078.edn
 ("exited abnormally with code 1")
error in process sentinel: Could not start nREPL server: Execution error (ClassNotFoundException) at java.net.URLClassLoader/findClass (REPL:-1).
com.sun.source.doctree.BlockTagTree

Full report at:
/tmp/clojure-13021721334404602078.edn
 ("exited abnormally with code 1")
Unsurprisingly, the same issue when I've tried to launch it directly from the CLI:
person@blep ~$ clojure -Sdeps '{:deps {nrepl {:mvn/version "1.3.1"} cider/cider-nrepl {:mvn/version "0.55.7"}}}' -m nrepl.cmdline --middleware '["cider.nrepl/cider-middleware"]'
WARNING: Implicit use of clojure.main with options is deprecated, use -M
Execution error (ClassNotFoundException) at java.net.URLClassLoader/findClass (REPL:-1).
com.sun.source.doctree.BlockTagTree

Full report at:
/tmp/clojure-5241116782966707673.edn
person@blep ~$ clojure --version
Clojure CLI version 1.11.1.1413
person@blep ~$ java --version
openjdk 21.0.2 2024-01-16
OpenJDK Runtime Environment (build 21.0.2+-adhoc.nixbld.source)
OpenJDK 64-Bit Server VM (build 21.0.2+-adhoc.nixbld.source, mixed mode, sharing)
Will post some more details in the thread

📕 1
noonker 2025-05-05T17:22:53.989129Z

I'm not sure what changed because I've been doing this for weeks and just now am seeing this error.

{:clojure.main/message
 "Execution error (ClassNotFoundException) at java.net.URLClassLoader/findClass (REPL:-1).\ncom.sun.source.doctree.BlockTagTree\n",
 :clojure.main/triage
 {:clojure.error/class java.lang.ClassNotFoundException,
  :clojure.error/line -1,
  :clojure.error/cause "com.sun.source.doctree.BlockTagTree",
  :clojure.error/symbol java.net.URLClassLoader/findClass,
  :clojure.error/phase :execution},
 :clojure.main/trace
 {:via
  [{:type clojure.lang.Compiler$CompilerException,
    :message
    "Syntax error macroexpanding at (orchard/java/parser_next.clj:1:1).",
    :data
    {:clojure.error/phase :execution,
     :clojure.error/line 1,
     :clojure.error/column 1,
     :clojure.error/source "orchard/java/parser_next.clj"},
    :at [clojure.lang.Compiler load "Compiler.java" 7665]}
   {:type java.lang.ClassNotFoundException,
    :message "com.sun.source.doctree.BlockTagTree",
    :at [java.net.URLClassLoader findClass nil -1]}],
  :trace
  [[java.net.URLClassLoader findClass nil -1]
   [clojure.lang.DynamicClassLoader
    findClass
    "DynamicClassLoader.java"
    69]
   [java.lang.ClassLoader loadClass nil -1]
   [clojure.lang.DynamicClassLoader
    loadClass
    "DynamicClassLoader.java"
    77]
   [java.lang.ClassLoader loadClass nil -1]
   [java.lang.Class forName0 nil -2]
   [java.lang.Class forName nil -1]
   [java.lang.Class forName nil -1]
   [clojure.lang.RT classForName "RT.java" 2209]
   [clojure.lang.RT classForNameNonLoading "RT.java" 2222]
   [orchard.java.parser_next$eval4379$loading__6789__auto____4380
    invoke
    "parser_next.clj"
    1]
   [orchard.java.parser_next$eval4379 invokeStatic "parser_next.clj" 1]
   [orchard.java.parser_next$eval4379 invoke "parser_next.clj" 1]
   [clojure.lang.Compiler eval "Compiler.java" 7194]
   [clojure.lang.Compiler eval "Compiler.java" 7183]
   [clojure.lang.Compiler load "Compiler.java" 7653]
   [clojure.lang.RT loadResourceScript "RT.java" 381]
   [clojure.lang.RT loadResourceScript "RT.java" 372]
   [clojure.lang.RT load "RT.java" 459]
   [clojure.lang.RT load "RT.java" 424]
   [clojure.core$load$fn__6908 invoke "core.clj" 6161]
   [clojure.core$load invokeStatic "core.clj" 6160]
   [clojure.core$load doInvoke "core.clj" 6144]
   [clojure.lang.RestFn invoke "RestFn.java" 408]
   [clojure.core$load_one invokeStatic "core.clj" 5933]
   [clojure.core$load_one invoke "core.clj" 5928]
   [clojure.core$load_lib$fn__6850 invoke "core.clj" 5975]
   [clojure.core$load_lib invokeStatic "core.clj" 5974]
   [clojure.core$load_lib doInvoke "core.clj" 5953]
   [clojure.lang.RestFn applyTo "RestFn.java" 142]
   [clojure.core$apply invokeStatic "core.clj" 669]
   [clojure.core$load_libs invokeStatic "core.clj" 6016]
   [clojure.core$load_libs doInvoke "core.clj" 6000]
   [clojure.lang.RestFn applyTo "RestFn.java" 137]
   [clojure.core$apply invokeStatic "core.clj" 669]
   [clojure.core$require invokeStatic "core.clj" 6038]
   [clojure.core$require doInvoke "core.clj" 6038]
   [clojure.lang.RestFn applyTo "RestFn.java" 137]
   [clojure.core$apply invokeStatic "core.clj" 667]
   [clojure.core$serialized_require invokeStatic "core.clj" 6114]
   [clojure.core$requiring_resolve invokeStatic "core.clj" 6123]
   [clojure.core$requiring_resolve invoke "core.clj" 6117]
   [clojure.lang.AFn applyToHelper "AFn.java" 154]
   [clojure.lang.AFn applyTo "AFn.java" 144]
   [clojure.lang.Compiler$InvokeExpr eval "Compiler.java" 3714]
   [clojure.lang.Compiler$BodyExpr eval "Compiler.java" 6151]
   [clojure.lang.Compiler$IfExpr eval "Compiler.java" 2741]
   [clojure.lang.Compiler$DefExpr eval "Compiler.java" 457]
   [clojure.lang.Compiler eval "Compiler.java" 7199]
   [clojure.lang.Compiler load "Compiler.java" 7653]
   [clojure.lang.RT loadResourceScript "RT.java" 381]
   [clojure.lang.RT loadResourceScript "RT.java" 372]
   [clojure.lang.RT load "RT.java" 459]
   [clojure.lang.RT load "RT.java" 424]
   [clojure.core$load$fn__6908 invoke "core.clj" 6161]
   [clojure.core$load invokeStatic "core.clj" 6160]
   [clojure.core$load doInvoke "core.clj" 6144]
   [clojure.lang.RestFn invoke "RestFn.java" 408]
   [clojure.core$load_one invokeStatic "core.clj" 5933]
   [clojure.core$load_one invoke "core.clj" 5928]
   [clojure.core$load_lib$fn__6850 invoke "core.clj" 5975]
   [clojure.core$load_lib invokeStatic "core.clj" 5974]
   [clojure.core$load_lib doInvoke "core.clj" 5953]
   [clojure.lang.RestFn applyTo "RestFn.java" 142]
   [clojure.core$apply invokeStatic "core.clj" 669]
   [clojure.core$load_libs invokeStatic "core.clj" 6016]
   [clojure.core$load_libs doInvoke "core.clj" 6000]
   [clojure.lang.RestFn applyTo "RestFn.java" 137]
   [clojure.core$apply invokeStatic "core.clj" 669]
   [clojure.core$require invokeStatic "core.clj" 6038]
   [clojure.core$require doInvoke "core.clj" 6038]
   [clojure.lang.RestFn invoke "RestFn.java" 551]
   [$eval3822$loading__6789__auto____3823
    invoke
    "info.clj"
    1]
   [$eval3822 invokeStatic "info.clj" 1]
   [$eval3822 invoke "info.clj" 1]
   [clojure.lang.Compiler eval "Compiler.java" 7194]
   [clojure.lang.Compiler eval "Compiler.java" 7183]
   [clojure.lang.Compiler load "Compiler.java" 7653]
   [clojure.lang.RT loadResourceScript "RT.java" 381]
   [clojure.lang.RT loadResourceScript "RT.java" 372]
   [clojure.lang.RT load "RT.java" 459]
   [clojure.lang.RT load "RT.java" 424]
   [clojure.core$load$fn__6908 invoke "core.clj" 6161]
   [clojure.core$load invokeStatic "core.clj" 6160]
   [clojure.core$load doInvoke "core.clj" 6144]
   [clojure.lang.RestFn invoke "RestFn.java" 408]
   [clojure.core$load_one invokeStatic "core.clj" 5933]
   [clojure.core$load_one invoke "core.clj" 5928]
   [clojure.core$load_lib$fn__6850 invoke "core.clj" 5975]
   [clojure.core$load_lib invokeStatic "core.clj" 5974]
   [clojure.core$load_lib doInvoke "core.clj" 5953]
   [clojure.lang.RestFn applyTo "RestFn.java" 142]
   [clojure.core$apply invokeStatic "core.clj" 669]
   [clojure.core$load_libs invokeStatic "core.clj" 6016]
   [clojure.core$load_libs doInvoke "core.clj" 6000]
   [clojure.lang.RestFn applyTo "RestFn.java" 137]
   [clojure.core$apply invokeStatic "core.clj" 669]
   [clojure.core$require invokeStatic "core.clj" 6038]
   [clojure.core$require doInvoke "core.clj" 6038]
   [clojure.lang.RestFn invoke "RestFn.java" 1523]
   [cider.nrepl$eval2502$loading__6789__auto____2503
    invoke
    "nrepl.clj"
    1]
   [cider.nrepl$eval2502 invokeStatic "nrepl.clj" 1]
   [cider.nrepl$eval2502 invoke "nrepl.clj" 1]
   [clojure.lang.Compiler eval "Compiler.java" 7194]
   [clojure.lang.Compiler eval "Compiler.java" 7183]
   [clojure.lang.Compiler load "Compiler.java" 7653]
   [clojure.lang.RT loadResourceScript "RT.java" 381]
   [clojure.lang.RT loadResourceScript "RT.java" 372]
   [clojure.lang.RT load "RT.java" 459]
   [clojure.lang.RT load "RT.java" 424]
   [clojure.core$load$fn__6908 invoke "core.clj" 6161]
   [clojure.core$load invokeStatic "core.clj" 6160]
   [clojure.core$load doInvoke "core.clj" 6144]
   [clojure.lang.RestFn invoke "RestFn.java" 408]
   [clojure.core$load_one invokeStatic "core.clj" 5933]
   [clojure.core$load_one invoke "core.clj" 5928]
   [clojure.core$load_lib$fn__6850 invoke "core.clj" 5975]
   [clojure.core$load_lib invokeStatic "core.clj" 5974]
   [clojure.core$load_lib doInvoke "core.clj" 5953]
   [clojure.lang.RestFn applyTo "RestFn.java" 142]
   [clojure.core$apply invokeStatic "core.clj" 669]
   [clojure.core$load_libs invokeStatic "core.clj" 6016]
   [clojure.core$load_libs doInvoke "core.clj" 6000]
   [clojure.lang.RestFn applyTo "RestFn.java" 137]
   [clojure.core$apply invokeStatic "core.clj" 669]
   [clojure.core$require invokeStatic "core.clj" 6038]
   [clojure.core$require doInvoke "core.clj" 6038]
   [clojure.lang.RestFn invoke "RestFn.java" 408]
   [nrepl.cmdline$require_and_resolve invokeStatic "cmdline.clj" 237]
   [nrepl.cmdline$require_and_resolve invoke "cmdline.clj" 228]
   [nrepl.cmdline$fn__2430 invokeStatic "cmdline.clj" 242]
   [nrepl.cmdline$fn__2430 invoke "cmdline.clj" 242]
   [clojure.core$map$fn__5931$fn__5932 invoke "core.clj" 2759]
   [clojure.core$map$fn__5931$fn__5932 invoke "core.clj" 2759]
   [clojure.lang.PersistentVector reduce "PersistentVector.java" 343]
   [clojure.core$transduce invokeStatic "core.clj" 6946]
   [clojure.core$into invokeStatic "core.clj" 6962]
   [clojure.core$into invoke "core.clj" 6950]
   [nrepl.cmdline$__GT_mw_list invokeStatic "cmdline.clj" 269]
   [nrepl.cmdline$__GT_mw_list invoke "cmdline.clj" 267]
   [nrepl.cmdline$build_handler invokeStatic "cmdline.clj" 278]
   [nrepl.cmdline$build_handler invoke "cmdline.clj" 271]
   [nrepl.cmdline$options__GT_handler invokeStatic "cmdline.clj" 347]
   [nrepl.cmdline$options__GT_handler invoke "cmdline.clj" 338]
   [nrepl.cmdline$server_opts invokeStatic "cmdline.clj" 401]
   [nrepl.cmdline$server_opts invoke "cmdline.clj" 386]
   [nrepl.cmdline$dispatch_commands invokeStatic "cmdline.clj" 504]
   [nrepl.cmdline$dispatch_commands invoke "cmdline.clj" 497]
   [nrepl.cmdline$_main invokeStatic "cmdline.clj" 520]
   [nrepl.cmdline$_main doInvoke "cmdline.clj" 515]
   [clojure.lang.RestFn applyTo "RestFn.java" 137]
   [clojure.lang.Var applyTo "Var.java" 705]
   [clojure.core$apply invokeStatic "core.clj" 667]
   [clojure.main$main_opt invokeStatic "main.clj" 514]
   [clojure.main$main_opt invoke "main.clj" 510]
   [clojure.main$main invokeStatic "main.clj" 664]
   [clojure.main$main doInvoke "main.clj" 616]
   [clojure.lang.RestFn applyTo "RestFn.java" 137]
   [clojure.lang.Var applyTo "Var.java" 705]
   [clojure.main main "main.java" 40]],
  :cause "com.sun.source.doctree.BlockTagTree",
  :phase :execution}}

oyakushev 2025-05-05T17:25:04.773499Z

Do you have any other JDKs installed on your machine? Can you try with a different JDK?

noonker 2025-05-05T17:25:33.033269Z

Will try and report back

oyakushev 2025-05-05T17:26:09.841329Z

Thank you! JDK 21 should be totally suitable, of course, but maybe something happened to this particular installation.

noonker 2025-05-05T17:26:20.131469Z

It's guix, so I'm sure it's a /me/ issue

oyakushev 2025-05-05T17:27:15.351259Z

Try running the same command but without the -m nrepl.cmdline --middleware '["cider.nrepl/cider-middleware"]' part and check what JDK version is used within the Clojure process once it starts

noonker 2025-05-05T17:28:21.826099Z

┌─[person@blep]──[12:27]──[/home/person]──[🤚]
└─> $ ps aux | grep java
(standard input):391:person    4239 31.5  0.5 20309568 317944 pts/0 Sl+  12:27   0:05 /home/person/.guix-home/profile/bin/java -XX:-OmitStackTraceInFastThrow -Dclojure.basis=/home/person/.cache/clojure/2692967175.basis -classpath src:/home/person/.m2/repositor
(standard input):392:person    4318  0.0  0.0   6656  2504 pts/1    Ss+  12:27   0:00 /run/current-system/profile/bin/grep -n -H java
┌─[person@blep]──[12:27]──[/home/person]──[🤚]
└─> $ which java
/home/person/.guix-home/profile/bin/java
┌─[person@blep]──[12:28]──[/home/person]──[🤚]
└─> $ /home/person/.guix-home/profile/bin/java --version
openjdk 21.0.2 2024-01-16
OpenJDK Runtime Environment (build 21.0.2+-adhoc.nixbld.source)
OpenJDK 64-Bit Server VM (build 21.0.2+-adhoc.nixbld.source, mixed mode, sharing)

noonker 2025-05-05T17:28:48.403909Z

Is that the info you were looking for here?

oyakushev 2025-05-05T17:29:28.304399Z

I see that when you run java --version , it gets the (hopefully) correct JDK21. But I wonder if it the same when you launch clojure

oyakushev 2025-05-05T17:31:04.768309Z

Just try launching clojure for a regular REPL, and run (System/getProperty "java.home") inside

1
noonker 2025-05-05T17:31:41.833519Z

person@blep ~ [env]$ clojure -Sdeps '{:deps {nrepl {:mvn/version "1.3.1"} cider/cider-nrepl {:mvn/version "0.55.7"}}}' -m nrepl.cmdline --middleware '["cider.nrepl/cider-middleware"]'
WARNING: Implicit use of clojure.main with options is deprecated, use -M
Execution error (ClassNotFoundException) at java.net.URLClassLoader/findClass (REPL:-1).
com.sun.source.doctree.BlockTagTree

Full report at:
/tmp/clojure-1405976651484813861.edn
person@blep ~ [env]$ java --version
openjdk 24.0.1 2025-04-15
OpenJDK Runtime Environment (build 24.0.1+-adhoc.nixbld.source)
OpenJDK 64-Bit Server VM (build 24.0.1+-adhoc.nixbld.source, mixed mode, sharing)
Same issue @24

noonker 2025-05-05T17:32:20.996889Z

user=> (System/getProperty "java.home")    
"/gnu/store/iqcylpkjyfx7b2m7sz08218ifvd6klvd-openjdk-24.0.1"

oyakushev 2025-05-05T17:33:43.159079Z

How do you obtain the JDK with Guix? Does it install some proper verified package? I'm a bit suspicious of this adhoc.nixbld.source part

oyakushev 2025-05-05T17:34:29.895449Z

Background: this class com.sun.source.doctree.BlockTagTree should be present in most JDK installations, but is probably missing in JREs. So it looks a bit like you don't have a complete JDK installed. That doesn't explain why it worked before though.

noonker 2025-05-05T17:36:06.777119Z

Ah, that might be enough for me to go on. I thought this was having an issue fetching a dependency didn't realize it was built in.

noonker 2025-05-05T17:37:12.244009Z

> Does it install some proper verified package Either built it locally or pulled a build from gnu repos

noonker 2025-05-05T17:37:24.323839Z

Probably is not being built correctly after an update

noonker 2025-05-05T17:37:43.196989Z

Let me try get a prebuilt one and try again

👍 1
noonker 2025-05-05T18:01:47.409879Z

Works fine with a different jdk. Thanks for the help 🙂

oyakushev 2025-05-05T18:11:55.086779Z

Good to know! Thanks for working through this. CIDER used to not fail completely on JRE but I've broken it; I will restore the compatibility.

noonker 2025-05-06T02:18:51.728049Z

For future travelers- thanks again for the help

🙏 1