Stack traces can be interleaved when running multithreaded #51056
Labels
display and printing
Aesthetics and correctness of printed representations of objects.
multithreading
Base.Threads and related functionality
If exceptions occur in tasks running on 2 (or more) threads and we try to output backtraces concurrently, the output can have interleaved lines, making it difficult to figure out the actual stack for either exception.
Probably the best (only?) solution is to replace the use of
jl_safe_printf()
wherever it is used, and instead accumulate the entire backtrace into a buffer, then use a singlejl_safe_printf
to output the buffer.Any other solutions?
The text was updated successfully, but these errors were encountered: