This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2023-11-24
Channels
- # announcements (11)
- # babashka (11)
- # beginners (36)
- # biff (14)
- # cider (2)
- # clj-commons (9)
- # clojure (34)
- # clojure-czech (2)
- # clojure-europe (65)
- # clojure-nl (2)
- # clojure-norway (12)
- # clojure-uk (4)
- # clojuredesign-podcast (7)
- # clojurescript (5)
- # cursive (8)
- # deps-new (6)
- # hugsql (1)
- # humbleui (2)
- # hyperfiddle (5)
- # leiningen (21)
- # off-topic (2)
- # polylith (5)
- # practicalli (1)
- # releases (1)
- # sci (64)
- # sql (9)
- # squint (43)
- # test-check (6)
- # vim (7)
Hi! I'm trying to run some thing like lein run -m play.core/app
and it just hangs. What's a good way to investigate this? lein run
works in my other projects.
There are some signals you can send to the jvm via kill that will cause it to print thread stacks as well
Or you can just comment out everything in play/core.clj and uncomment it form by form until you find the one that is causing the hang
Clojure has some threadpools internally where the threads aren't marked as daemon threads, which for reasons causes the jvm not to exit for up to 60 seconds of those threadpools are ever used
(the polls are the agent threadpools where agent actions get run, but there are a few other things like future and pmap which use one of the agent pools)
It could be some other thread, not one from the clojure thread pools id preventing the jvm from exiting
The jvm won't exit until all non-daemon threads have stopped running, so just because the main thread stops that doesn't mean it will exit