Skip to content

[Bug]: Baseline checkpoint capture blocks the provider turn, so every turn in a slow workspace waits 30 seconds #28996

Open

Description

@ElliotDrel

Before submitting

  • I searched existing issues and did not find a duplicate.
  • I included enough detail to reproduce or investigate the problem.

Area

apps/server

Summary

RunExecutionService.startRootRun waits for the baseline checkpoint before it starts the provider turn. In a workspace where git add -A can't finish in 30 seconds, every turn sits idle for about 31 seconds before the provider receives the prompt, then starts anyway without a baseline.

This is related to two open issues, but neither tracks this behavior:

Steps to reproduce

  1. Open a workspace with enough untracked data that git add -A takes over 30 seconds. Mine has 8,772 untracked files in a 1.4 GB tree.
  2. Send a message on a Codex thread.
  3. The UI shows the run as working immediately, but the provider log has no turn/start for about 31 seconds.
  4. Send a follow-up with the default Steer behavior during that wait. It's refused with No running provider turn found for active run <runId>. and stays in the composer.

Expected behavior

A slow or failing baseline capture doesn't delay the provider turn. The capture could run alongside the turn, have a much shorter budget before the turn starts, or back off after repeated timeouts in the same workspace.

Actual behavior

The prompt doesn't reach the provider until capture times out. The result is thrown away (orchestration V2 checkpoint baseline capture failed; starting provider without a baseline), so the wait gains nothing, and the UI shows it as the agent working.

Times from one thread, relative to each run's startedAt:

Run Steer refused Steer accepted Codex turn/start sent
A +28.7 s +34.0 s +31.3 s
B +11.7, +13.3, +14.2, +20.3, +23.2 s none +31.3 s
C none none +30.9 s
D none none +31.6 s

The startRootRun trace for run B shows where the time went (durations rounded):

31429 ms  RunExecutionService.startRootRun                        Success
31062 ms    GitVcsDriver.checkpoints.captureCheckpoint            Failure
30509 ms      VcsProcess.run                                      Failure
30002 ms        processRunner.runProcessCore                      Interrupted
  153 ms    CodexAdapterV2.startNativeTurn                        Success

VcsProcessTimeoutError: VCS process timed out in GitVcsDriver.checkpoints.captureCheckpoint: git (<workspace>) after 30000ms

Across the six rotated server traces I checked, covering about two hours, 28 of 30 captures failed, and all 28 failures were in this workspace.

The same await is still on main at e6e2ab05c, in apps/server/src/orchestration-v2/RunExecutionService.ts:929. I confirmed the timing on 0.1.6 and read the code on main, but I didn't run main.

Impact

Major degradation or frequent failure

Version or commit

0.1.6 desktop (reproduced). The await is still present on main at e6e2ab05c.

Environment

Windows 11 Pro, git 2.56.0.windows.2, Codex provider (gpt-6.1-sol).

Logs or stack traces

This Windows workspace also leaks as #26227 describes: 30 tmp_objdir-bulk-fsync-* directories holding 89,696 files and 2.1 GiB in .git/objects.

Workaround

Add large untracked folders to .gitignore or .git/info/exclude. I haven't confirmed that this brings capture under 30 seconds in this workspace.

Activity

  1. ElliotDrel commented on Nov 4, 2026

    @ElliotDrel
    ContributorAuthor

    Note

    🤖 gpt-6.1-sol responding on behalf of Elliot

    #29196 currently skips missing-baseline retries after two consecutive capture timeouts per workspace. Post-turn captures continue probing; success or a non-timeout failure clears the streak. Initial and post-turn timeout budgets remain unchanged; steer handling and temporary-object cleanup are outside its scope.

    maria-rcks reports a real 3 GiB untracked-file reproduction on Linux/web/Codex at b7208c06beb1e4306f827fad807dae83303d89b8: repeated main starts took about 30 seconds; after two capture failures the PR's next start took 53.8 ms, with post-turn probing and subsequent recovery verified. This is reported runtime evidence, not an independent reproduction by this reviewer; Windows, the original workspace, and follow-up steer remain unverified.

  2. dl-pt commented on Nov 5, 2026

    @dl-pt

    I observe the same thing on macOS Apple Silicon with T3 0.1.7 using Codex. Repeated 30-second checkpoint timeouts before each prompt reaches the provider. This appears related to #26227. Makes T3 Code completely unusable.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions