BetterThanTomorrow / calva

Clojure & ClojureScript Interactive Programming for VS Code
https://marketplace.visualstudio.com/items?itemName=betterthantomorrow.calva
Other
1.67k stars 217 forks source link

Print stack trace code lens showing repeatedly #882

Closed bpringe closed 1 year ago

bpringe commented 3 years ago

I'm not sure what I did to make this happen, but I'm in a cljs repl here:

image

Clicking one of the code lenses does work though.

PEZ commented 3 years ago

Wow. Can you reproduce it?

bpringe commented 3 years ago

I can but only for a very particular case using krell with a react-native app. I could provide a repro project, but currently it's in a repo I'd like to keep private, and porting the code/bug over to a new RN/krell project would take a little time. I'll do it later though, if you want.

zelark commented 3 years ago

I used to see the same issue in the clojure repl, but now it's gone. However, sometimes I still see a stacktrace lens in a middle of a normal output.

bpringe commented 3 years ago

I haven't seen this in a while so I'm going to close it. But @zelark feel free to create an issue for the other thing you described. Of course if you can nail down repro steps that would be ideal.

ieugen commented 3 years ago

I'm seeing this again in my Calva [2.0.208] - 2021-08-09

Happens when I do Jack in in the same project.

To reproduce:

Jack in load file from project call fn to trigger exception Jack in load file from project call fn to trigger exception

Calva is utilizing cider-nrepl and clojure-lsp to create this VS Code experience.
  nREPL dependencies configured:
    nrepl: 0.8.3
    cider-nrepl: 0.26.0
    cider/piggieback: 0.5.2
 clojure-lsp version configured: latest

If you are new to Calva, please consider starting with the command:
  **Calva: Fire up the Getting Started REPL**
  https://calva.io/getting-started/

(See `showCalvaSaysOnStart` in Settings to control the auto-showing of this message panel.)

clojure-lsp version used: 2021.08.05-19.36.09
clj-kondo version used: 2021.08.04-SNAPSHOT
bpringe commented 3 years ago

@ieugen To clarify, you're saying the issue happens after the second jack-in to the same project? So, the first jack-in process is killed when the new jack-in process starts, then you load the same file and call the same function?

PEZ commented 3 years ago

I can reproduce this. Each Jack-in seems to produce a new lens. I think this smells like more than one bug. One of them being that we print more than one of these lenses. I don't quite understand why this happens, but I hesitate to fix that bug first, because I think it might hide a more serious bug, that killing a Jack-in session does not clean up things properly...

PEZ commented 1 year ago

I think I have fixed this issue quite a while ago. Please re-open if I am thinking about the wrong thing.