future deref segfaults on macOS
#813
Issue Description
Likely the same root cause as #722 (nREPL crash), which shows an identical stack trace. bdwgc thread registrationbdwgc has two modes for tracking threads:
These conflict when both are active. From What happens on macOSjank defines Meanwhile,
Why Linux and Windows are unaffectedOn Linux, jank uses libstdc++ (not libc++) where On Windows, Proposed fixesFix 1: Add bdwgc provides Fix 2: Runtime detection with Check at thread start whether implicit registration already occurred; only explicitly register/unregister if it didn't. This works without build system changes but leaves platform-divergent code paths and does not remove the root cause. Reproduction Steps
(ns future-deref)
(let [f (future 42)]
(println "result:" @f))
./build/jank run future_deref.jank
jank health checkStack traceOS Version InformationMacOS 26.4 I acknowledge that:
|
Replies: 2 comments 1 reply
|
Thanks for the details on this issue! I will dig into it and get a fix. This is a high priority bug. |
|
This is now fixed! |
Fixed as part of #846