mirror of
https://github.com/garrytan/gstack.git
synced 2026-11-09 18:28:15 +01:00
* Stop macOS EPERM marking a finished QA capture as incomplete On macOS the cleanup kill of an exited command's process group can get EPERM while the group is being torn down, and the capture then recorded a successful command as incomplete with exit code 2. On EPERM, check the group directly (kill with signal 0, then a ps listing that ignores zombie and exiting entries) and treat it as gone only when no live member remains. A live member or a failed check keeps the fail-closed result. Co-authored-by: vilano93 <244097767+vilano93@users.noreply.github.com> Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com> * Keep the EPERM group check to macOS so Linux still fails closed Review-Finding: p1/red-team#1 reader=red-team Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com> * Count exiting macOS group members as gone after a refused group kill On macOS, ps shows a process that is exiting with a trailing E flag (for example RE or UE), so a check on the leading letter alone read a mid-exit member as live and kept the capture incomplete. Count a member as gone when its state starts with Z or carries E; X means traced on macOS, so it stays live. Linux is unchanged and still fails closed. Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com> * Document the macOS EPERM exception in QA deadline cleanup Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com> --------- Co-authored-by: vilano93 <244097767+vilano93@users.noreply.github.com> Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>