clj-on-windows 2023-05-10

I have a regression that I'm having difficulty figuring out the cause of. I posted this to the spacemacs group but it doesn't seem to be spacemacs related. I rebooted my updated spacemacs and the elpa packages and rebooted my system. Now I can't jack-in with any simple test project.

Here is my *messages*output:

Starting new CIDER session ...
[nREPL] Starting server via "c:/Users/Paul Dumais/scoop/shims/clojure.exe" -Sdeps '{:deps {nrepl/nrepl {:mvn/version "1.0.0"} cider/cider-nrepl {:mvn/version "0.30.0"}} :aliases {:cider/nrepl {:main-opts ["-m" "nrepl.cmdline" "--middleware" "[cider.nrepl/cider-middleware]"]}}}' -M:cider/nrepl
error in process sentinel: nrepl-server-sentinel: Could not start nREPL server: Error building classpath. Don't know how to create ISeq from: clojure.lang.Symbol

java.lang.IllegalArgumentException: Don't know how to create ISeq from: clojure.lang.Symbol

	at clojure.lang.RT.seqFrom(RT.java:557)

	at clojure.lang.RT.seq(RT.java:537)

	at clojure.core$seq__5467.invokeStatic(core.clj:139)

	at clojure.core$merge_with$merge2__6033.invoke(core.clj:3083)

	at clojure.lang.ArrayChunk.reduce(ArrayChunk.java:63)

	at clojure.core$reduce1.invokeStatic(core.clj:944)

	at clojure.core$reduce1.invokeStatic(core.clj:936)

	at clojure.core$merge_with.invokeStatic(core.clj:3076)

	at clojure.core$merge_with.doInvoke(core.clj:3068)

	at clojure.lang.RestFn.applyTo(RestFn.java:139)

	at clojure.core$apply.invokeStatic(core.clj:669)

	at clojure.tools.deps$merge_edns.invokeStatic(deps.clj:141)

	at clojure.tools.deps.script.make_classpath2$run_core.invokeStatic(make_classpath2.clj:86)

	at clojure.tools.deps.script.make_classpath2$run.invokeStatic(make_classpath2.clj:153)

	at clojure.tools.deps.script.make_classpath2$_main.invokeStatic(make_classpath2.clj:203)

	at clojure.tools.deps.script.make_classpath2$_main.doInvoke(make_classpath2.clj:174)

	at clojure.lang.RestFn.applyTo(RestFn.java:137)

	at clojure.lang.Var.applyTo(Var.java:705)

	at clojure.core$apply.invokeStatic(core.clj:667)

	at clojure.main$main_opt.invokeStatic(main.clj:514)

	at clojure.main$main_opt.invoke(main.clj:510)

	at clojure.main$main.invokeStatic(main.clj:664)

	at clojure.main$main.doInvoke(main.clj:616)

	at clojure.lang.RestFn.applyTo(RestFn.java:137)

	at clojure.lang.Var.applyTo(Var.java:705)

	at clojure.main.main(main.java:40)

 ("exited abnormally with code 1")
error in process sentinel: Could not start nREPL server: Error building classpath. Don't know how to create ISeq from: clojure.lang.Symbol

java.lang.IllegalArgumentException: Don't know how to create ISeq from: clojure.lang.Symbol

	at clojure.lang.RT.seqFrom(RT.java:557)

	at clojure.lang.RT.seq(RT.java:537)

	at clojure.core$seq__5467.invokeStatic(core.clj:139)

	at clojure.core$merge_with$merge2__6033.invoke(core.clj:3083)

	at clojure.lang.ArrayChunk.reduce(ArrayChunk.java:63)

	at clojure.core$reduce1.invokeStatic(core.clj:944)

	at clojure.core$reduce1.invokeStatic(core.clj:936)

	at clojure.core$merge_with.invokeStatic(core.clj:3076)

	at clojure.core$merge_with.doInvoke(core.clj:3068)

	at clojure.lang.RestFn.applyTo(RestFn.java:139)

	at clojure.core$apply.invokeStatic(core.clj:669)

	at clojure.tools.deps$merge_edns.invokeStatic(deps.clj:141)

	at clojure.tools.deps.script.make_classpath2$run_core.invokeStatic(make_classpath2.clj:86)

	at clojure.tools.deps.script.make_classpath2$run.invokeStatic(make_classpath2.clj:153)

	at clojure.tools.deps.script.make_classpath2$_main.invokeStatic(make_classpath2.clj:203)

	at clojure.tools.deps.script.make_classpath2$_main.doInvoke(make_classpath2.clj:174)

	at clojure.lang.RestFn.applyTo(RestFn.java:137)

	at clojure.lang.Var.applyTo(Var.java:705)

	at clojure.core$apply.invokeStatic(core.clj:667)

	at clojure.main$main_opt.invokeStatic(main.clj:514)

	at clojure.main$main_opt.invoke(main.clj:510)

	at clojure.main$main.invokeStatic(main.clj:664)

	at clojure.main$main.doInvoke(main.clj:616)

	at clojure.lang.RestFn.applyTo(RestFn.java:137)

	at clojure.lang.Var.applyTo(Var.java:705)

	at clojure.main.main(main.java:40)

 ("exited abnormally with code 1")

Well not a real regression 🙂 - just that I had things working 2 days ago.

I can launch a repl from the command-line though.

You still have the space in your user folder right?

might be related to that?

Alex Miller (Clojure team) 2023-05-10T12:41:14.880779Z

What version of the CLI?

another possibility is the powershell shim that isn't properly working

I'm on spacemacs develop.

It could be that scoop clojure on windows only works after installing but not after reboot.

how do I check version of CLI?

clojure --version

Clojure CLI version (deps.clj) 1.11.1.1273

since you speak of a regression, when did it start happening? what did you change?

I'm going to try launching from cmd line again but with the same args as in emacs.

So it's just jacking-in that's broken suddenly.

note that quoting of strings will be different depending on: • you're shelling out from Java • you're shelling out from Powershell • you're shelling out cmd.exe

I tried rolling back packages and the spacemacs repo but that didn't help.

I think I would try shelling out from java to reproduce this

How would I do that?

let me whip up an example... just a minute

@pauld Like this:

(let [process-builder (java.lang.ProcessBuilder. ["clojure.exe" "-Spath" "-Sdeps" (pr-str '{:deps {org.clojure/clojure {:mvn/version "1.12.0-alpha2"}}})])
      process (.start process-builder)
      output (slurp (.getInputStream process))
      error (slurp (.getErrorStream process))]
  (println output)
  (println error))

and then adapt the clojure.exe invocation

or wait, CIDER isn't shelling out from Java, right, it's doing this from elisp?

Not sure... it is calling clojure.exe.

but from where?

Yeah, elisp command I suppose. Not sure how emacs cider internals work that well. There is a variable that holds the command that gets launched.

That command runs fine in my git bash shell but not from emacs-jack-in (any longer).

I might try posting this over in the cider group.

👍 1

@pauld so you're using scoop? which package? clj-deps?

Yeah scoop clojure via clj-deps package. It was working fine earlier. Not sure what I could have done to break it.

@pauld did you upgrade clj-deps? or did you upgrade CIDER? Are you using a unstable version of CIDER from melpa?

Did not upgrade anything via scoop yet. Maybe I should! As for cider - It's whichever version in spacemacs develop branch. Not sure how to check.

trying emacs list-packages

it just shows <tel:202201291149|20220129.1149> as version there.

which was required by helm-cider-20220706.944

Woops thats wrong <tel:202304261815|20230426.1815>

is the version of cider I have

I had upgraded cider, but I also reverted those upgrades to see if that would help but it did not.