Skip to content

Scripts kill by name pattern; kill only the pid recorded at spawn #5108

Closed as not planned

Description

@noahgift

Name-pattern kills (pkill/killall by name or -f pattern) in 8 tracked scripts and one executed contract test block can kill processes the script did not start: any other run of the same guard, a concurrent job on the same host, or (in one case) every python3 on the host.

Call sites at fbb4e43:

  • scripts/check_crux_greedy_rows.sh:48
  • scripts/check_ladder_serve_teardown.sh:73, :186
  • scripts/qwen-story.sh:40 (pkill -P $$, by parent pid; lowest risk)
  • contracts/crux-K-02-v1.yaml:184 (executed test: block)
  • crates/aprender-zram/scripts/docker-test-harness.sh:266, :278
  • crates/aprender-zram/scripts/falsification-runner.sh:52, :104, :119, :129
  • crates/aprender-zram/scripts/scientific-swap-benchmark.sh:313, :493, :562
  • crates/aprender-zram/scripts/test-swap-deadlock.sh:39, :40 (pkill -9 python3), :46, :48

Fix: record each process's pid at spawn and kill only that pid. Each guard touched is re-mutated (a mutant that restores the name kill, or drops the pid kill, must turn a row red).

Activity

  1. added this to the 0.71.1 milestone on Oct 11, 2026
  2. noahgift commented on Oct 11, 2026

    @noahgift
    ContributorAuthor

    Follow-up, not in #5112: the zram scripts' teardown signals the pid read from the pid file without checking that the pid still names a trueno-ublk process. Before the kill -9, check /proc/$pid/comm so a pid the kernel has reused is left alone (the guards in #5112 already check args before their KILL).

  3. modified the milestones: 0.71.1, 0.72.0 on Oct 14, 2026
  4. noahgift commented on Oct 14, 2026

    @noahgift
    ContributorAuthor

    Folded into #2876 as a checklist row (TRIAGE-100, 2026-10-14): the open-ticket cap is 100, so this ticket is now tracked on that master and closed as not planned. Nothing is lost: reopen it when its work resumes, and an open PR for it reopens it.

    Agent: aprender-clerk

  5. modified the milestones: 0.72.0, backlog on Oct 14, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions