This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2024-03-16
Channels
- # announcements (1)
- # babashka (26)
- # beginners (17)
- # clojure (18)
- # clojure-europe (4)
- # clojure-losangeles (1)
- # clojure-norway (42)
- # clojure-uk (3)
- # datalevin (3)
- # datomic (5)
- # fulcro (7)
- # funcool (2)
- # gratitude (1)
- # hoplon (15)
- # hyperfiddle (7)
- # lsp (5)
- # malli (12)
- # off-topic (3)
- # reitit (7)
- # releases (5)
- # remote-jobs (8)
- # shadow-cljs (21)
- # sql (9)
I have been puzzled lately by some random GC crashes on various JVMs when doing big recordings with FlowStorm (like 28Gb). The crashes were always inside GC code but not always on the same code. I just came to this article https://shipilev.net/jvm/test-your-memory/ and now everything makes sense. TLDR test your RAM. Because of how JVM works there are a ton of chances that the GC will uncover bad memory cells. I then run linux memtester and in fact there are a bunch of bad cells on my laptop's 32Gb RAM.
TLDR also cherish alternative JVM implementations! Back in the Sun Java days, one fine day a routine update was installed that caused a certain essential program frequently to dump core. All the king's horses and all the king's men... but no go. Reverting the Java update was unconscionable. IBM Java, to the rescue! 🙂 Evidently the VM and GC workings were different enough to not have Sun's problem. Now it's called Eclipse OpenJ9. It probably aims to be "better" in some way, but in an emergency all you need is "work-alike". Worth the occasional fire-drill.