boot-clj / boot

Build tooling for Clojure.
https://boot-clj.github.io/
Eclipse Public License 1.0
1.75k stars 179 forks source link

java.lang.NullPointerException on boot repl -c #764

Closed bad-blue-bull closed 3 years ago

bad-blue-bull commented 3 years ago

When I run boot repl -c I get this from server `Elapsed time: 25.059 sec

ERROR: Unhandled REPL handler exception processing message {:id b145af8d-4274-42a3-839a-32beafcf646f, :op clone} java.lang.NullPointerException: Cannot invoke "java.util.concurrent.Future.get()" because "fut" is null at clojure.core$deref_future.invokeStatic(core.clj:2208) at clojure.core$deref.invokeStatic(core.clj:2228) at clojure.core$deref.invoke(core.clj:2214) at cemerick.piggieback$wrap_cljs_repl$fn5737.invoke(piggieback.clj:288) at clojure.tools.nrepl.middleware$wrap_conj_descriptor$fn5351.invoke(middleware.clj:22) at nrepl.server$handleSTAR.invokeStatic(server.clj:18) at nrepl.server$handleSTAR.invoke(server.clj:15) at nrepl.server$handle$fn4853.invoke(server.clj:27) at clojure.core$binding_conveyor_fn$fn4676.invoke(core.clj:1938) at clojure.lang.AFn.call(AFn.java:18) at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:630) at java.base/java.lang.Thread.run(Thread.java:832) Here's output from boot -vv repl -c registering src/cljs [:create :modify :delete] registering src/cljs/boot_03 [:create :modify :delete] sending change event Acquired java.util.concurrent.Semaphore@33e4b9c4[Permits = 0]... Syncing project dirs to temp dirs... Filesystem: copying boot_03/app.cljs... Sync complete. Released java.util.concurrent.Semaphore@33e4b9c4[Permits = 1]... watch service closed registering src/cljs [:create :modify :delete] registering src/cljs/boot_03 [:create :modify :delete] registering resources [:create :modify :delete] registering resources/js [:create :modify :delete] sending change event Acquired java.util.concurrent.Semaphore@33e4b9c4[Permits = 0]... Syncing project dirs to temp dirs... Filesystem: copying index.html... Filesystem: copying js/app.cljs.edn... Filesystem: copying js/app.cljs.edn~... Sync complete. Released java.util.concurrent.Semaphore@33e4b9c4[Permits = 1]... Classpath conflict: org.clojure/clojure version 1.8.0 already loaded, NOT loading version 1.7.0 Acquired java.util.concurrent.Semaphore@cce182c[Permits = 0]... Committing fileset... Commit: adding 798819a3e0057547f1d4ffff8116266a.1608047453531 js/app.cljs.edn~... Commit: adding cbbf5d567111f2c7782b1122e3f16f22.1608072983214 boot_03/app.cljs... Commit: adding dcb6be71e2ff90cc42032ed552f6c946.1608058443141 js/app.cljs.edn... Commit: adding e25b7c959088ff03d89a312684c5683c.1608072752828 index.html... Commit complete. Released java.util.concurrent.Semaphore@cce182c[Permits = 1]... Acquired java.util.concurrent.Semaphore@33e4b9c4[Permits = 0]... Syncing project dirs to temp dirs... Filesystem: copying boot_03/app.cljs... Filesystem: copying index.html... Filesystem: copying js/app.cljs.edn... Filesystem: copying js/app.cljs.edn~... Sync complete. Released java.util.concurrent.Semaphore@33e4b9c4[Permits = 1]... Here's build.boot: (set-env! :source-paths #{"src/cljs"} :resource-paths #{"resources"} :dependencies '[[adzerk/boot-cljs "2.1.4" :scope "test"] [adzerk/boot-reload "0.6.0" :scope "test"] [pandeiro/boot-http "0.7.3" :scope "test"] [org.clojure/clojurescript "1.10.339"] ;; REPL [adzerk/boot-cljs-repl "0.3.3" :scope "test"] [com.cemerick/piggieback "0.2.1" :scope "test"] [weasel "0.7.0" :scope "test"] [org.clojure/tools.nrepl "0.2.12" :scope "test"] ]) ; get the tasks in the build (require '[adzerk.boot-cljs :refer [cljs]] '[adzerk.boot-reload :refer [reload]] '[pandeiro.boot-http :refer [serve]] '[adzerk.boot-cljs-repl :refer [cljs-repl start-repl]] ) ; setup the global options (task-options! reload {:on-jsload 'boot-03.app/main} target {:dir #{"target"}} ) ;; composed main dev task (deftask dev [] (comp (serve :dir "target/") (watch) (reload) (cljs-repl) (cljs) ))`

bad-blue-bull commented 3 years ago

it was down to wrong dependencies' versons works with these: [http-kit "2.3.0"] [adzerk/boot-cljs-repl "0.4.0"] [cider/piggieback "0.3.9" :scope "test"] [weasel "0.7.0" :scope "test"] [nrepl "0.4.5" :scope "test"]