#745 Cross-run event pollution causes deadlock in parallel workflows

closed high Created 2026-02-08 23:38 · Updated 2026-02-08 23:38

Description

Edit
Static event names in DSL templates persist in jumper.e_highway_default between runs. When a subsequent run starts, await_event finds the stale event immediately (no sleep), holding the e_ row FOR UPDATE lock while also needing tool_rate_limit_usage lock from consume_tool_rate_token. This creates an ABBA deadlock with emit_event (which holds rate_limit lock and needs e_ lock). Fixed by scoping event names to workflow_run_id using {{workflow_run_id}} template variable. Fixed in: golden_deterministic_v2, golden_ultimate_correctness, golden_disaster_recovery, event_coordination templates.

Comments

Loading comments...

Context

Loading context...

Audit History

View All
Loading audit history...