Skip to content

[codex] Add RunDevServer SIGTERM regression check#2615

Draft
mpscholten wants to merge 4 commits intocodex/pre-2607-masterfrom
codex/run-devserver-sigterm-regression-check
Draft

[codex] Add RunDevServer SIGTERM regression check#2615
mpscholten wants to merge 4 commits intocodex/pre-2607-masterfrom
codex/run-devserver-sigterm-regression-check

Conversation

@mpscholten
Copy link
Copy Markdown
Member

Summary

  • add a dedicated flake check that launches the real RunDevServer
  • use the existing integration-test app as a real fixture with a boilerplate-style .ghci
  • force the initial GHCi load to stay active long enough to SIGTERM RunDevServer mid-load and assert the child ghci process exits

Why

This is intended to reproduce the orphaned-GHCi bug from #2606 in CI. On master, RunDevServer still exits without reliably terminating the detached ghci child during the compile window, so this PR is expected to fail until the fix is applied.

User Impact

If this check fails, it means a development restart can leave a stray ghci process behind holding the app port after RunDevServer receives SIGTERM.

Root Cause

RunDevServer starts ghci in its own process group. During the initial load, terminating the parent process alone is not enough to guarantee the child process group dies too.

Validation

  • bash -n integration-test/run-devserver-sigterm-check.sh
  • CI should exercise the new run-devserver-sigterm flake check and fail on current master

@github-actions
Copy link
Copy Markdown

github-actions Bot commented Apr 5, 2026

Core Size & Compile Allocations Benchmark

Metric Baseline (master) This PR Change
Core size 11346666 bytes 11346661 bytes -0.0%
Compile allocations 27762409720 bytes 27762200304 bytes -0.0%

Core size within threshold
Compile allocations within threshold

HTTP Latency (GET /, 5000 reqs, 10 concurrent)

Metric Baseline (master) This PR Change
Mean 2.99ms 2.99ms 0.0%
p50 3.10ms 2.80ms
p99 5.50ms 5.50ms
Min 0.60ms 0.50ms
Max 11.70ms 54.40ms
Req/s 3273 3322

HTTP latency within threshold

Top 10 modules (this PR)

Module Size (bytes)
Web.Types.thr 547346
Web.FrontController.thr 428416
Web.Routes.thr 423681
Web.View.Threads.Show.thr 325444
Web.Controller.Threads.thr 322977
Web.Controller.Comments.thr 315692
Web.Controller.Users.thr 284459
Admin.FrontController.thr 276526
Admin.Types.thr 264263
build.Generated.User.thr 259919

@mpscholten mpscholten changed the base branch from master to codex/pre-2607-master April 5, 2026 20:21
@mpscholten mpscholten force-pushed the codex/run-devserver-sigterm-regression-check branch from 10ee266 to dd67999 Compare April 5, 2026 20:21
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