I setup a shadow-cljs project with deps.edn. After connect via cider-jack-in-cljs and working in the namespace, frequently a Cider error is thrown.
Show: Project-Only All
Hide: Clojure Java REPL Tooling Duplicates (44 frames hidden)
This is an unexpected CIDER middleware error.
Please submit a bug report via `M-x cider-report-bug`.
If these stacktraces are occurring frequently, consider using the
button(s) below to suppress these types of errors for the duration of
your current CIDER session. The stacktrace buffer will still be
generated, but it will "pop under" your current buffer instead of
"popping over". The button toggles this behavior.
Promote complete-error
1. Unhandled java.lang.NullPointerException
(No message)
complete_for_nrepl.clj: 119 cider.nrepl.inlined-deps.suitable.v0v2v14.suitable.complete-for-nrepl/node-env?
complete_for_nrepl.clj: 106 cider.nrepl.inlined-deps.suitable.v0v2v14.suitable.complete-for-nrepl/node-env?
complete_for_nrepl.clj: 126 cider.nrepl.inlined-deps.suitable.v0v2v14.suitable.complete-for-nrepl/ensure-suitable-cljs-is-loaded/fn
AFn.java: 152 clojure.lang.AFn/applyToHelper
AFn.java: 144 clojure.lang.AFn/applyTo
core.clj: 665 clojure.core/apply
core.clj: 1973 clojure.core/with-bindings*
core.clj: 1973 clojure.core/with-bindings*
RestFn.java: 425 clojure.lang.RestFn/invoke
complete_for_nrepl.clj: 123 cider.nrepl.inlined-deps.suitable.v0v2v14.suitable.complete-for-nrepl/ensure-suitable-cljs-is-loaded
complete_for_nrepl.clj: 121 cider.nrepl.inlined-deps.suitable.v0v2v14.suitable.complete-for-nrepl/ensure-suitable-cljs-is-loaded
complete_for_nrepl.clj: 181 cider.nrepl.inlined-deps.suitable.v0v2v14.suitable.complete-for-nrepl/handle-completion-msg!
complete_for_nrepl.clj: 164 cider.nrepl.inlined-deps.suitable.v0v2v14.suitable.complete-for-nrepl/handle-completion-msg!
complete_for_nrepl.clj: 202 cider.nrepl.inlined-deps.suitable.v0v2v14.suitable.complete-for-nrepl/complete-for-default-cljs-env
complete_for_nrepl.clj: 195 cider.nrepl.inlined-deps.suitable.v0v2v14.suitable.complete-for-nrepl/complete-for-default-cljs-env
complete_for_nrepl.clj: 232 cider.nrepl.inlined-deps.suitable.v0v2v14.suitable.complete-for-nrepl/complete-for-nrepl
complete_for_nrepl.clj: 227 cider.nrepl.inlined-deps.suitable.v0v2v14.suitable.complete-for-nrepl/complete-for-nrepl
complete.clj: 15 cider.nrepl.middleware.complete/cljs-complete
complete.clj: 11 cider.nrepl.middleware.complete/cljs-complete
complete.clj: 23 cider.nrepl.middleware.complete/complete
complete.clj: 17 cider.nrepl.middleware.complete/complete
complete.clj: 34 cider.nrepl.middleware.complete/complete-reply
complete.clj: 33 cider.nrepl.middleware.complete/complete-reply
error_handling.clj: 160 cider.nrepl.middleware.util.error-handling/eval33197/fn
MultiFn.java: 234 clojure.lang.MultiFn/invoke
complete.clj: 46 cider.nrepl.middleware.complete/handle-complete
complete.clj: 45 cider.nrepl.middleware.complete/handle-complete
Var.java: 388 clojure.lang.Var/invoke
nrepl.clj: 116 cider.nrepl/wrap-complete/fn
middleware.clj: 16 nrepl.middleware/wrap-conj-descriptor/fn
nrepl.clj: 256 cider.nrepl/wrap-ns/fn
middleware.clj: 16 nrepl.middleware/wrap-conj-descriptor/fn
fake_piggieback04.clj: 30 cider.piggieback/wrap-cljs-repl/fn
middleware.clj: 16 nrepl.middleware/wrap-conj-descriptor/fn
nrepl.clj: 437 cider.nrepl/wrap-tracker/fn
middleware.clj: 16 nrepl.middleware/wrap-conj-descriptor/fn
nrepl.clj: 290 cider.nrepl/wrap-out/fn
middleware.clj: 16 nrepl.middleware/wrap-conj-descriptor/fn
nrepl.clj: 110 cider.nrepl/wrap-classpath/fn
middleware.clj: 16 nrepl.middleware/wrap-conj-descriptor/fn
nrepl.clj: 199 cider.nrepl/wrap-inspect/fn
middleware.clj: 16 nrepl.middleware/wrap-conj-descriptor/fn
session.clj: 272 nrepl.middleware.session/session/fn
middleware.clj: 16 nrepl.middleware/wrap-conj-descriptor/fn
caught.clj: 97 nrepl.middleware.caught/wrap-caught/fn
middleware.clj: 16 nrepl.middleware/wrap-conj-descriptor/fn
print.clj: 234 nrepl.middleware.print/wrap-print/fn
middleware.clj: 16 nrepl.middleware/wrap-conj-descriptor/fn
nrepl04.clj: 150 shadow.cljs.devtools.server.nrepl04/start/fn
server.clj: 18 nrepl.server/handle*
server.clj: 15 nrepl.server/handle*
server.clj: 27 nrepl.server/handle/fn
core.clj: 2030 clojure.core/binding-conveyor-fn/fn
AFn.java: 18 clojure.lang.AFn/call
FutureTask.java: 266 java.util.concurrent.FutureTask/run
ThreadPoolExecutor.java: 1149 java.util.concurrent.ThreadPoolExecutor/runWorker
ThreadPoolExecutor.java: 624 java.util.concurrent.ThreadPoolExecutor$Worker/run
Thread.java: 748 java.lang.Thread/run
You'll find the repo here: https://github.com/Ninerian/shadow-cljs-quickstart
Cider version CIDER 0.22.1snapshot (package: 20190911.1917)
Emacs: GNU Emacs 26.2 (build 1, x86_64-apple-darwin18.2.0, Carbon Version 158 AppKit 1671.2) of 2019-04-14
//cc @rksm
Unfortunately I was unable to reproduce but wanted to leave a heads up that a dep needs to be added to shadow-cljs-quickstart in order for it to build correctly.
The missing dep is: lilactown/hx {:mvn/version "0.5.3"}
;; CIDER 0.22.1snapshot (package: 20190921.858), nREPL 0.6.0
;; Clojure 1.10.1, Java 1.8.0_222
;; GNU Emacs 26.2 (build 1, x86_64-redhat-linux-gnu, GTK+ Version 3.24.8) of 2019-04-30
I'm also seeing the same error for Shadow cljs repl when it tries to perform autocompletion. Unfortunately I can't remember at which point this broke but I believe it used to work on Cider 0.20.0.
Stacktrace:
`1. Unhandled java.lang.NullPointerException
(No message)
complete_for_nrepl.clj: 119 cider.nrepl.inlined-deps.suitable.v0v2v14.suitable.complete-for-nrepl/node-env?
complete_for_nrepl.clj: 106 cider.nrepl.inlined-deps.suitable.v0v2v14.suitable.complete-for-nrepl/node-env?
complete_for_nrepl.clj: 126 cider.nrepl.inlined-deps.suitable.v0v2v14.suitable.complete-for-nrepl/ensure-suitable-cljs-is-loaded/fn
AFn.java: 152 clojure.lang.AFn/applyToHelper
AFn.java: 144 clojure.lang.AFn/applyTo
core.clj: 665 clojure.core/apply
core.clj: 1973 clojure.core/with-bindings*
core.clj: 1973 clojure.core/with-bindings*
RestFn.java: 425 clojure.lang.RestFn/invoke
complete_for_nrepl.clj: 123 cider.nrepl.inlined-deps.suitable.v0v2v14.suitable.complete-for-nrepl/ensure-suitable-cljs-is-loaded
complete_for_nrepl.clj: 121 cider.nrepl.inlined-deps.suitable.v0v2v14.suitable.complete-for-nrepl/ensure-suitable-cljs-is-loaded
complete_for_nrepl.clj: 181 cider.nrepl.inlined-deps.suitable.v0v2v14.suitable.complete-for-nrepl/handle-completion-msg!
complete_for_nrepl.clj: 164 cider.nrepl.inlined-deps.suitable.v0v2v14.suitable.complete-for-nrepl/handle-completion-msg!
complete_for_nrepl.clj: 202 cider.nrepl.inlined-deps.suitable.v0v2v14.suitable.complete-for-nrepl/complete-for-default-cljs-env
complete_for_nrepl.clj: 195 cider.nrepl.inlined-deps.suitable.v0v2v14.suitable.complete-for-nrepl/complete-for-default-cljs-env
complete_for_nrepl.clj: 232 cider.nrepl.inlined-deps.suitable.v0v2v14.suitable.complete-for-nrepl/complete-for-nrepl
complete_for_nrepl.clj: 227 cider.nrepl.inlined-deps.suitable.v0v2v14.suitable.complete-for-nrepl/complete-for-nrepl
complete.clj: 15 cider.nrepl.middleware.complete/cljs-complete
complete.clj: 11 cider.nrepl.middleware.complete/cljs-complete
complete.clj: 23 cider.nrepl.middleware.complete/complete
complete.clj: 17 cider.nrepl.middleware.complete/complete
complete.clj: 34 cider.nrepl.middleware.complete/complete-reply
complete.clj: 33 cider.nrepl.middleware.complete/complete-reply
error_handling.clj: 160 cider.nrepl.middleware.util.error-handling/eval22171/fn
MultiFn.java: 234 clojure.lang.MultiFn/invoke
complete.clj: 46 cider.nrepl.middleware.complete/handle-complete
complete.clj: 45 cider.nrepl.middleware.complete/handle-complete
Var.java: 388 clojure.lang.Var/invoke
nrepl.clj: 116 cider.nrepl/wrap-complete/fn
middleware.clj: 16 nrepl.middleware/wrap-conj-descriptor/fn
nrepl.clj: 390 cider.nrepl/wrap-stacktrace/fn
middleware.clj: 16 nrepl.middleware/wrap-conj-descriptor/fn
nrepl.clj: 448 cider.nrepl/wrap-undef/fn
middleware.clj: 16 nrepl.middleware/wrap-conj-descriptor/fn
nrepl04.clj: 235 shadow.cljs.devtools.server.nrepl04/cljs-load-file/fn
middleware.clj: 16 nrepl.middleware/wrap-conj-descriptor/fn
nrepl.clj: 336 cider.nrepl/wrap-refresh/fn
middleware.clj: 16 nrepl.middleware/wrap-conj-descriptor/fn
nrepl.clj: 94 cider.nrepl/wrap-slurp/fn
middleware.clj: 16 nrepl.middleware/wrap-conj-descriptor/fn
nrepl.clj: 243 cider.nrepl/wrap-macroexpand/fn
middleware.clj: 16 nrepl.middleware/wrap-conj-descriptor/fn
session.clj: 326 nrepl.middleware.session/add-stdin/fn
middleware.clj: 16 nrepl.middleware/wrap-conj-descriptor/fn
nrepl.clj: 299 cider.nrepl/wrap-profile/fn
middleware.clj: 16 nrepl.middleware/wrap-conj-descriptor/fn
nrepl04.clj: 288 shadow.cljs.devtools.server.nrepl04/shadow-init/fn
middleware.clj: 16 nrepl.middleware/wrap-conj-descriptor/fn
nrepl.clj: 256 cider.nrepl/wrap-ns/fn
middleware.clj: 16 nrepl.middleware/wrap-conj-descriptor/fn
fake_piggieback04.clj: 55 cider.piggieback/wrap-cljs-repl/fn
middleware.clj: 16 nrepl.middleware/wrap-conj-descriptor/fn
middleware.clj: 16 nrepl.middleware/wrap-conj-descriptor/fn
nrepl.clj: 199 cider.nrepl/wrap-inspect/fn
middleware.clj: 16 nrepl.middleware/wrap-conj-descriptor/fn
nrepl.clj: 437 cider.nrepl/wrap-tracker/fn
middleware.clj: 16 nrepl.middleware/wrap-conj-descriptor/fn
nrepl.clj: 290 cider.nrepl/wrap-out/fn
middleware.clj: 16 nrepl.middleware/wrap-conj-descriptor/fn
nrepl04.clj: 196 shadow.cljs.devtools.server.nrepl04/cljs-select/fn
middleware.clj: 16 nrepl.middleware/wrap-conj-descriptor/fn
session.clj: 272 nrepl.middleware.session/session/fn
middleware.clj: 16 nrepl.middleware/wrap-conj-descriptor/fn
caught.clj: 97 nrepl.middleware.caught/wrap-caught/fn
middleware.clj: 16 nrepl.middleware/wrap-conj-descriptor/fn
print.clj: 234 nrepl.middleware.print/wrap-print/fn
middleware.clj: 16 nrepl.middleware/wrap-conj-descriptor/fn
nrepl04.clj: 386 shadow.cljs.devtools.server.nrepl04/start/fn
server.clj: 18 nrepl.server/handle*
server.clj: 15 nrepl.server/handle*
server.clj: 27 nrepl.server/handle/fn
core.clj: 2030 clojure.core/binding-conveyor-fn/fn
AFn.java: 18 clojure.lang.AFn/call
FutureTask.java: 264 java.util.concurrent.FutureTask/run
ThreadPoolExecutor.java: 1135 java.util.concurrent.ThreadPoolExecutor/runWorker
ThreadPoolExecutor.java: 635 java.util.concurrent.ThreadPoolExecutor$Worker/run
Thread.java: 844 java.lang.Thread/run
`
CIDER 0.23.0snapshot (package: 20190923.739), nREPL 0.6.0
Clojure 1.10.0, Java 10.0.1
GNU Emacs 26.3 (build 1, x86_64-apple-darwin14.5.0, NS appkit-1348.17 Version 10.10.5 (Build 14F2511))
of 2019-09-02
Thanks @bbatsov !
Thank you @bbatsov
master, so I guess we can close this after someone tests the new defcustom.@bbatsov many thanks for keeping us posted!
I can confirm that cljs completion with Shadow works again if I set cider-enhanced-cljs-completion-p to nil now.
My current setup apart from upgrading Cider hasn't been changed but here it is for our reference:
Cider:
CIDER 0.23.0snapshot (package: 20191003.537), nREPL 0.6.0
Clojure
Clojure 1.10.0, Java 10.0.1
Emacs
GNU Emacs 26.2 (build 1, x86_64-apple-darwin14.5.0, NS appkit-1348.17 Version 10.10.5 (Build 14F2511)) of 2019-04-12
@louixs @Ninerian I was not able to reproduce any completion issues with suitable / shadow-cljs. Completion works well for me. Could you please share what code snippet (and cursor position) I can reproduce those issues with? Thanks!
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contribution and understanding!
This issues been automatically closed due to lack of activity. Feel free to re-open it if you ever come back to it.
Most helpful comment
See https://github.com/clojure-emacs/cider/pull/2717