Skip to content

Conversation

@vtjnash
Copy link
Member

@vtjnash vtjnash commented Aug 18, 2020

Internally these codepaths contain an rwlock on every platform (or are specified that you should hold one). So this adds that lock, and additionally blocks signals on unix for extra protection against deadlock here.

Fixes #35117
Fixes #13294

@vtjnash vtjnash requested a review from Keno August 18, 2020 16:38
@vtjnash vtjnash force-pushed the jn/signalsafe_profile branch 3 times, most recently from 12cf59a to 85c87a0 Compare August 26, 2020 01:08
This hack, added in 7e95d09, was a
workaround for LLVM3.3 not being able to generate binaries with the
mandatory SEH section information. Now, it is just a potential source of
segfaults in observation.
@vtjnash vtjnash force-pushed the jn/signalsafe_profile branch from 85c87a0 to b664ae3 Compare August 26, 2020 14:01
@vtjnash
Copy link
Member Author

vtjnash commented Aug 27, 2020

Investigated the macOS hang overnight and tracked down the version of macOS that introduced that bug—let's see how this does now.

@JeffBezanson JeffBezanson added the multithreading Base.Threads and related functionality label Aug 28, 2020
@vtjnash vtjnash merged commit 3285ee0 into master Sep 1, 2020
@vtjnash vtjnash deleted the jn/signalsafe_profile branch September 1, 2020 16:30
@KristofferC KristofferC mentioned this pull request Oct 21, 2020
15 tasks
Sacha0 added a commit that referenced this pull request Oct 22, 2020
@vchuravy vchuravy mentioned this pull request Jan 21, 2021
27 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

multithreading Base.Threads and related functionality

Projects

None yet

Development

Successfully merging this pull request may close these issues.

make stacktrace lookup and unwinding more threadsafe Profiler can deadlock on OS X

4 participants