Fork me on GitHub
#cursive
<
2021-05-03
>
imre15:05:46

@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

imre16:05:44

A workaround is to launch the repl from the command line and connect to it from Cursive (nrepl in my case)

imre13:05:13

Ended up recording this as https://github.com/cursive-ide/cursive/issues/2549 as it's still present in 2021.1

cfleming22:05:48

Thanks, I’ll take a look. I assume this is on an M1 mac?

imre06:05:00

No, intel

imre06:05:52

And thank you

cfleming07:05:59

Interesting, why the Zulu in that case?

imre07:05:22

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

imre07:05:35

So I ended up putting that into the repro

imre07:05:29

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

cfleming08:05:53

That is very weird.

imre08:05:37

Let me know if anything is unclear about the problem description and I'll try to clarify it

imre12:05:40

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

imre12:05:16

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

imre12:05:25

note jdk8 vs jdk11

imre12:05:14

The Cursive behaviour seems to be the same regardless of whether I run the repl with 'use deps' or 'use intellij project classpath'

imre12:05:38

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

imre12:05:04

The former difference is sus

imre12:05:09

I added this info to the ticket

Jeff Evans15:05:40

is it actually useful to submit the stack traces from the UI when a Cursive error occurs?

imre16:05:44

I sure hope so cause I use it often 🙂

Jeff Evans17:05:41

same. but if it ends up being pure noise, then I’d stop

cfleming20:05:21

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.

👍 2
hlship23:05:16

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.

cfleming11:05:08

Are they all in the same module?

cfleming11:05:17

Are you using deps or lein?

hlship16:05:04

lein - this is when I'm working on lacinia: https://github.com/walmartlabs/lacinia

cfleming00:05:16

Ok, can I reproduce using that repo? Which namespaces are A, B and T?