We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Repro:
$ 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
This is reported by VSCode users where clj-kondo is running as a long lived process.
Cause: we were holding on to a ctx argument in the hooks namespace by memoizing over it, which contains the entire linting state.
ctx
The text was updated successfully, but these errors were encountered:
[#1036] Fix memory leak with long running process
edfe1ff
Fixed with edfe1ff.
Proof:
$ clj -J-Xmx1g Clojure 1.10.1 user=> (require '[clj-kondo.core :as clj-kondo]) nil user=> (do (dotimes [i 100] (prn i) (clj-kondo/run! {:lint ["src"]})) (System/gc))
Monitor the Java process:
$ jps -m $ top -pid 43477
No OOM, memory is back to reasonable amount after final GC.
Sorry, something went wrong.
Include fix for clj-kondo/clj-kondo#1036
1b730e2
[clj-kondo/clj-kondo#1036] Fix memory leak
691d957
Update to 2020.09.10-20201007.185225-22 to fix the problem.
2020.09.10-20201007.185225-22
borkdude
No branches or pull requests
Repro:
This is reported by VSCode users where clj-kondo is running as a long lived process.
Cause: we were holding on to a
ctx
argument in the hooks namespace by memoizing over it, which contains the entire linting state.The text was updated successfully, but these errors were encountered: