Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Block thread from receiving profile signal with stackwalk lock #57089

Merged
merged 1 commit into from
Jan 18, 2025

Conversation

ararslan
Copy link
Member

This is Jameson's proposed amendment to the changes made in #57035 that introduced a deadlock on FreeBSD, amusingly in service of fixing a deadlock on Linux.

On Linux and (non-macOS) BSD, instead of acquiring and releasing a lock on the profiler in jl_with_stackwalk_lock, we're just blocking the thread from receiving the profiler's SIGUSR2 signal at all.

This should fix #57058; I don't get the deadlock locally on FreeBSD with this change, but it's AArch64 instead of x86-64 like on CI, so let's see if this also makes CI happy. If so, closes #57059.

This is Jameson's proposed amendment to the changes made in 57035 that
introduced a deadlock on FreeBSD, amusingly in service of fixing a
deadlock on Linux.

On Linux and (non-macOS) BSD, instead of acquiring and releasing a lock
on the profiler in `jl_with_stackwalk_lock`, we're just blocking the
thread from receiving the profiler's `SIGUSR2` signal at all.

Should fix 57058. If so, closes 57059.

Co-Authored-By: Jameson Nash <vtjnash@gmail.com>
@ararslan
Copy link
Member Author

Success! 🎉

@ararslan ararslan merged commit 1740287 into master Jan 18, 2025
8 checks passed
@ararslan ararslan deleted the aa/block-profile-signal branch January 18, 2025 07:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bugfix This change fixes an existing bug
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Deadlock in FreeBSD tests, causing CI jobs to timeout
2 participants