@cfleming does Cursive do anything funky with cljfx/javafx? I seem to have run into an issue when trying to launch Reveal from a Zulu Java 8-based Repl but only when that's launched from Cursive. I created a hopefully minimal repro case at https://github.com/imrekoszo/reveal-zulu
Ended up recording this as https://github.com/cursive-ide/cursive/issues/2549 as it's still present in 2021.1
Thanks, I’ll take a look. I assume this is on an M1 mac?
No, intel
And thank you
Interesting, why the Zulu in that case?
I found that it wasn't working with oracle 8 so I tried zulu. Same symptoms, but zulu can be easier installed on the command line
So I ended up putting that into the repro
Strange that the error only happens when the repl is launched from within cursive, not when I attach to the process launched from the cmdline
That is very weird.
Let me know if anything is unclear about the problem description and I'll try to clarify it
I dug into this a bit and found that when starting the repl from cursive, /Users/ikoszo/.m2/repository/cljfx/cljfx/1.7.12/cljfx-1.7.12-jdk11.jar
is passed to java as part of the classpath
While if I do a -Spath
in the project, I get /Users/ikoszo/.m2/repository/cljfx/cljfx/1.7.12/cljfx-1.7.12-jdk8.jar
in its place
note jdk8 vs jdk11
The Cursive behaviour seems to be the same regardless of whether I run the repl with 'use deps' or 'use intellij project classpath'
Another difference is that all the jdk jars are explicitly passed in the classpath when running from Cursive:
/Users/ikoszo/.sdkman/candidates/java/8.0.282.fx-zulu/zulu-8.jdk/Contents/Home/jre/lib/charsets.jar
/Users/ikoszo/.sdkman/candidates/java/8.0.282.fx-zulu/zulu-8.jdk/Contents/Home/jre/lib/crs-agent.jar
/Users/ikoszo/.sdkman/candidates/java/8.0.282.fx-zulu/zulu-8.jdk/Contents/Home/jre/lib/ext/cldrdata.jar
/Users/ikoszo/.sdkman/candidates/java/8.0.282.fx-zulu/zulu-8.jdk/Contents/Home/jre/lib/ext/dnsns.jar
/Users/ikoszo/.sdkman/candidates/java/8.0.282.fx-zulu/zulu-8.jdk/Contents/Home/jre/lib/ext/jaccess.jar
/Users/ikoszo/.sdkman/candidates/java/8.0.282.fx-zulu/zulu-8.jdk/Contents/Home/jre/lib/ext/jfxrt.jar
/Users/ikoszo/.sdkman/candidates/java/8.0.282.fx-zulu/zulu-8.jdk/Contents/Home/jre/lib/ext/legacy8ujsse.jar
/Users/ikoszo/.sdkman/candidates/java/8.0.282.fx-zulu/zulu-8.jdk/Contents/Home/jre/lib/ext/localedata.jar
/Users/ikoszo/.sdkman/candidates/java/8.0.282.fx-zulu/zulu-8.jdk/Contents/Home/jre/lib/ext/nashorn.jar
/Users/ikoszo/.sdkman/candidates/java/8.0.282.fx-zulu/zulu-8.jdk/Contents/Home/jre/lib/ext/openjsse.jar
/Users/ikoszo/.sdkman/candidates/java/8.0.282.fx-zulu/zulu-8.jdk/Contents/Home/jre/lib/ext/sunec.jar
/Users/ikoszo/.sdkman/candidates/java/8.0.282.fx-zulu/zulu-8.jdk/Contents/Home/jre/lib/ext/sunjce_provider.jar
/Users/ikoszo/.sdkman/candidates/java/8.0.282.fx-zulu/zulu-8.jdk/Contents/Home/jre/lib/ext/sunpkcs11.jar
/Users/ikoszo/.sdkman/candidates/java/8.0.282.fx-zulu/zulu-8.jdk/Contents/Home/jre/lib/ext/zipfs.jar
/Users/ikoszo/.sdkman/candidates/java/8.0.282.fx-zulu/zulu-8.jdk/Contents/Home/jre/lib/jce.jar
/Users/ikoszo/.sdkman/candidates/java/8.0.282.fx-zulu/zulu-8.jdk/Contents/Home/jre/lib/jfr.jar
/Users/ikoszo/.sdkman/candidates/java/8.0.282.fx-zulu/zulu-8.jdk/Contents/Home/jre/lib/jfxswt.jar
/Users/ikoszo/.sdkman/candidates/java/8.0.282.fx-zulu/zulu-8.jdk/Contents/Home/jre/lib/jsse.jar
/Users/ikoszo/.sdkman/candidates/java/8.0.282.fx-zulu/zulu-8.jdk/Contents/Home/jre/lib/management-agent.jar
/Users/ikoszo/.sdkman/candidates/java/8.0.282.fx-zulu/zulu-8.jdk/Contents/Home/jre/lib/resources.jar
/Users/ikoszo/.sdkman/candidates/java/8.0.282.fx-zulu/zulu-8.jdk/Contents/Home/jre/lib/rt.jar
/Users/ikoszo/.sdkman/candidates/java/8.0.282.fx-zulu/zulu-8.jdk/Contents/Home/lib/ant-javafx.jar
/Users/ikoszo/.sdkman/candidates/java/8.0.282.fx-zulu/zulu-8.jdk/Contents/Home/lib/dt.jar
/Users/ikoszo/.sdkman/candidates/java/8.0.282.fx-zulu/zulu-8.jdk/Contents/Home/lib/javafx-mx.jar
/Users/ikoszo/.sdkman/candidates/java/8.0.282.fx-zulu/zulu-8.jdk/Contents/Home/lib/jconsole.jar
/Users/ikoszo/.sdkman/candidates/java/8.0.282.fx-zulu/zulu-8.jdk/Contents/Home/lib/packager.jar
/Users/ikoszo/.sdkman/candidates/java/8.0.282.fx-zulu/zulu-8.jdk/Contents/Home/lib/sa-jdi.jar
/Users/ikoszo/.sdkman/candidates/java/8.0.282.fx-zulu/zulu-8.jdk/Contents/Home/lib/tools.jar
The former difference is sus
I added this info to the ticket
is it actually useful to submit the stack traces from the UI when a Cursive error occurs?
A workaround is to launch the repl from the command line and connect to it from Cursive (nrepl in my case)
I sure hope so cause I use it often 🙂
same. but if it ends up being pure noise, then I’d stop
It’s definitely useful. I don’t always look at each one individually, but the repo aggregates them so I get an idea of which errors happen in which versions, and how frequently.
Is there a way to debug namespace reloading? I have ns T that depends on ns A and ns B; B also depends on A. However, when I change A I only see T reloading (as in, I added println’s to ns B so I could see when it reloaded). T is a test, B is test utilities, A is production code.
Are they all in the same module?
Are you using deps or lein?
lein - this is when I'm working on lacinia: https://github.com/walmartlabs/lacinia
Ok, can I reproduce using that repo? Which namespaces are A, B and T?