[Bug]: exec timeouts above the Node timer limit cancel almost immediately
Les mainteneurs répondent en général sous 1 jour
Une pull request liée a déjà été fusionnée.
- #448 par @yujiachen-y — fusionnée
Évaluation
- Difficulté
- 2/5
- Temps estimé
- 1-3 heures
- Accessibilité débutants
- 78/100
- Type d'issue
- Bug
- Clarté
- Clairement spécifiée
- Activité
- Active
- Stack technique
- node.js, typescript
- Domaine
- cli
Piste de recherche
Commence dans packages/tui/src/headless/invocation.ts (l'analyseur de timeout autour de L402-419), puis suis policy.timeoutMs à travers packages/tui/src/headless/runner.ts (L249-261) jusqu'au setTimeout final dans packages/tui/src/application/run-coordinator.ts (L198-204). Décide où faire respecter la limite de 2147483647 ms de Node : rejeter les durées trop grandes au moment de l'analyse ou limiter/boucler avec des intervalles de minuteur bornés. Terminé lorsque --timeout 2147483648ms et --timeout 600h n'expirent plus immédiatement, et qu'un test reproduit le comportement de débordement signalé et passe.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
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.
- Langage dominant
- TypeScript
- Étoiles
- 2k
- Forks
- 259
- Merge moyen
- 14 h 20 min
- PR mergées (30 j)
- 56
Préparer son environnement
- Aucun Dockerfile ni fichier Docker Compose
- Propose un modèle de pull request
- Lire le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de MiniMax-AI/minimax-code
-
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
MiniMax-AI/minimax-code#507 ·
Les mainteneurs répondent en général sous 1 jour
-
bug needs-triage tui
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
MiniMax-AI/minimax-code#481 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
bug cli documentation needs-triage
Difficulté 2/5 1-3 heures Accessibilité débutants 84/100
MiniMax-AI/minimax-code#299 · 3 commentaires ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 35/100
MiniMax-AI/minimax-code#540 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 4/5 3-5 jours Accessibilité débutants 38/100
MiniMax-AI/minimax-code#539 ·
Les mainteneurs répondent en général sous 1 jour
Toutes les issues de MiniMax-AI/minimax-code
Issues similaires
-
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
cline/cline#15327 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
LogicLabs-OU/OpenArchiver#509 ·
-
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
bigcapitalhq/bigcapital#1545 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 76/100
-
bug
Difficulté 2/5 1-3 heures Accessibilité débutants 83/100
Les mainteneurs répondent en général sous 1 jour