This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2021-07-06
Channels
- # aleph (1)
- # announcements (29)
- # babashka (39)
- # beginners (52)
- # cider (3)
- # cljsrn (19)
- # clojure (167)
- # clojure-europe (15)
- # clojure-nl (2)
- # clojure-uk (62)
- # clojurescript (13)
- # community-development (8)
- # cursive (5)
- # datomic (10)
- # introduce-yourself (1)
- # java (10)
- # jobs (12)
- # jobs-discuss (1)
- # kaocha (2)
- # lsp (6)
- # luminus (1)
- # malli (15)
- # meander (3)
- # music (1)
- # nrepl (2)
- # off-topic (91)
- # pathom (4)
- # reagent (21)
- # reitit (10)
- # sci (5)
- # shadow-cljs (17)
- # spacemacs (3)
- # sql (7)
- # tools-deps (40)
- # utah-clojurians (2)
- # xtdb (7)
I'm trying to debug and reproduce a situation I'm seeing during testing, where a single node has a 100% CPU spike. I see something like this in the thread dump (that is not visible in other nodes). Is this a red herring or could this be the root cause? And if so, any idea how it reached this state?🧵
Any idea what could cause a lockup on java.util.ListResourceBundle
?
Is this a filesystem corruption (this is running in Docker and k8s)?
A memory issue? (I was initially debugging high thread count, so could this be a symptom of not enough memory to allocate new threads)?
What about the other threads? I wouldn't expect threads that are BLOCKED to consume a lot of CPU. If you didn't have enough memory to allocate new threads I would expect to see OutOfMemoryError.
yes, that thread is likely blocked for a very short time there, but it happens a lot, every http needs to parse the date string, and it needs some locale information to do it, and that code is loading the locale information and there is a lock somewhere to make sure two threads don't race loading it
you can see the method here https://code.yawk.at/java/14/java.base/java/util/ListResourceBundle.java#191 it is synchronized, which is the lock that is being held, but it immediately returns if lookup is not null
Thanks for the responses! I "fixed" the BLOCKED issue by replacing SimpleDateFormat
with DateTimeFormatter
- if this turns out to be a good change in testing, I'll submit a PR to aleph for consideration. But, this doesn't fix the CPU spinlock, which I still have not identified. Nothing more to do, but to continue digging and removing variables (it takes many hours to force the issue, but it does seem to be reproducible). 🤞