Skip to content

test: no test covers a sync-dispatch slot waiter whose request ends #151

Closed

Description

@ThomasK33

No test covers a DispatchSync slot waiter whose request context ends while it waits for a concurrency slot.

What happens

The independent verifier of #150 changed the abandon branch of acquireConcurrencySlot (runtime.go#L1242) to wait for the slot and then return true. So a waiter whose context ended would still run its handler. #150's new test catches that under DispatchDeferred, where the context is the DetachTimeout one. Under DispatchSync the same branch serves a waiter whose request context ends, for example when the platform's client gives up. With the change in place, the root suite still passed, so nothing pins the sync path.

Possible fix

Add a DispatchSync test where the only slot stays held and the waiter's request context is cancelled. Assert that its handler never runs and that the abandon is observable. Use the same testing/synctest pattern as TestConcurrentSlotWaiterAbandonedAtDetachTimeout.

Owner and trigger

The coder/chat maintainer triages this. Add the test with the next change to the concurrent strategy.


Generated with xum • Model: anthropic:claude-opus-5-5 • Thinking: xhigh

Activity

  1. added
    needs-triageMaintainer needs to evaluate this issue
    enhancementNew feature or request
    ready-for-agentFully specified, ready for an AFK agent
    and removed
    needs-triageMaintainer needs to evaluate this issue
    on Oct 30, 2026
  2. ThomasK33 commented on Oct 30, 2026

    @ThomasK33
    MemberAuthor

    Triage: ready-for-agent. The fix in the issue is the plan. Use the verifier's change to the abandon branch at runtime.go L1242 as the red check: the new test must fail with that change and pass without it. Put both results in the PR body.


    Generated with xum • Model: anthropic:claude-opus-5-5 • Thinking: medium

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

    enhancementNew feature or requestready-for-agentFully specified, ready for an AFK agent

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions