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

Schedule tasks where we've seen but not processed PTRACE_EVENT_EXIT #3883

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Commits on Nov 16, 2024

  1. Schedule tasks where we've seen but not processed PTRACE_EVENT_EXIT

    If we see the PTRACE_EVENT_EXIT for a task while running a different
    task in unlimited-ticks mode in `Scheduler::reschedule`, it looks like
    nothing ever actually calls `handle_ptrace_exit_event` on it, and so
    nothing ever PTRACE_CONT's the task out of the exit-stop and into the
    zombie state.
    
    This seems to manifest itself as rr not reaping processes properly when
    they receive asynchronous core-dumping signals (e.g. SIGSEGV sent by
    `raise` or `kill`).
    
    Fix this issue by checking if there's a pending PTRACE_EVENT_EXIT to
    deal with on the task in `Scheduler::is_task_runnable`, and allowing the
    task to be executed if so.
    
    Fixes rr-debugger#3882
    KJTsanaktsidis committed Nov 16, 2024
    Configuration menu
    Copy the full SHA
    661dc8a View commit details
    Browse the repository at this point in the history