(bug) A Daytona sandbox may stop in the middle of a turn that runs longer than 15 minutes
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Idoneità per principianti
- 55/100
- Tipo di issue
- Bug
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Attiva
- Stack tecnologico
- typescript
- Ambito
- backend
Direzione di ricerca
Start by locating where the runner creates or reconnects Daytona sandboxes and applies the autostop and autodelete settings; the issue names the relevant environment variables but no source files or tests. Run the described long-command reproduction with the Daytona provider, watching sandbox state and runner logs. Done means confirming whether the sandbox stops mid-turn and recording the result, or making and verifying a change that keeps it available through the turn.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
🤖 The AI agent says:
When an agent runs a long command on the Daytona sandbox provider, I expect the sandbox to stay up until the turn ends. The Daytona SDK documentation says that a sandbox stops after 15 idle minutes, and that traffic through the sandbox preview URL does not count as activity. During a turn, all the traffic from the runner to the sandbox goes through the preview URL. So a turn that runs for more than 15 minutes may lose its sandbox in the middle of the turn.
This is not reproduced live yet. It comes from the SDK documentation text. The steps below are the test that confirms it or rules it out.
What the SDK documentation says
@daytonaio/sdk 0.198.0 (the version the runner pins), esm/Sandbox.d.ts, setAutostopInterval:
The Sandbox will automatically stop after being idle (no new events) for the specified interval.
Events include any state changes or interactions with the Sandbox through the sdk.
Interactions using Sandbox Previews are not included.
esm/Daytona.d.ts, the create parameters:
autoStopInterval - Auto-stop interval in minutes (0 means disabled). Default is 15 minutes ...
autoDeleteInterval - Auto-delete interval in minutes (negative value means disabled, 0 means delete immediately upon stopping). ...
Settings that matter for the test
- The runner creates every sandbox with
AGENTA_RUNNER_DAYTONA_AUTOSTOP_MINUTES(default 15) andAGENTA_RUNNER_DAYTONA_AUTODELETE_MINUTES(default 30). - The runner limits do not stop a long command first. One tool call may run for 30 minutes (
AGENTA_RUNNER_TOOL_CALL_TIMEOUT_MS), and the idle limit is also 30 minutes (AGENTA_RUNNER_RUN_IDLE_TIMEOUT_MS).
Steps to reproduce
- Run a stack with the Daytona sandbox provider. Keep the default autostop. For a faster test, set
AGENTA_RUNNER_DAYTONA_AUTOSTOP_MINUTES=2on the runner and scale the times below to match. - Create an agent with a harness that runs shell commands (Pi or Claude Code). Set the tool policy so the command runs without an approval, or approve it when the card shows.
- Send:
Use your bash tool to run exactly: timeout 1200 tail -f /dev/null; echo done. This command runs for 20 minutes and prints nothing until the end. (Claude Code refuses a baresleep 1200.) - Watch the sandbox state in the Daytona dashboard and watch the runner log until the turn ends.
Expected: the sandbox stays started for the whole turn. After 20 minutes the command prints done and the turn ends normally.
Feared: about 15 minutes after the last SDK call (the create or the reconnect at the start of the turn), Daytona stops the sandbox. The command dies, the event stream from the sandbox drops, and the turn fails with a transport error. If nothing restarts the sandbox, Daytona deletes it 30 minutes later.
If the sandbox stays up, then Daytona counts preview traffic as activity in practice, and this issue can be closed with that note.
Where
- Any deployment that uses the Daytona sandbox provider. Base:
release/v0.122.1. - Found while doing research for the runner replicas design (#7322). Not seen in production or in QA, because no QA turn ran longer than a few minutes.
- Lingua principale
- TypeScript
- Stelle
- 4.8k
- Fork
- 690
- Merge medio
- 23h 46m
- PR unite (30g)
- 436
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di Agenta-AI/agenta
-
[Bug] Jinja2 variables used only inside {% if %} / {% for %} are missing from input_keys, so invoke returns 400Forse già presa @mmabrouk l’ha presa 8 giorni fa. Apertabug frontend
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
Agenta-AI/agenta#7669 · 3 commenti · 1 reazione · 1 assegnatario ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
Agenta-AI/agenta#7654 · 1 commento · 1 reazione ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
Agenta-AI/agenta#7468 · 1 commento · 1 reazione ·
I maintainer di solito rispondono entro 1 giorno
-
(bug) The Stop button disappears for a moment before an approval card showsForse di nuovo libera @rishu685 l’ha presa 19 giorni fa e non c’è nessuna pull request aperta. Apertabug
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
Agenta-AI/agenta#7446 · 2 commenti · 1 reazione ·
I maintainer di solito rispondono entro 1 giorno
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 83/100
Agenta-AI/agenta#7441 · 1 commento · 1 reazione ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di Agenta-AI/agenta
Issue simili
-
New icon: `filter-clear`Apertacalcite-ui-icons enhancement impact - p3 - not time sensitive needs triage
Difficoltà 2/5 1-3 ore Idoneità per principianti 67/100
Esri/calcite-design-system#15467 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
diegosouzapw/OmniRoute#18390 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
-
Difficoltà 1/5 1-3 ore Idoneità per principianti 86/100
guilhermerodz/input-otp#157 · 1 commento ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
davidjerleke/embla-carousel#1414 ·
I maintainer di solito rispondono entro 4 giorni