Reject starting with multiple threads if --handle-signals=no
#50278
Labels
docs
This change adds or pertains to documentation
error messages
Better, more actionable error messages
good first issue
Indicates a good issue for first-time contributors to Julia
multithreading
Base.Threads and related functionality
Julia GC safepoint is based on a read fault on a protected page. If you start Julia with multiple threads and pass
--handle-signals=no
the signal handler will cause a unhandled segmentation fault.I don't know if we could install a "partial" segmentation fault handler that only handles safepoints,
but we should not let users shoot themselves into the foot. An easy solution is to document that multi-threading requires the signal-handlers and to not allow starting with multiple threads when
--handle-signals=no
.This is of course only a partial fix, since foreign threads may become adopted nontheless.
As seen in the wild: https://discourse.julialang.org/t/floop-threading-and-juliacall-produce-segmentation-fault/100717/11
x-ref: JuliaPy/PythonCall.jl#219
The text was updated successfully, but these errors were encountered: