app-server command exec process IDs test does not terminate process

Open 💬 0 comments Opened Aug 19, 2026 by rebroad

What issue are you seeing?

The integration test
suite::v2::command_exec::command_exec_process_ids_are_connection_scoped_and_disconnect_terminates_process
does not observe the launched process terminating after its app-server connection is
disconnected. The test fails on both attempts of the retry.

Observed diagnostic:

Error: process marker "codex-command-exec-marker-..." did not exit before timeout

The exact marker suffix is generated per run.

Reproduction

At rust-v0.148.0-alpha.22 (deb7b8341349146516c324f81a66698db085c0ea), run on Linux:

RUSTC_WRAPPER= CARGO_NET_OFFLINE=true just test -p codex-app-server

The failing test takes approximately six seconds per attempt. The app-server log
also reports that it dropped a message for the disconnected connection immediately
before the marker timeout.

Expected behavior

When the client connection owning a process ID disconnects, the process should be
terminated and the marker command should exit before the test timeout. Process IDs
should remain scoped to their owning connection.

Environment

  • Linux
  • Debian 13.0.0
  • x86_64
  • Rust toolchain 1.95.0
  • Codex 0.148.0-alpha.22

Additional notes

The failure is deterministic across the two attempts made by nextest. The test
should be rerun in a clean environment with the full app-server stderr retained,
especially around process reaping and disconnect handling.

View original on GitHub ↗