philoskim / debux

A trace-based debugging library for Clojure and ClojureScript.
468 stars 19 forks source link

Java 10 Exception #11

Closed middlesphere closed 5 years ago

middlesphere commented 5 years ago

Hello.

It is seems that debux will not run on JVM 10. I want to use debux 0.5.0 and my deps.edn look like this:

:xb {:jvm-opts ["--add-modules" "java.xml.bind"]} :debug-tools {:extra-deps {vvvvalvalval/scope-capture {:mvn/version "0.3.1"} philoskim/debux {:mvn/version "0.5.0"} spyscope {:mvn/version "0.1.7-SNAPSHOT"} com.bhauman/spell-spec {:mvn/version "0.1.1"}}

I run REPL: clojure -R:debug-tools:xb -r

nREPL 0.4.5 Clojure 1.10.0-alpha7 Java HotSpot(TM) 64-Bit Server VM 10.0.2+13 user=> (use 'debux.core) Syntax error compiling at (cljs/util.cljc:1:1). Cause: javax.xml.bind.DatatypeConverter

user=> *e

error {

:cause "javax.xml.bind.DatatypeConverter" :via [{:type clojure.lang.Compiler$CompilerException :message "Syntax error compiling at (cljs/util.cljc:1:1)." :data #:clojure.error{:line 1, :column 1, :phase :compile, :source "cljs/util.cljc"} :at [clojure.lang.Compiler load "Compiler.java" 7624]} {:type java.lang.ClassNotFoundException :message "javax.xml.bind.DatatypeConverter" :at [java.net.URLClassLoader findClass "URLClassLoader.java" 466]}] :trace [[java.net.URLClassLoader findClass "URLClassLoader.java" 466] [clojure.lang.DynamicClassLoader findClass "DynamicClassLoader.java" 69] [java.lang.ClassLoader loadClass "ClassLoader.java" 566] [clojure.lang.DynamicClassLoader loadClass "DynamicClassLoader.java" 77] [java.lang.ClassLoader loadClass "ClassLoader.java" 499] [java.lang.Class forName0 "Class.java" -2] [java.lang.Class forName "Class.java" 374] [clojure.lang.RT classForName "RT.java" 2204] [clojure.lang.RT classForNameNonLoading "RT.java" 2217] [cljs.util$eval182$loading6539auto__183 invoke "util.cljc" 9] [cljs.util$eval182 invokeStatic "util.cljc" 9] [cljs.util$eval182 invoke "util.cljc" 9] [clojure.lang.Compiler eval "Compiler.java" 7160] [clojure.lang.Compiler eval "Compiler.java" 7149] [clojure.lang.Compiler load "Compiler.java" 7612] [clojure.lang.RT loadResourceScript "RT.java" 379] [clojure.lang.RT loadResourceScript "RT.java" 370] [clojure.lang.RT load "RT.java" 460] [clojure.lang.RT load "RT.java" 426] [clojure.core$load$fn6653 invoke "core.clj" 6071] [clojure.core$load invokeStatic "core.clj" 6070] [clojure.core$load doInvoke "core.clj" 6054] [clojure.lang.RestFn invoke "RestFn.java" 408] [clojure.core$load_one invokeStatic "core.clj" 5873] [clojure.core$load_one invoke "core.clj" 5868] [clojure.core$load_lib$fn__6598 invoke "core.clj" 5913] [clojure.core$load_lib invokeStatic "core.clj" 5912] [clojure.core$load_lib doInvoke "core.clj" 5893] [clojure.lang.RestFn applyTo "RestFn.java" 142] [clojure.core$apply invokeStatic "core.clj" 659] [clojure.core$load_libs invokeStatic "core.clj" 5950] [clojure.core$load_libs doInvoke "core.clj" 5934] [clojure.lang.RestFn applyTo "RestFn.java" 137] [clojure.core$apply invokeStatic "core.clj" 659] [clojure.core$require invokeStatic "core.clj" 5972] [clojure.core$require doInvoke "core.clj" 5972] [clojure.lang.RestFn invoke "RestFn.java" 436] ....skipped.......

philoskim commented 5 years ago

First of all, I am sorry to say that I didn't test my debux library on Hotspot JVM 9 or the above.

However this issue seems to be related to the next issue.

And the solution hint seems to be here.

That is to say, my suggestion is to try to include [org.clojure/clojurescript "1.10.238"] or the above version in the :dependencies section of your project file, even though you don't write ClojureScript code. The reason is that my debux library shares a lot of code between Clojure and ClojureScript.

Please let me know about whether my suggestion is successful or not.

If my suggestion is successful, I will upgrade [org.clojure/clojurescript "1.9.854"] dependency of my debux project file to [org.clojure/clojurescript "1.10.238"] in the next release of debux library.

Thanks for the issue!

middlesphere commented 5 years ago

Hi.

Yes, dependency upgrade solves this issue. I've added :override-deps {org.clojure/clojurescript {:mvn/version "1.10.238"}} and now everything works fine.

Thank you. Mike.

philoskim commented 5 years ago

I have just released the newer 0.5.1 version of debux library.

Now you don't have to add :override-deps {org.clojure/clojurescript {:mvn/version "1.10.238"}} any longer in the newer version.

middlesphere commented 5 years ago

Super!

Thank you.