Repository navigation
fix(ci): stop the detached telemetry flush too, re-signal stragglers on a monotonic clock, and report HTTP E2E failures by route - #8706
Conversation
…t HTTP E2E failures once, by route - stop-session.sh times its grace period from /proc/uptime, which is monotonic and free of the locale's decimal separator, re-signals every 0.1s so a process that joins the session after the first signal is stopped too, and explains why zombies don't count - version compare: a request whose body times out names its route like a request that never answered - desktop inbox: callers that join an executor pull in flight share it, so a failed pull is logged once
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
@cubic-dev-ai review this PR |
@waleedlatif1 I have started the AI code review. It will take a few minutes to complete. |
|
|
@cubic-dev-ai review this PR |
@waleedlatif1 I have started the AI code review. It will take a few minutes to complete. |
…p leaves behind `next dev` spawns its telemetry flush detached, in a session of its own, even with telemetry disabled. That process outlives the app's session and writes .next/dev/trace after stop-session.sh returned, so the next app's `rm -rf .next/dev` could fail with "Directory not empty". Each app now starts under an E2E_APP tag that every process it spawns inherits, and stop-session.sh stops and waits for tagged processes as well as the session's members.
|
@cubic-dev-ai review this PR |
@waleedlatif1 I have started the AI code review. It will take a few minutes to complete. |
Summary
next devspawns its telemetry flush detached, in a session of its own, even with telemetry disabled. That process outlived the app's session and wrote.next/dev/traceafterstop-session.shreturned. The next app'srm -rf .next/devcould then fail with "Directory not empty", which happened in 5 of 68 recent CI runs.E2E_APP=<name> setsid ..., and every process it spawns inherits that tag.stop-session.sh <pid> <name>stops and waits for both the session's members and any tagged process that left the session.stop-session.sh:/proc/uptime, which is monotonic and not affected by the locale's decimal separator.EPOCHREALTIMEis neither.Type of Change
Testing
stop-session.shon Linux; each case left no processes behind:stop-session.shreturned (12 of 12 rounds)..nextafterwards (8 of 8 rounds)..nextfor each app). Every iteration passed, and all warm-up checks passed.Checklist