cursive

Issues at: https://git.io/cursive-issues
imre 2021-05-03T15:21:46.292200Z

@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

imre 2021-05-13T13:23:13.344200Z

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

cfleming 2021-05-13T22:58:48.344700Z

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

imre 2021-05-14T06:52:00.345100Z

No, intel

imre 2021-05-14T06:52:52.345300Z

And thank you

cfleming 2021-05-14T07:04:59.345500Z

Interesting, why the Zulu in that case?

imre 2021-05-14T07:29:22.345700Z

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

imre 2021-05-14T07:29:35.345900Z

So I ended up putting that into the repro

imre 2021-05-14T07:30:29.346100Z

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

cfleming 2021-05-14T08:00:53.346300Z

That is very weird.

imre 2021-05-14T08:22:37.346700Z

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

imre 2021-05-18T12:26:40.008700Z

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

imre 2021-05-18T12:27:16.008900Z

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

imre 2021-05-18T12:27:25.009100Z

note jdk8 vs jdk11

imre 2021-05-18T12:28:14.009300Z

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

imre 2021-05-18T12:29:38.009500Z

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

imre 2021-05-18T12:34:04.009700Z

The former difference is sus

imre 2021-05-18T12:34:09.009900Z

I added this info to the ticket

2021-05-03T15:50:40.292800Z

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

imre 2021-05-03T16:37:44.292900Z

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

imre 2021-05-03T16:59:44.293100Z

I sure hope so cause I use it often 🙂

2021-05-03T17:16:41.293300Z

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

cfleming 2021-05-03T20:33:21.293700Z

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.

👍 1
hlship 2021-05-03T23:13:16.295800Z

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.

cfleming 2021-05-04T11:02:08.299300Z

Are they all in the same module?

cfleming 2021-05-04T11:02:17.299500Z

Are you using deps or lein?

hlship 2021-05-06T16:22:04.313700Z

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

cfleming 2021-05-07T00:39:16.314500Z

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