Fork me on GitHub
#reveal
<
2021-02-19
>
Stefan13:02:02

Hi all, I’m using Reveal with Calva according to these instructions: https://calva.io/reveal/. Using tools.deps and the nrepl middleware, so using this config:

:aliases
{:reveal-nrepl-middleware
    {:extra-deps {vlaaad/reveal {:mvn/version "1.3.194"}}
     :main-opts  ["-m" "nrepl.cmdline"
                  "--middleware" "[vlaaad.reveal.nrepl/middleware,cider.nrepl/cider-middleware]"]}}
Now my problem is that I constantly get errors in my jackin-output like this (just the top part of the error:
ERROR: Unhandled REPL handler exception processing message {:op info, :ns core, :symbol .close, :id 35, :session fdb363de-1c3a-460d-8ecd-eba9020617f7}
java.lang.ClassNotFoundException: com.sun.tools.javac.util.List
        at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
        at clojure.lang.DynamicClassLoader.findClass(DynamicClassLoader.java:69)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:418)
        at clojure.lang.DynamicClassLoader.loadClass(DynamicClassLoader.java:77)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Class.java:348)
        at clojure.lang.RT.classForName(RT.java:2212)
        at clojure.lang.RT.classForName(RT.java:2221)
        at cider.nrepl.inlined_deps.orchard.v0v6v4.orchard.java.legacy_parser$parse_java.invokeStatic(legacy_parser.clj:88)
        at cider.nrepl.inlined_deps.orchard.v0v6v4.orchard.java.legacy_parser$parse_java.invoke(legacy_parser.clj:66)
        at cider.nrepl.inlined_deps.orchard.v0v6v4.orchard.java.legacy_parser$source_info.invokeStatic(legacy_parser.clj:274)
        at cider.nrepl.inlined_deps.orchard.v0v6v4.orchard.java.legacy_parser$source_info.invoke(legacy_parser.clj:265)

        at clojure.lang.Var.invoke(Var.java:384)
        at cider.nrepl.inlined_deps.orchard.v0v6v4.orchard.java$source_info.invokeStatic(java.clj:144)
        at cider.nrepl.inlined_deps.orchard.v0v6v4.orchard.java$source_info.invoke(java.clj:139)
        at cider.nrepl.inlined_deps.orchard.v0v6v4.orchard.java$class_info_STAR_.invokeStatic(java.clj:223)
        at cider.nrepl.inlined_deps.orchard.v0v6v4.orchard.java$class_info_STAR_.invoke(java.clj:214)

        at cider.nrepl.inlined_deps.orchard.v0v6v4.orchard.java$class_info.invokeStatic(java.clj:261)
I have no idea where to start looking for the cause. Does this ring a bell to anyone?

vlaaad14:02:52

Does it happen without Reveal? This stacktrace does not look like something related to Reveal

Stefan15:02:40

This is the full stack trace:

Stefan15:02:40

java.lang.ClassNotFoundException: com.sun.tools.javac.util.List
        at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
        at clojure.lang.DynamicClassLoader.findClass(DynamicClassLoader.java:69)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:418)

        at clojure.lang.DynamicClassLoader.loadClass(DynamicClassLoader.java:77)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Class.java:348)
        at clojure.lang.RT.classForName(RT.java:2212)
        at clojure.lang.RT.classForName(RT.java:2221)
        at cider.nrepl.inlined_deps.orchard.v0v6v4.orchard.java.legacy_parser$parse_java.invokeStatic(legacy_parser.clj:88)
        at cider.nrepl.inlined_deps.orchard.v0v6v4.orchard.java.legacy_parser$parse_java.invoke(legacy_parser.clj:66)
        at cider.nrepl.inlined_deps.orchard.v0v6v4.orchard.java.legacy_parser$source_info.invokeStatic(legacy_parser.clj:274)
        at cider.nrepl.inlined_deps.orchard.v0v6v4.orchard.java.legacy_parser$source_info.invoke(legacy_parser.clj:265)
        at clojure.lang.Var.invoke(Var.java:384)
        at cider.nrepl.inlined_deps.orchard.v0v6v4.orchard.java$source_info.invokeStatic(java.clj:144)
        at cider.nrepl.inlined_deps.orchard.v0v6v4.orchard.java$source_info.invoke(java.clj:139)
        at cider.nrepl.inlined_deps.orchard.v0v6v4.orchard.java$class_info_STAR_.invokeStatic(java.clj:223)
        at cider.nrepl.inlined_deps.orchard.v0v6v4.orchard.java$class_info_STAR_.invoke(java.clj:214)
        at cider.nrepl.inlined_deps.orchard.v0v6v4.orchard.java$class_info.invokeStatic(java.clj:261)
        at cider.nrepl.inlined_deps.orchard.v0v6v4.orchard.java$class_info.invoke(java.clj:253)
        at cider.nrepl.inlined_deps.orchard.v0v6v4.orchard.java$resolve_class.invokeStatic(java.clj:340)
        at cider.nrepl.inlined_deps.orchard.v0v6v4.orchard.java$resolve_class.invoke(java.clj:331)

        at cider.nrepl.inlined_deps.orchard.v0v6v4.orchard.java$resolve_symbol.invokeStatic(java.clj:371)
        at cider.nrepl.inlined_deps.orchard.v0v6v4.orchard.java$resolve_symbol.invoke(java.clj:357)
        at cider.nrepl.middleware.stacktrace$analyze_fn.invokeStatic(stacktrace.clj:84)
        at cider.nrepl.middleware.stacktrace$analyze_fn.invoke(stacktrace.clj:63)
        at clojure.core$comp$fn__5826.invoke(core.clj:2573)
        at clojure.core$comp$fn__5826.invoke(core.clj:2573)
        at clojure.core$comp$fn__5826.invoke(core.clj:2573)

        at cider.nrepl.middleware.stacktrace$analyze_frame.invokeStatic(stacktrace.clj:180)
        at cider.nrepl.middleware.stacktrace$analyze_frame.invoke(stacktrace.clj:177)
        at clojure.core$map$fn__5885.invoke(core.clj:2759)
        at clojure.lang.LazySeq.sval(LazySeq.java:42)
        at clojure.lang.LazySeq.seq(LazySeq.java:51)
        at clojure.lang.LazySeq.first(LazySeq.java:73)
        at clojure.lang.RT.first(RT.java:692)
        at clojure.core$first__5402.invokeStatic(core.clj:55)
        at clojure.core$first__5402.invoke(core.clj:55)
        at cider.nrepl.middleware.stacktrace$flag_duplicates.invokeStatic(stacktrace.clj:168)
        at cider.nrepl.middleware.stacktrace$flag_duplicates.invoke(stacktrace.clj:164)
        at cider.nrepl.middleware.stacktrace$analyze_stacktrace.invokeStatic(stacktrace.clj:186)
        at cider.nrepl.middleware.stacktrace$analyze_stacktrace.invoke(stacktrace.clj:182)
        at cider.nrepl.middleware.stacktrace$analyze_cause.invokeStatic(stacktrace.clj:290)
        at cider.nrepl.middleware.stacktrace$analyze_cause.invoke(stacktrace.clj:281)
        at cider.nrepl.middleware.stacktrace$analyze_causes$fn__11171.invoke(stacktrace.clj:315)
        at clojure.core$map$fn__5881$fn__5882.invoke(core.clj:2746)
        at clojure.core$take_while$fn__5932$fn__5933.invoke(core.clj:2905)
        at clojure.lang.Iterate.reduce(Iterate.java:81)
        at clojure.core$transduce.invokeStatic(core.clj:6888)

        at clojure.core$into.invokeStatic(core.clj:6904)
        at clojure.core$into.invoke(core.clj:6892)
        at cider.nrepl.middleware.stacktrace$analyze_causes.invokeStatic(stacktrace.clj:314)
        at cider.nrepl.middleware.stacktrace$analyze_causes.invoke(stacktrace.clj:306)
        at clojure.lang.Var.invoke(Var.java:388)
        at cider.nrepl.middleware.util.error_handling$pp_stacktrace.invokeStatic(error_handling.clj:44)
        at cider.nrepl.middleware.util.error_handling$pp_stacktrace.invoke(error_handling.clj:39)
        at cider.nrepl.middleware.util.error_handling$base_error_response.invokeStatic(error_handling.clj:54)

        at cider.nrepl.middleware.util.error_handling$base_error_response.doInvoke(error_handling.clj:46)
        at clojure.lang.RestFn.invoke(RestFn.java:425)
        at cider.nrepl.middleware.util.error_handling$eval9879$fn__9880.invoke(error_handling.clj:129)
        at clojure.lang.MultiFn.invoke(MultiFn.java:239)
        at cider.nrepl.middleware.util.error_handling$eval9891$fn__9892.invoke(error_handling.clj:140)
        at clojure.lang.MultiFn.invoke(MultiFn.java:239)
        at cider.nrepl.middleware.util.error_handling$eval9895$fn__9896.invoke(error_handling.clj:143)
        at clojure.lang.MultiFn.invoke(MultiFn.java:239)
        at $handle_info.invokeStatic(info.clj:96)
        at $handle_info.invoke(info.clj:95)
        at clojure.lang.Var.invoke(Var.java:388)
        at cider.nrepl$wrap_info$fn__7799.invoke(nrepl.clj:203)
        at nrepl.middleware$wrap_conj_descriptor$fn__677.invoke(middleware.clj:16)

        at cider.nrepl$wrap_apropos$fn__7749.invoke(nrepl.clj:125)
        at nrepl.middleware$wrap_conj_descriptor$fn__677.invoke(middleware.clj:16)
        at cider.nrepl$wrap_trace$fn__7889.invoke(nrepl.clj:449)
        at nrepl.middleware$wrap_conj_descriptor$fn__677.invoke(middleware.clj:16)
        at nrepl.middleware.load_file$wrap_load_file$fn__1477.invoke(load_file.clj:81)
        at nrepl.middleware$wrap_conj_descriptor$fn__677.invoke(middleware.clj:16)
        at nrepl.middleware.caught$wrap_caught$fn__946.invoke(caught.clj:97)
        at nrepl.middleware$wrap_conj_descriptor$fn__677.invoke(middleware.clj:16)
        at cider.nrepl$wrap_tracker$fn__7897.invoke(nrepl.clj:467)
        at nrepl.middleware$wrap_conj_descriptor$fn__677.invoke(middleware.clj:16)
        at cider.nrepl$wrap_clojuredocs$fn__7931.invoke(nrepl.clj:511)
        at nrepl.middleware$wrap_conj_descriptor$fn__677.invoke(middleware.clj:16)
        at nrepl.middleware.dynamic_loader$wrap_dynamic_loader$fn__1181.invoke(dynamic_loader.clj:97)
        at nrepl.middleware$wrap_conj_descriptor$fn__677.invoke(middleware.clj:16)
        at cider.nrepl$wrap_content_type$fn__7733.invoke(nrepl.clj:105)
        at nrepl.middleware$wrap_conj_descriptor$fn__677.invoke(middleware.clj:16)
        at nrepl.middleware.print$wrap_print$fn__913.invoke(print.clj:234)
        at nrepl.middleware$wrap_conj_descriptor$fn__677.invoke(middleware.clj:16)

        at nrepl.middleware.sideloader$wrap_sideloader$fn__1564.invoke(sideloader.clj:104)
        at nrepl.middleware$wrap_conj_descriptor$fn__677.invoke(middleware.clj:16)
        at nrepl.middleware.session$session$fn__1112.invoke(session.clj:309)

        at nrepl.middleware$wrap_conj_descriptor$fn__677.invoke(middleware.clj:16)
        at nrepl.server$default_handler$fn__1608.invoke(server.clj:130)
        at nrepl.server$handle_STAR_.invokeStatic(server.clj:22)
        at nrepl.server$handle_STAR_.invoke(server.clj:19)
        at nrepl.server$handle$fn__1579.invoke(server.clj:39)

        at clojure.core$binding_conveyor_fn$fn__5773.invoke(core.clj:2034)
        at clojure.lang.AFn.call(AFn.java:18)

        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)

        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
        at java.lang.Thread.run(Thread.java:748)

Stefan15:02:36

It only happens when I enable the reveal alias, and that’s also the one that is using the nrepl middleware that I see in the stack trace. This error only happens when I use the tools.deps way of using Reveal in Calva, when using the Lein setup I don’t have this error…

vlaaad21:02:24

I tried this deps.edn file:

{:aliases {:reveal {:extra-deps {vlaaad/reveal {:mvn/version "1.3.196"}
                                 nrepl/nrepl {:mvn/version "0.8.3"}
                                 cider/cider-nrepl {:mvn/version "0.25.8"}}
                    :main-opts ["-m" "nrepl.cmdline" "--middleware" "[vlaaad.reveal.nrepl/middleware,cider.nrepl/cider-middleware]"]}}}

vlaaad21:02:03

invoking clj -A:reveal will start nrepl server that calva can connect to by using "Calva: Connect to a Running REPL Server in the Project" command