Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

Stage 12 coordinator can outlive its timeout while waiting and leaves workers running

Open
#792 0 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

@anth-volk is already working on this.

Since Sep 30, 2026.

  • #712 by @anth-volk — open
  • #793 by @anth-volk — closed without merging

Assessment

Difficulty
3/5
Estimated time
1-2 days
Newbie friendliness
20/100
Issue type
Bug
Clarity
Mostly clear
Activity status
Stale
Tech stack
python
Domain
backend

Research direction

The issue does not name the coordinator's source file, so start by finding where the Stage 12 coordinator waits on the baseline and reform workers, using the 3,000 s wait and 4,500 s Modal timeout as search terms. Check the existing pull request #793 before starting, since it already targets this work. Done means both waits share one deadline that leaves time to save the outcome, and a failed or timed-out worker cancels the unfinished sibling and records it as failed.

Written by the indexing model from the issue text.

Description

Problem

The Stage 12 coordinator can be killed before it records a failure, and it leaves workers running after a comparison has failed.

  • Separate wait timeouts: the coordinator waits up to 3,000 s for the baseline worker, then up to a fresh 3,000 s for the reform worker. Its own Modal timeout is 4,500 s. When workers are queued, the two waits can exceed that, and Modal kills the coordinator before it saves the failure.
  • Siblings keep running: when one worker's wait fails or times out, the other worker keeps running. That can mean a 32 GB container for up to 50 minutes on a comparison that has already failed.

One production report from 6 to 13 October 2026 waited 3,000.0175 s for baseline and then stored TimeoutError. Its reform worker had already been interrupted after about 305 s.

Expected

  • Both waits share one deadline that leaves the coordinator time to save the outcome before its Modal timeout.
  • When one worker fails or times out, the coordinator cancels every unfinished worker and records the cancelled one as failed.

Observing baseline and reform concurrently is out of scope here; it is part of #712.

Dominant language
Python
Stars
1
Forks
1
Avg merge
1d 7h
Merged PRs (30d)
40

Getting set up

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from PolicyEngine/policyengine-sim-api

All issues in PolicyEngine/policyengine-sim-api

Similar issues

More Python issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.