| Summary: | proctrack/freebsd-reaper: Track job descendants with FreeBSD process reapers | ||
|---|---|---|---|
| Product: | Slurm | Reporter: | Rikka Göring <rikka.goering> |
| Component: | Other | Assignee: | Tim Wickberg <tim> |
| Status: | OPEN --- | QA Contact: | |
| Severity: | C - Contributions | ||
| Priority: | --- | ||
| Version: | 26.11.x | ||
| Hardware: | All | ||
| OS: | Other | ||
| Site: | -Other- | Slinky Site: | --- |
| Alineos Sites: | --- | Atos/Eviden Sites: | --- |
| Confidential Site: | --- | Coreweave sites: | --- |
| Cray Sites: | --- | DS9 clusters: | --- |
| Google sites: | --- | HPCnow Sites: | --- |
| HPE Sites: | --- | IBM Sites: | --- |
| NOAA SIte: | --- | NoveTech Sites: | --- |
| Nvidia HWinf-CS Sites: | --- | OCF Sites: | --- |
| Recursion Pharma Sites: | --- | SFW Sites: | --- |
| SNIC sites: | --- | Tzag Elita Sites: | --- |
| Linux Distro: | --- | Machine Name: | |
| CLE Version: | Version Fixed: | ||
| Target Release: | --- | DevPrio: | --- |
| Emory-Cloud Sites: | --- | ||
| Attachments: | v1 proctrack/freebsd-reaper plugin | ||
Created attachment 46325 [details] v1 proctrack/freebsd-reaper plugin Add proctrack/freebsd-reaper, a process-tracking plugin using FreeBSD's procctl() process-reaper APIs. The Slurm step daemon acquires reaper status, tracks descendants across process-group changes and nested reapers, and signals the tracked process tree during cleanup. Build the plugin on FreeBSD. On the FreeBSD test node, the comparison with proctrack/pgid was: | Test case | freebsd-reaper | pgid | | ----------------------- | ---------------- | ------ | | Orphaned child | Pass | Pass | | SIGTERM-resistant child | Pass | Pass | | Nested child | Pass | Pass | | setsid escape | Pass | Fail | | setpgid escape | Pass | Fail | | Double-fork escape | Pass | Fail | | Nested daemon escape | Pass | Fail | A zombie regression was also retested: the child briefly became a zombie, disappeared promptly, and the node returned to IDLE without timing out or draining. The patches apply to master at 9f9da53b4a, and the generated configure script passes a shell syntax check.