calva

Wednesdays you might find @U0ETXRFEW in the Gather Calva space. Invite is https://gather.town/invite?token=GZqrm7CR and the password is `Be kind`.
Stefan T 2020-09-23T18:50:59.001200Z

Hello! Is there a keyboard shortcut to clear the repl output?

borkdude 2020-09-23T18:57:56.001500Z

How does one do ctrl-c in a terminal in VSCode?

pez 2020-09-23T19:04:47.002Z

@stefan.toubia, select all, delete

😐 1
Stefan T 2020-09-23T19:05:48.002400Z

Thanks! Feature request incoming…

pez 2020-09-23T19:07:11.002900Z

if it's a request for a shortcut clearing the output, then I think we are pretty content with cmd+a delete 😃

Stefan T 2020-09-23T19:07:48.003400Z

well it’s multistep mouser over to focus on output window, then do the deed

pez 2020-09-23T19:08:14.004100Z

@borkdude one does not simply .... j/k, not following what you are asking actually. I just press ctrl+c ?

Stefan T 2020-09-23T19:08:17.004200Z

the output window in vscode has a command for clearing output

Stefan T 2020-09-23T19:08:59.004400Z

as would any interactive REPL in terminal

pez 2020-09-23T19:10:00.004600Z

as long as you are interacting with it... but doing it ”remotely”,... yeah. If you make it an issue+PR, I'll merge. 😃

borkdude 2020-09-23T19:10:42.005200Z

@pez ever opened a clojure repl in the terminal and pressed ctrl-c?

Stefan T 2020-09-23T19:11:47.005500Z

yeah a lot of times I’m using the test runner on one side and watching the repl output in the other, so I’m not working in the repl window here

pez 2020-09-23T19:11:48.005700Z

what is supposed to happen then?

pez 2020-09-23T19:13:26.006200Z

To me the same thing happens in iTerm as in a vscode terminal.

borkdude 2020-09-23T19:15:59.006500Z

what is supposed to happen? kill the REPL?

borkdude 2020-09-23T19:16:14.006700Z

ctrl-c is also bound to copying things

pez 2020-09-23T19:17:43.007Z

I see. I'm on mac.

borkdude 2020-09-23T19:17:55.007500Z

I am too

pez 2020-09-23T19:17:58.007600Z

Killing the repl is ctrl+d regardless, right?

borkdude 2020-09-23T19:18:10.007700Z

borkdude 2020-09-23T19:18:29.008200Z

ctrl-d also doesn't work

pez 2020-09-23T19:18:44.008600Z

You have some extension chording on ctrl+c maybe?

pez 2020-09-23T19:19:47.009500Z

ctrl+c is not killing the repl for me, and I am not expecting it to. but it cancels the current prompt, as I expect it to. ctrl+d kills the repl.

borkdude 2020-09-23T19:21:56.009900Z

borkdude@MBP2019 ~ $ clj
Clojure 1.10.1
user=>
ctrl-c in iTerm2 kills it for me

borkdude 2020-09-23T19:22:10.010200Z

but whatever, ctrl-d also doesn't work

borkdude 2020-09-23T19:23:08.010600Z

The same things work for me when I'm connected to the same machine over ssh in iterm2

pez 2020-09-23T19:26:10.011700Z

Right so clj is killed with ctrl+c which is a bit odd, but that is what happens for me in both iterm and vscode terminal.

borkdude 2020-09-23T19:29:24.012Z

Can you view what ctrl-c is bound to in the terminal, which action?

pez 2020-09-23T19:31:06.013600Z

cmd+k cmd+s shows you the key bindings. You can filter them. If you filter on ctrl+c you should see what it is bound to in different contexts, I think.

pez 2020-09-23T19:35:32.014300Z

When I do that I have nothing bound to ctrl+c

chucklehead 2020-09-23T19:44:32.015700Z

that status looks like Ctrl+C is set as the leading part of a chord for some other keybinding?

chucklehead 2020-09-23T19:45:46.016600Z

so it's probably never getting sent to the terminal

Stefan T 2020-09-23T22:39:35.018Z

clj-kondo has been slowing my machine to a crawl, I’ve been having to turn off the extension recently. Anybody have tips for debugging this issue? I really want to keep my linting turned on.

borkdude 2020-09-23T22:41:41.018900Z

@stefan.toubia About to go afk, but if you can repro this using public code, I'd be happy to take a look. Are you using configs/hooks? Maybe setting those aside makes a difference? ttyl

il-tmfv 2020-09-24T16:08:22.003200Z

Having the same issue 😕 @stefan.toubia were you able to fix it?

borkdude 2020-09-24T16:10:59.003400Z

the code for the plugin is here: https://github.com/borkdude/clj-kondo.lsp maybe you can run using a local version with some debug statements in it. Without any repro I can't help

il-tmfv 2020-09-24T16:14:59.003800Z

I wish I knew what causes it 🙂 It works fine for hours but then suddenly some java process starts eating all CPU. And it stays even after I quit VSCode. After restart everything is fine. I’m trying to edit the same files, but it works ok.

borkdude 2020-09-24T16:15:54.004Z

using jps you can view which pid is related to clj-kondo

borkdude 2020-09-24T16:16:05.004200Z

17481 clj-kondo.lsp-standalone.jar

borkdude 2020-09-24T16:16:29.004400Z

and you can kill it of course, but other than that, I don't know. VSCode should be killing the server itself

borkdude 2020-09-24T16:16:36.004600Z

so it might as well be a bug in VSCode

borkdude 2020-09-24T16:17:18.004800Z

the source code of the language server itself hasn't been changed in over 4 months

borkdude 2020-09-24T16:18:44.005Z

Here's a similar bug: https://github.com/forcedotcom/salesforcedx-vscode/issues/968

il-tmfv 2020-09-24T16:20:32.005500Z

I’ve tried to quit vscode now and kondo process was killed as well You know, maybe it is killed every time, but when it is in “100% CPU” mode it takes more time, will wait next time :thumbsup:

il-tmfv 2020-09-24T16:27:57.007Z

hmmm, I’ve just realized that I ran test via lein doo not sure how they work, I didn’t do their setup, but I see that it copies a lot of files to target/cljsbuild/public/... folder during start phase. Could it be the reason?

il-tmfv 2020-09-24T16:29:02.007200Z

And their content, well, is a copy. Can it confuse kondo? “Oh there are more than 1 definition”, somthing like that

borkdude 2020-09-24T16:31:12.007500Z

clj-kondo only lints files you are editing

il-tmfv 2020-09-24T16:35:57.007700Z

ok, will keep an eye on it thanks:+1:

borkdude 2020-09-24T16:36:33.007900Z

which OS are you on?

borkdude 2020-09-24T16:36:47.008100Z

could it be some virus scanner thing maybe

il-tmfv 2020-09-24T16:40:39.008300Z

macOS 10.14.6 no AV software installed It happens in the evening. Maybe OS schedules something like indexing (not sure why it affects kondo/java though), maybe something happens just b/c it works for a day and smth like memory leakage is happening

borkdude 2020-09-24T16:42:01.008600Z

What we can do is put a bunch of debug statements in the plugin, make a vsix package and you watch the clj-kondo output panel

borkdude 2020-09-24T16:42:54.008800Z

it should already output that it starts (and stops, but it's likely you won't see that since it only happens on workspace change )

borkdude 2020-09-24T16:43:59.009Z

il-tmfv 2020-09-24T16:46:27.009400Z

Let’s wait, I will avoid running tests on my machine. For some reason I have a feeling that it is somehow connected. Unfortunately I don’t remember the exact day when I ran them for the first time and when the issue started to appear.

Stefan T 2020-09-24T16:47:21.009700Z

I have to leave right now but I have not found anything useful yet

Stefan T 2020-09-24T16:47:46.009900Z

clearing the config didn’t help, eventually it just gets back to a bad state and I have to kill the process

Stefan T 2020-09-24T16:49:57.010100Z

I’m also running tests fairly often in editor, I wonder if there’s any relation

Stefan T 2020-09-24T16:50:08.010300Z

I haven’t seen anything helpful in the output yet

Stefan T 2020-09-24T16:50:41.010500Z

thanks for the link @borkdude that’s a good lead, I’ll read through and see if it helps

Stefan T 2020-09-24T16:55:23.011400Z

actually something else I noticed is the CPU for the clj-kondo extension is shooting through the roof as I type as well. That first spike was just typing a bunch of ((((((())))))), That last block I just wrote a tiny function and the CPU stayed high for 30s after I stopped

Stefan T 2020-09-24T16:56:00.011800Z

would definitely be helpful to get more verbose output on the language server, will check back in if I find out more

Stefan T 2020-09-24T16:57:14.012Z

also, jps shows two clj-kondo processes. Only one of them is misbehaving

borkdude 2020-09-24T17:44:51.012300Z

I do see CPU activity as I type, which is expected, but nothing abnormal. do you use one or multiple workspaces at the same time?

borkdude 2020-09-24T17:52:28.012500Z

Can you also try disabling Calva and see if you can trigger the same problem?

borkdude 2020-09-24T18:10:13.012700Z

@stefan.toubia @il.tmfv Added a bunch of debug statements which are visible in the clj-kondo output pane

borkdude 2020-09-24T18:10:26.012900Z

borkdude 2020-09-24T18:10:57.013300Z

Please install this VSIX

borkdude 2020-09-24T18:11:08.013700Z

and keep me posted

👍 1
borkdude 2020-09-24T18:12:22.014Z

I made the VSIX from this branch, fyi https://github.com/borkdude/clj-kondo.lsp/tree/debug

borkdude 2020-09-24T18:13:24.014200Z

to build yourself:

script/build-server
cd vscode-extension && vsce package

Stefan T 2020-09-24T22:45:56.014700Z

oh very good point I forgot I had two workspaces open

Stefan T 2020-09-24T22:46:30.014900Z

thanks for the updates extension, I’ll test and see if I get any useful log info

il-tmfv 2020-09-25T18:07:21.028900Z

No issues today 🙂 But I worked on another part of the app

Stefan T 2020-09-25T18:07:52.029100Z

I also have had no more issues :man-shrugging: but I’ve been doing the same thing

1
Stefan T 2020-10-05T20:15:21.124800Z

Ok so this issue has come up again, I’ve gotten to a state where I have high clj-kondo CPU usage and I’m getting this in the clj-kondo debug output, even without touching anything in vscode it seems caught in a loop where this is output every couple seconds

[Error - 1:12:24 PM] java.io.PrintWriter@258c7635
changed file, linting: file:///Users/stoubia/src/liftoff/clj/lib/user/src/liftoff/user.clj
found config dir at /Users/stoubia/src/liftoff/.clj-kondo
[Error - 1:12:32 PM] java.io.PrintWriter@56aa5236
changed file, linting: file:///Users/stoubia/src/liftoff/clj/lib/user/src/liftoff/user.clj
found config dir at /Users/stoubia/src/liftoff/.clj-kondo
[Error - 1:12:41 PM] java.io.PrintWriter@6c52e3cd

borkdude 2020-10-05T20:39:52.125Z

aha, this is interesting, thanks

borkdude 2020-10-05T20:41:24.125200Z

can you force the error by visiting a certain file inside that project?

borkdude 2020-10-05T20:43:08.125400Z

hmm, it seems like it wants to print an error but somehow calling str on PrintWriter is printing the class https://github.com/borkdude/clj-kondo.lsp/blob/4be61735ce538814fd9e66e6b0159d35d21ccada/server/src/clj_kondo/lsp_server/impl/server.clj#L67

borkdude 2020-10-05T20:43:18.125800Z

Let me see if I can improve that bit

borkdude 2020-10-05T20:50:22.126Z

@stefan.toubia @il.tmfv Please install this updated version. It won't fix the problem, but it fixes error reporting, so then we will probably discover what's going on next time

borkdude 2020-10-05T20:51:09.126400Z

The branch off which this is built is debug, here: https://github.com/borkdude/clj-kondo.lsp/tree/debug

borkdude 2020-10-05T20:53:11.126600Z

The error might be this one: > (throw (Exception. (str cfg-dir " must be a directory"))) so is there a .clj-kondo file in your project which is not a directory maybe?

Stefan T 2020-10-05T20:57:11.126800Z

Ok thanks will give this a try

Stefan T 2020-10-05T20:57:51.127Z

something else I noticed I think the error message snippet I gave was only part of the picture, it seemed related to the calva output.calva-repl file as it kept alternating between that file and another file I had open

borkdude 2020-10-05T21:00:52.127200Z

maybe next time try disabling Calva to see if it's triggered by that extension? it has happened before

borkdude 2020-10-05T21:01:00.127400Z

anyway, it seems we're getting closer

pez 2020-10-06T12:41:19.131600Z

I’m running this build now. Seems I am working with things today that triggers the clj-kondo+calva combo to freak out.

borkdude 2020-10-06T12:42:12.131800Z

thanks!

pez 2020-10-06T12:55:26.132Z

Could it be that the output window gets some funny data printed to it?

borkdude 2020-10-06T12:56:01.132200Z

did you install .91?

borkdude 2020-10-06T12:56:39.132400Z

.90 had funny output, that should be fixed with .91

pez 2020-10-06T12:58:10.132600Z

Yes. .91. I was speculating about wether the contents of the Calva output could be what triggers the condition. But maybe not, since we have disabled all linters for it…

borkdude 2020-10-06T13:00:35.132800Z

you disabled the rules, but clj-kondo is still linting it

borkdude 2020-10-06T13:02:08.133Z

can you post (maybe in a gist) the problem that clj-kondo prints to its output panel?

borkdude 2020-10-06T13:02:18.133200Z

it should say somethig like [Error ..] blabla in case of an exception

borkdude 2020-10-06T13:08:41.133600Z

This may be the cause of this CPU spike, if calva keeps printing to the REPL and triggers clj-kondo. But please post output so we know for sure.

borkdude 2020-10-06T13:09:19.133800Z

We can hard code the Calva output file name in the clj-kondo plugin so it's just always ignored

borkdude 2020-10-06T13:09:27.134Z

but first proper diagnosis

borkdude 2020-10-06T13:13:25.134200Z

You can maybe replicate this scenario by printing output to the REPL every second or so

borkdude 2020-10-06T13:13:29.134400Z

and then see what happens

pez 2020-10-06T13:13:39.134600Z

So far no errors and my computer is cool.

borkdude 2020-10-06T13:14:22.134800Z

Do you see any output in the clj-kondo output panel. Like, is it trying to lint the REPL output?

pez 2020-10-06T13:16:25.135Z

Yeah, it prints when the files are changed.

changed file, linting: file:///Users/peter/Projects/app/.calva/output-window/output.calva-repl
found config dir at /Users/peter/Projects/app/.calva/output-window/.clj-kondo
publishing diagnostics

pez 2020-10-06T13:17:12.135200Z

For project files it says the same thing except no file name after the message

found config dir at 

borkdude 2020-10-06T13:18:05.135400Z

that's probably a nil:

(debug "found config dir at" dir)

pez 2020-10-06T13:18:08.135600Z

I’ll notice immediately when I trigger the error, because I have my computer on my lap.

1
borkdude 2020-10-06T13:18:35.135800Z

nice physical feedback and also a nice way to stay warm in these colder days

pez 2020-10-06T13:19:11.136Z

yeah!

borkdude 2020-10-06T13:19:51.136200Z

so I think we can safely ignore output.calva-repl in the plugin right. this is just waste of clj-kondo cycles :)

borkdude 2020-10-06T13:20:47.136400Z

> For project files it says the same thing except no file name after the message I think you might have no .clj-kondo dir for that project, right?

pez 2020-10-06T13:22:29.136600Z

That’s correct.

pez 2020-10-06T13:22:59.136800Z

Would it make sense to have a way to ignore dirs and/or files via the config?

borkdude 2020-10-06T13:23:57.137Z

so far that's not been needed, by default clj-kondo only lints .clj(s)(c) files

borkdude 2020-10-06T13:25:00.137200Z

I'll just hardcode it for now, until clj-kondo gets support for it. This saves me doing another clj-kondo release for this one plugin only

borkdude 2020-10-06T13:26:22.137400Z

Please install .92

👍 1
pez 2020-10-06T13:30:02.138Z

How come it lints a .calva-repl file then?

pez 2020-10-06T13:30:58.138200Z

I’ll wait installing .92 I think. I want the cpu to burn my lap up so that we can try figure out what causes the error. 😃

borkdude 2020-10-06T13:31:38.138400Z

You have config {:linters ^:replace {}}: this will still lint the file but not report any errors

borkdude 2020-10-06T13:31:59.138600Z

I think Calva sets the output window to Clojure mode and this will make it lint with clj-kondo probably

pez 2020-10-06T13:32:02.138800Z

My question was re: > by default clj-kondo only lints .clj(s)(c) files

pez 2020-10-07T08:44:15.163600Z

I haven’t got a hot cpu in my lap since I started wishing for it. But I have two stack traces in the clj-kondo output that look like so:

[Error - 10:15:53 AM] java.lang.OutOfMemoryError: GC overhead limit exceeded
	at clojure.lang.PersistentHashMap$BitmapIndexedNode.ensureEditable(PersistentHashMap.java:815)
	at clojure.lang.PersistentHashMap$BitmapIndexedNode.assoc(PersistentHashMap.java:894)
	at clojure.lang.PersistentHashMap$BitmapIndexedNode.assoc(PersistentHashMap.java:876)
	at clojure.lang.PersistentHashMap$TransientHashMap.doAssoc(PersistentHashMap.java:327)
	at clojure.lang.ATransientMap.assoc(ATransientMap.java:64)
	at clojure.lang.ATransientSet.conj(ATransientSet.java:27)
	at clojure.lang.ATransientSet.conj(ATransientSet.java:15)
	at clojure.core$conj_BANG_.invokeStatic(core.clj:3366)
	at clojure.core$conj_BANG_.invoke(core.clj:3358)
	at clojure.lang.ArrayChunk.reduce(ArrayChunk.java:58)
	at clojure.core$reduce1.invokeStatic(core.clj:942)
	at clojure.core$set.invokeStatic(core.clj:4113)
	at clj_kondo.impl.linters$lint_unused_namespaces_BANG_.invokeStatic(linters.clj:364)
	at clj_kondo.core$run_BANG_.invokeStatic(core.clj:119)
	at clj_kondo.lsp_server.impl.server$lint_BANG_$fn__11528.invoke(server.clj:126)
	at clj_kondo.lsp_server.impl.server$lint_BANG_.invokeStatic(server.clj:125)
	at clj_kondo.lsp_server.impl.server.LSPTextDocumentService.didChange(server.clj:152)
	at sun.reflect.GeneratedMethodAccessor1.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.eclipse.lsp4j.jsonrpc.services.GenericEndpoint.lambda$null$0(GenericEndpoint.java:65)
	at org.eclipse.lsp4j.jsonrpc.services.GenericEndpoint$$Lambda$12/2115597658.apply(Unknown Source)
	at org.eclipse.lsp4j.jsonrpc.services.GenericEndpoint.notify(GenericEndpoint.java:152)
	at org.eclipse.lsp4j.jsonrpc.RemoteEndpoint.handleNotification(RemoteEndpoint.java:220)
	at org.eclipse.lsp4j.jsonrpc.RemoteEndpoint.consume(RemoteEndpoint.java:187)
	at org.eclipse.lsp4j.jsonrpc.json.StreamMessageProducer.handleMessage(StreamMessageProducer.java:194)
	at org.eclipse.lsp4j.jsonrpc.json.StreamMessageProducer.listen(StreamMessageProducer.java:94)
	at org.eclipse.lsp4j.jsonrpc.json.ConcurrentMessageProcessor.run(ConcurrentMessageProcessor.java:113)
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)

pez 2020-10-07T08:45:16.163800Z

Both are printed after the output has reported that a file has changed, and none of the files have been the output/rep file.

borkdude 2020-10-07T08:46:38.164Z

interesting

borkdude 2020-10-07T08:46:43.164200Z

Maybe a memory leak

borkdude 2020-10-07T08:51:04.164500Z

I think the maps containing all the stuff needs to be cleaned afterwards. Clj-kondo normally runs as a short-lived binary, so it's never been a problem there

borkdude 2020-10-07T08:51:14.164700Z

I'll see if I can fix that

borkdude 2020-10-07T08:54:14.164900Z

Hmm, there aren't any global things, each lint starts with a fresh context

borkdude 2020-10-07T08:54:20.165100Z

so I'm not sure why this happens

borkdude 2020-10-07T08:55:35.165600Z

Is there one particular file that triggers this?

borkdude 2020-10-07T08:55:41.165800Z

Can you repro it?

pez 2020-10-07T08:57:39.166Z

I’ll try

borkdude 2020-10-07T09:01:10.166200Z

My first guess was that the content in these atoms would get large over time: https://github.com/borkdude/clj-kondo/blob/master/src/clj_kondo/core.clj#L99-L117 but they are re-created on each lint, so the old ones would get garbage collected, I think

borkdude 2020-10-07T09:01:50.166600Z

can you also check the memory usage of the corresponding java process (find the PID with jps) when it happens?

pez 2020-10-07T09:03:24.166900Z

Seems like the process went to bed after the last GC error:

[Error - 10:34:21 AM] Connection to server is erroring. Shutting down server.
[Error - 10:34:21 AM] Connection to server is erroring. Shutting down server.
[Error - 10:34:21 AM] Connection to server is erroring. Shutting down server.

borkdude 2020-10-07T16:14:08.194300Z

@pez I have a suspicion where the resource leak might be. I use memoized functions to check things on a config, and this might hold on to something for too long. Can you check the memory usage of the clj-kondo java process over time for a few hours during work?

borkdude 2020-10-07T18:00:00.205600Z

I think I have a repro!

🎉 1
borkdude 2020-10-07T18:00:18.205900Z

$ clj -J-Xmx1g
Clojure 1.10.1
user=> (require '[clj-kondo.core :as clj-kondo])
nil
user=> (dotimes [i 10] (do (clj-kondo/run! {:lint ["src"]})))
nil
user=> (dotimes [i 10] (do (clj-kondo/run! {:lint ["src"]})))
nil
user=> (dotimes [i 10] (do (clj-kondo/run! {:lint ["src"]})))
nil
user=> (dotimes [i 10] (do (clj-kondo/run! {:lint ["src"]})))
nil
user=> (dotimes [i 10] (do (clj-kondo/run! {:lint ["src"]})))
user=> (dotimes [i 10] (do (clj-kondo/run! {:lint ["src"]})))
Execution error (OutOfMemoryError) at (REPL:1).
Java heap space

borkdude 2020-10-07T18:00:27.206100Z

(from clj-kondo's own repo)

borkdude 2020-10-07T18:01:23.206400Z

also high CPU

borkdude 2020-10-07T18:26:26.206700Z

Found it, I think

borkdude 2020-10-07T18:29:25.207Z

yep :)

borkdude 2020-10-07T18:52:20.207200Z

Fix underway

pez 2020-10-07T19:01:12.207400Z

How did you go about figuring it out?

borkdude 2020-10-07T19:17:21.207600Z

I already suspected it had to do with memoize since that's the only place where things are stored in a global atoms and then I saw with VisualVM that there were sci things in memory after a GC... which was weird. Then I discovered I was also using memoize in the hooks namespace and effectively holding on to all the state forever by memoizing over a ctx argument... https://github.com/borkdude/clj-kondo/issues/1036

Stefan T 2020-10-07T19:18:57.208100Z

This is great news 🙂 many thanks for looking into this!

pez 2020-10-07T19:22:10.208500Z

Very good find. Guess it is a valuable stresstest to have it as a long running process that makes all that work on every single keystroke. 😃

borkdude 2020-10-07T19:23:03.208700Z

yep :)

il-tmfv 2020-10-08T13:53:00.210700Z

Great to hear 🎉

Stefan T 2020-09-23T22:43:03.019Z

Thanks, I’ll see what I can do. I’ve got a config in .clj-kondo, I’ll see if removing that changes anything

borkdude 2020-09-23T22:43:54.019200Z

Also try linting from the command line with the binary version, see how long that takes

Stefan T 2020-09-23T22:45:13.019400Z

Will do. Might be hard to compare, since it’s just happening in the background in vscode. It just ends up causing all the calva features to slow down, so paredit stops behaving, my machine tries to take off, etc

Stefan T 2020-09-23T22:46:00.019600Z

Puts cpu through the roof eventually

borkdude 2020-09-23T22:48:59.020200Z

Hmm, I see. I hope you can get to the bottom of this

Stefan T 2020-09-23T22:49:16.020400Z

me too 🙂

Stefan T 2020-09-23T22:49:43.020600Z

I also noticed that after disabling clj-kondo extension and restarting vscode this process did not terminate

borkdude 2020-09-23T22:51:06.020800Z

killall java?

borkdude 2020-09-23T22:51:46.021Z

It's the job of VSCode to kill language servers. I haven't heard the problem before

borkdude 2020-09-23T22:51:59.021200Z

Do you see anything in the clj-kondo output panel?

Stefan T 2020-09-23T22:52:41.021400Z

so I just killed the process, wiped out the .clj-kondo config and cache and reenabled clj-kondo extension

Stefan T 2020-09-23T22:53:00.021600Z

there is output but I didn’t think to check it before

Stefan T 2020-09-23T22:53:25.021800Z

It’s been pretty consistent, I was on an older version of calva up until a week or two ago when I started getting this issue

Stefan T 2020-09-23T22:53:56.022Z

I’m going to keep working with it on and see if the CPU starts to rise again

borkdude 2020-09-23T22:54:03.022200Z

To be sure, also lint your code with the command line version, just to see if you get any errors there

borkdude 2020-09-23T22:54:42.022500Z

I mean, unexpected errors, not lint warnings

👍 1
Stefan T 2020-09-23T22:54:58.022800Z

I’ll check that out too

borkdude 2020-09-23T22:56:41.023Z

There is also a VSCode plugin that can use the native version, without a java process

borkdude 2020-09-23T22:56:47.023200Z

by marcomorain

borkdude 2020-09-23T22:56:57.023400Z

but I'd like to get your issue solved regardless

Stefan T 2020-09-23T22:57:02.023600Z

hmm

Stefan T 2020-09-23T22:57:09.023800Z

yeah worked fine running standalone in terminal

Stefan T 2020-09-23T22:57:25.024Z

linting a single file

Stefan T 2020-09-23T22:57:30.024200Z

let me try it with my old config now

Stefan T 2020-09-23T22:58:03.024400Z

also works fine

Stefan T 2020-09-23T22:58:47.024600Z

is there any interaction between calva and clj-kondo, or are they totally separate?

borkdude 2020-09-23T22:59:26.024800Z

calva does not use the clj-kondo extension, but it does use clj-kondo as a library in their JVM process

Stefan T 2020-09-23T22:59:43.025Z

Gotcha

borkdude 2020-09-23T22:59:45.025200Z

for different reasons, not for linting

borkdude 2020-09-23T23:02:17.025400Z

afk now. keep me posted.

👍 1
Stefan T 2020-09-23T23:02:29.025700Z

thanks for your help!