Fork me on GitHub
#cursive
<
2022-11-09
>
tony.kay13:11:55

Using latest stable Cursive. I have a project (not all projects do it) where if I try to load any CLJC file into a CLJ repl I get:

cfleming21:11:24

Hi Tony, go to Help | Diagnostic Tools | Debug Log Settings… and add #cursive.namespace to the popup window. Then reproduce, and you should get an equivalent message in the logs with more info.

onetom13:11:27

im having a similar issue with tick.core -> tick.file -> tick.core (on tick/tick {:mvn/version "0.5.0"}) will try to see if i can repro it too. it's intermittent...

tony.kay13:11:17

OK, I just invalidated caches and restarted…I’ll do that now…

tony.kay13:11:46

Ah, that’s way more helpful: 2022-11-10 08:50:16,699 [ 212790] DEBUG - #cursive.namespace - Dependency cycle /Users/tonykay/.m2/repository/com/taoensso/tufte/2.3.0/tufte-2.3.0.jar!/taoensso/tufte/impl.cljc -> /Users/tonykay/.m2/repository/com/taoensso/tufte/2.3.0/tufte-2.3.0.jar!/taoensso/tufte/impl_new.cljc -> /Users/tonykay/.m2/repository/com/taoensso/tufte/2.3.0/tufte-2.3.0.jar!/taoensso/tufte/impl.cljc Looks like I have two versions of tufte on the classpath

tony.kay13:11:18

but I know how to figure it out now, thanks!

tony.kay14:11:51

@U0567Q30W general feedback. I know you’re trying to keep the UI clean, but that popup needs to show full ns names. I know it is messy, but the popup was completely useless to me because I didn’t know which of my MANY deps was the problem I just knew it wasn’t my code.

tony.kay14:11:46

which created drag for me, a question to answer for you, and serious drag for several of my team members yesterday that could have probably been avoided if the full ns would have just been in the error that was user-visible.

tony.kay14:11:52

and now I have to figure out where to document how to do the special logging for future reference in case it happens again, and then I have to remember where I documented it (and the fact that I did document it) when it does happen again (which it will…this isn’t the first time in 4 years)

tony.kay14:11:38

which means it will eventually cause another crappy day…

cfleming23:11:52

Ok, how about if the log continues to show full file info (which is useful for finding which dep contains them etc), and the popup contains full ns names?

cfleming23:11:31

Oh, actually, I’ll have to look at that code again. There are actually two layers of checks here, one for namespaces which have cycles, and one for files which have cycles. I’ll look at that again, but even in the file case it could show the file path back to the local root (like taoensso/tufte/impl.cljc in this case).

cfleming23:11:09

I’ll also look at that case to see if I can figure out why it’s occurring.

tony.kay00:11:17

Yeah, anything that lets you pinpoint it to the dependency would be invaluable

onetom06:12:31

I tried to set this debug log option, but even after restarting intellij, im not getting any logs about the dependency cycle, although i can reliable trigger it at the moment. I did see, that the log option change has been registered though:

2022-12-02 14:47:43,976 [9550328]   INFO - #c.i.d.DebugLogManager - Set DEBUG for the following categories: #cursive.namespace, cursive.namespace

onetom06:12:17

tried it in both 2022.2.4 & 2022.3

tony.kay13:11:24

but there is no such file in my source anywhere (impl), nor can I find such a file in the dependencis.