Skip to content

Don't resume a task killed while we prepare its exit() - #4139

Merged
rocallahan merged 1 commit into
rr-debugger:masterfrom
ChronitonAI:killed-in-exit-setup
Oct 28, 2026
Merged

rocallahan merged 1 commit into
rr-debugger:masterfrom
ChronitonAI:killed-in-exit-setup

Conversation

@Keno

@Keno Keno commented Oct 26, 2026

Copy link
Copy Markdown
Member

[AI Split of #4136, part 3]

A SIGKILL while rr prepared a task's exit(), blocking its signals and unmapping its buffers, made rr resume the task out of its PTRACE_EVENT_EXIT stop, after which recording failed. Don't restart the exit once the task has died, and don't resume a task that died in rec_prepare_syscall(). The new kill point
RRCALL_KILL_IN_EXIT_PREPARATION lets tests send that SIGKILL.

Test: exit_killed_during_preparation

A SIGKILL while rr prepared a task's exit(), blocking its signals and
unmapping its buffers, made rr resume the task out of its
PTRACE_EVENT_EXIT stop, after which recording failed. Don't restart the
exit once the task has died, and don't resume a task that died in
rec_prepare_syscall(). The new kill point
RRCALL_KILL_IN_EXIT_PREPARATION lets tests send that SIGKILL.

Test: exit_killed_during_preparation

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@rocallahan
rocallahan merged commit 16fa499 into rr-debugger:master Oct 28, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants