Fork me on GitHub
#cider
<
2021-12-23
>
Schmoho21:12:40

I'm getting this stack trace trying to cider-connect to a running shadow-cljs nREPL, Cider version 1.2.0, (system) Clojure version 1.10.1, cider-nrepl version 0.27.4 (openjdk 11, since it seems to have a Classloader issue ...). Anybody got a clue what's going on here? I assume it's some kind of version mismatch issue ...

[2021-12-23 22:07:36.019 - WARNING] :shadow.cljs.devtools.server.nrepl/middleware-fail - {:sym cider.nrepl/cider-middleware}
Note: The following stack trace applies to the reader or compiler, your code was not executed.
CompilerException Syntax error compiling at (cider/nrepl.clj:1:1). #:clojure.error{:phase :compile-syntax-check, :line 1, :column 1, :source "cider/nrepl.clj"}
        clojure.lang.Compiler.load (Compiler.java:7648)
        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--6839 (core.clj:6126)
        clojure.core/load (core.clj:6125)
        clojure.core/load (core.clj:6109)
        clojure.core/load-one (core.clj:5908)
        clojure.core/load-one (core.clj:5903)
        clojure.core/load-lib/fn--6780 (core.clj:5948)
        clojure.core/load-lib (core.clj:5947)
Caused by:
IllegalAccessError with-session-classloader does not exist
        clojure.core/refer (core.clj:4249)
        clojure.core/refer (core.clj:4217)
        clojure.core/apply (core.clj:667)
        clojure.core/load-lib (core.clj:5966)
        clojure.core/load-lib (core.clj:5928)
        clojure.core/apply (core.clj:667)
        clojure.core/load-libs (core.clj:5985)
        clojure.core/load-libs (core.clj:5969)
        clojure.core/apply (core.clj:667)
        clojure.core/require (core.clj:6007)
        clojure.core/require (core.clj:6007)
        cider.nrepl/eval8075/loading--6721--auto----8076 (nrepl.clj:1)

Schmoho21:12:37

I've also tried with cider-nrepl 0.7.0, which gives these warnings and shadow-cljs complaining it needs cider-nrepl:

[WARNING] No nREPL middleware descriptor in metadata of #'cider.nrepl.middleware.apropos/wrap-apropos, see nrepl.middleware/set-descriptor!
[WARNING] No nREPL middleware descriptor in metadata of #'cider.nrepl.middleware.classpath/wrap-classpath, see nrepl.middleware/set-descriptor!
[WARNING] No nREPL middleware descriptor in metadata of #'cider.nrepl.middleware.complete/wrap-complete, see nrepl.middleware/set-descriptor!
[WARNING] No nREPL middleware descriptor in metadata of #', see nrepl.middleware/set-descriptor!
[WARNING] No nREPL middleware descriptor in metadata of #'cider.nrepl.middleware.inspect/wrap-inspect, see nrepl.middleware/set-descriptor!
[WARNING] No nREPL middleware descriptor in metadata of #'cider.nrepl.middleware.macroexpand/wrap-macroexpand, see nrepl.middleware/set-descriptor!
[WARNING] No nREPL middleware descriptor in metadata of #'cider.nrepl.middleware.resource/wrap-resource, see nrepl.middleware/set-descriptor!
[WARNING] No nREPL middleware descriptor in metadata of #'cider.nrepl.middleware.stacktrace/wrap-stacktrace, see nrepl.middleware/set-descriptor!
[WARNING] No nREPL middleware descriptor in metadata of #'cider.nrepl.middleware.test/wrap-test, see nrepl.middleware/set-descriptor!
[WARNING] No nREPL middleware descriptor in metadata of #'cider.nrepl.middleware.trace/wrap-trace, see nrepl.middleware/set-descriptor!

vemv21:12:30

> trying to cider-connect to a running shadow-cljs nREPL, how do you initiate said repl?

Schmoho21:12:10

shadow-cljs watch app

vemv21:12:22

could it be that said command launches an nrepl server using an older nrepl version?

Schmoho21:12:33

I managed to resolve all my version issues though, turns out they were all outdated and out of whack. Now my only remaining problem is that the connect shadow repl stays in pending state forever.

Schmoho21:12:26

I only had nREPL 0.7.0 on my classpath, have now put 0.9.0 explicitly into the deps

Schmoho21:12:50

:dependencies [[cider/cider-nrepl "0.27.4"]
                [nrepl "0.9.0"]
                [refactor-nrepl "3.1.0"]]

vemv21:12:50

(I meant cider-nrepl most of all, my bad)

Schmoho21:12:47

(from the shadow-cljs.edn) - last server restart fetched all those deps so I would assume these are used in starting the nrepl server too

vemv21:12:17

> Now my only remaining problem is that the connect shadow repl stays in pending state forever. Yeah that item pops up in this channel from time to time. Thankfully all the archive is searchable nowadays :) Check anything posted in the last couple months.

Schmoho21:12:54

Okay, so the immediate issue (buffer evaluation) is resolved by M-x cider-set-repl-type, but I'm not really wiser as to the underlying issue. Its good enough for now though. Thanks a lot!

Schmoho21:12:31

Hard for me to tell. I know the issue described there well too, but I don't immediately see the connection. Then again, I do, until this day, remain pretty blissfully ignorant of the interior workings of both CIDER and sesman

vemv21:12:05

let's hope it gets fixed soon regardless! it's been a weak spot for far too long now. It's in the plans apparently.

Schmoho21:12:01

I'm just happy they still develop this stuff at all :D

cider 1