[Bug]: exec timeouts above the Node timer limit cancel almost immediately
I maintainer di solito rispondono entro 1 giorno
Una pull request collegata è già stata integrata.
- #448 di @yujiachen-y — integrata
Valutazione
- Difficoltà
- 2/5
- Tempo stimato
- 1-3 ore
- Idoneità per principianti
- 78/100
- Tipo di issue
- Bug
- Chiarezza
- Specificata chiaramente
- Stato di attività
- Attiva
- Stack tecnologico
- node.js, typescript
- Ambito
- cli
Direzione di ricerca
Parti da packages/tui/src/headless/invocation.ts (il parser del timeout attorno a L402-419), poi traccia policy.timeoutMs attraverso packages/tui/src/headless/runner.ts (L249-261) fino al setTimeout finale in packages/tui/src/application/run-coordinator.ts (L198-204). Decidi dove far rispettil il limite di 2147483647 ms di Node: rifiutare durate eccessive al momento del parsing o limitare/ciclare con intervalli di timer delimitati. Completato quando --timeout 2147483648ms e --timeout 600h non scadono più immediatamente e un test riproduce il comportamento di overflow segnalato e passa.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Product or interface
CLI - headless
Version
Source commit 4401b0edb0e6ad753d3952b75a31ec87807b6aab; Node.js 24.14.1; pnpm 11.7.0.
Platform
Windows x64, OS build 10.0.26200.
Issue area
Other — execution timeout handling.
Steps to reproduce
The headless parser accepts --timeout 2147483648ms and --timeout 600h
because both convert to positive safe integers. The value is forwarded as
policy.timeoutMs, then passed directly to Node's setTimeout:
A minimal check of the underlying Node behavior, with no provider or credentials:
const start = performance.now();
setTimeout(() => console.log('unexpected early expiry:', performance.now() - start), 2147483648);
I also tested the complete pinned invocation and coordinator executable bodies
after Node's TypeScript transformation, using real Node timers and a synthetic
conversation port that finishes after 40 ms. The port records abortSession
calls; no model, network, tool or stored session is used. Three repeats each:
| Parsed timeout | Coordinator result | Abort reason |
|---|---|---|
2h |
succeeded | none |
2147483647ms |
succeeded | none |
2147483648ms |
timeout | timeout |
600h |
timeout | timeout |
This is an isolated component reproduction, not a built-CLI, live-provider,
interactive-TUI or ACP acceptance test. No actual 25-day execution is needed.
Expected and actual behavior
Expected: reject unsupported durations before starting a run, or preserve the
requested deadline using bounded timer intervals.
Actual: larger accepted durations cancel the run almost immediately. Node
clamps values above 2147483647 to 1 ms, as documented in
its timer API.
The coordinator separately forwards a deadline about 25 days in the future,
so the immediate local cancellation contradicts that deadline.
This affects unusually large timeout values; ordinary hour-scale controls passed.
Redacted error summary
TimeoutOverflowWarning: 2147483648 does not fit into a 32-bit signed integer.
Timeout duration was set to 1.
Before submitting
- I have searched existing issues.
- I have included my version and removed sensitive information.
- Lingua principale
- TypeScript
- Stelle
- 2k
- Fork
- 250
- Merge medio
- 7h 37m
- PR unite (30g)
- 147
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 MiniMax-AI/minimax-code
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
MiniMax-AI/minimax-code#473 ·
I maintainer di solito rispondono entro 1 giorno
-
bug cli documentation needs-triage
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
MiniMax-AI/minimax-code#299 · 3 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
bug cli needs-triage
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
MiniMax-AI/minimax-code#128 · 2 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
bug desktop
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
MiniMax-AI/minimax-code#87 · 2 commenti · 2 reazioni ·
I maintainer di solito rispondono entro 1 giorno
-
bug desktop needs-triage
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
MiniMax-AI/minimax-code#80 ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di MiniMax-AI/minimax-code
Issue simili
-
Dependencies view: `getParent` loops forever on untitled documents, extension host runs out of memoryForse già presa Una pull request collegata a questa issue è aperta o già unita. Apertabug
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
I maintainer di solito rispondono entro 1 giorno
-
bug
Difficoltà 2/5 Meno di un'ora Idoneità per principianti 82/100
awslabs/visual-asset-management-system#413 ·
I maintainer di solito rispondono entro 1 giorno
-
bug confirmed perf
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
videojs/video.js#9400 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
bug pending triage scope/agent
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 82/100
I maintainer di solito rispondono entro 1 giorno
-
good first issue hacktoberfest
Difficoltà 2/5 Mezza giornata Idoneità per principianti 70/100
HelpCode-ai/anythingmcp#996 ·
I maintainer di solito rispondono entro 1 giorno