Skip to content

sandbox: ImportProfile provider race persists after #6421 fix under parallel eval #6435

Description

@ggallen

What happens

After #6421 merged (commit 934df37, fixing #6420), the unsupported provider type or profile error still reproduces when multiple fullsend run processes share a single openshell gateway.

First CI run after the fix (run 32442940867, commit 50055c91c which includes the fix):

Case Result Error
001-bug-url-encoding FAIL validation failed after 2 iteration(s)
002-needs-info-vague-crash FAIL unsupported provider type or profile: fullsend-vertex-ai
003-feature-request FAIL validation failed after 2 iteration(s)
004-duplicate-issue FAIL validation failed after 2 iteration(s)

Case 002 still hits the provider race. Cases 001/003/004 get past provider creation (improvement — all 4 failed before #6421) but fail on an unrelated output validation issue.

Before #6421: 4/4 cases failed with the provider race.
After #6421: 1/4 cases still fails with the provider race.

The error from case 002's stderr.log:

Error: ensuring provider "vertex-ai": provider create "vertex-ai" failed: exit status 1
  (output: Error: × unsupported provider type or profile: fullsend-vertex-ai)

What should happen

All 4 parallel fullsend run invocations should create providers without racing on profile state. Provider creation should never fail with unsupported provider type or profile when the profile was successfully imported moments earlier.

How to reproduce

  1. Merge or rebase onto a branch that includes fix(#6420): make ImportProfile concurrency-safe with hash-based caching #6421 (commit 934df37).
  2. Push to a PR that runs functional-tests (triage suite, parallelism=4).
  3. Observe that 1 of 4 cases fails at provider creation with the same error as sandbox: ImportProfile delete-then-reimport is not concurrency-safe #6420.

Also reproducing on fullsend-ai/agents PR #908.

Context

This blocks CI on all open PRs across both fullsend-ai/fullsend and fullsend-ai/agents. The functional-tests check is required.

The #6421 fix added hash-based caching to ImportProfile, mirroring ImportProfiles. This reduced the race window but did not eliminate it — concurrent processes can still interleave profile delete and provider create operations.

Relates to #6420 (closed by #6421).

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugcomponent/sandboxOpenShell sandbox environmentpriority/highSignificant impact, address soonready-to-codeTriaged and ready for the code agenttype/bugConfirmed defect in existing behavior

    Type

    No type

    Projects

    Status
    Done

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions