An idle runner is offered sandboxes its host cannot start, fetches their images, then declines them issue #92 closed: completed andymccall opened this · 0 comments
andymccall set labels bug ·
closed by change 77c8c24066ef ·
andymccall set labels bug ·
closed by change 77c8c24066ef ·
An idle runner claims with no memory limit, so it is offered sandboxes bigger than its host can start. It fetches each one's image, then declines it.
Seen 2026-10-26 on mars-1 (host 7.3 GB, budget 4096 MiB):
Cause:
Budget::roomreturns(None, None)for an idle runner ("a lone job may use the whole budget even if it asks for more"), and the claim sends that as no limit. The decline check usesMemAvailable, so the claim and the check disagree.Fix: the claim's
free_memory_mibis the budget's room capped at the host'sMemAvailable(claim_memory). A lone job may still use the whole budget and more, but never more than the host has free.