-
Notifications
You must be signed in to change notification settings - Fork 145
Closed
Labels
bugSomething isn't workingSomething isn't workinggoPull requests that update go codePull requests that update go codep2LowLow
Description
Description
The test TestDAGExecutor_ComplexWorkflow in pkg/vmcp/composer/dag_executor_test.go fails intermittently when run with the race detector (-race flag).
Reproduction
# Fails intermittently
go test ./pkg/vmcp/composer -race -v -run TestDAGExecutor_ComplexWorkflow
# Passes consistently without race detector
go test ./pkg/vmcp/composer -v -run TestDAGExecutor_ComplexWorkflowSymptoms
- Test passes consistently without
-raceflag - Test fails occasionally with
-raceflag - Failure appears to be timing-related due to race detector instrumentation overhead
Root Cause
The test exercises parallel step execution in the DAG executor, making it sensitive to timing variations introduced by the race detector's instrumentation. This suggests potential timing assumptions in the test rather than actual race conditions.
Impact
- Low priority: Test passes without race detector
- Not blocking development work
- May indicate test needs more robust timing handling
Suggested Fix
Options to investigate:
- Add retry logic or more generous timeouts for race detector runs
- Use synchronization primitives to make timing more deterministic
- Restructure test to avoid timing dependencies
- Add
t.Parallel()handling if not already present
Related
Discovered while testing PR #2612 (unrelated changes to remove StepTypeConditional)
Environment
- Go version: (current)
- Test command:
go test ./pkg/vmcp/composer -race -v
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't workinggoPull requests that update go codePull requests that update go codep2LowLow