Skip to content

fix(push): avoid substitution parsing in job polling - #52

Merged
LucaLin233 merged 3 commits into
mainfrom
luno/fix-push-job-pipeline
Sep 8, 2026
Merged

LucaLin233 merged 3 commits into
mainfrom
luno/fix-push-job-pipeline

Conversation

@LucaLin233

Copy link
Copy Markdown
Owner

Evidence

Run 34245125939 Ubuntu failed snapshot mode round 5 (0.02s) with trap EOF and exit 2. This disproves the prior #49 command-substitution workaround as a complete solution. Debian passed; original batch failure remains separately investigated in #51.

Candidate

Use jobs -pr piped to grep -Fx with stdout redirected, no process/command substitution. Do not use grep -q: full stream consumption avoids SIGPIPE false negatives under pipefail. Validate numeric nonzero PID. No signal masking or relaxed lifecycle barriers.

Validation

Parser gate now exercises pipeline; retain failed process and snapshot controls under explicit legacy flag with historical red evidence. Existing actual job helper, registration/HUP matrix and push suites remain. CI pending, not a root-cause-complete claim. Two files, base main 6e24bcb. No production services executed, no real credentials supplied, no #41 changes.

Risks / rollback

Pipeline spawns grep per poll; CI must verify job-table semantics and timing. A finite green run cannot exclude rare interpreter failures. Revert this PR for rollback. Draft, no merge without explicit confirmation; #47 remains blocked.

@LucaLin233

Copy link
Copy Markdown
Owner Author

Second-pass review at a9da811: scoped workaround accepted for merge consideration. Both environments passed run 34247500440, full=false, parser + worker-registration + push suites. Pipeline probes now reject every status except expected no-match 1, and require HUP handler marker and exit 129. Actual job helper active/missing/reaped-child tests passed. Full diff remains two files; base main unchanged at 6e24bcb. No grep -q early-close, no PID substring match, no signal masking or weakened production cleanup assertions. Known process/snapshot failing reproducers retained opt-in with original red runs cited. Residual limits: finite timing coverage, extra grep process per poll, no proof of Bash internal root cause; this does NOT resolve the separate batch lifecycle anomaly in #51. Prior #49 workaround was falsified and must not be represented as complete. Recommend explicit user-confirmed Squash merge of #52, then ordinary merge into #51 and #47 with fresh required CI. Do not merge #47/#51 automatically. No production operations or test credentials.

@LucaLin233
LucaLin233 marked this pull request as ready for review September 8, 2026 16:03
@LucaLin233
LucaLin233 merged commit d776297 into main Sep 8, 2026
2 checks passed
@LucaLin233
LucaLin233 deleted the luno/fix-push-job-pipeline branch September 8, 2026 16:03
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.

1 participant