[Bug]: exec timeouts above the Node timer limit cancel almost immediately
メンテナーはふだん 1 日以内に返信
まだ誰も着手していません。
評価
- 難易度
- 2/5
- 見積もり時間
- 1〜3時間
- 初心者へのやさしさ
- 78/100
- issue の種類
- バグ
- 明瞭さ
- 明確に書かれている
- 活発さ
- 活発
- 技術スタック
- node.js, typescript
- 領域
- cli
調査の方向性
まず packages/tui/src/headless/invocation.ts(L402-419 付近のタイムアウトパーサー)から始め、次に policy.timeoutMs を packages/tui/src/headless/runner.ts(L249-261)経由で packages/tui/src/application/run-coordinator.ts(L198-204)の最終的な setTimeout まで追跡する。Node の 2147483647 ms の制限をどこで強制するかを決めること: パース時に大きすぎる期間を拒否するか、上限のあるタイマー間隔でクランプ/ループさせるか。--timeout 2147483648ms と --timeout 600h が即座に期限切れにならなくなり、報告されたオーバーフロー挙動を再現するテストが通れば完了。
索引モデルが issue の本文から書いたものです。
説明
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.
- 主要言語
- TypeScript
- スター
- 2k
- フォーク
- 250
- 平均マージ
- 7時間 9分
- マージ済み PR(30日)
- 133
環境構築
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートあり
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
MiniMax-AI/minimax-code のほかの issue
-
bug needs-triage tui
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
MiniMax-AI/minimax-code#393 · コメント 3 件 ·
メンテナーはふだん 1 日以内に返信
-
bug cli documentation needs-triage
難易度 2/5 1〜3時間 初心者へのやさしさ 84/100
MiniMax-AI/minimax-code#299 · コメント 3 件 ·
メンテナーはふだん 1 日以内に返信
-
bug cli needs-triage
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
MiniMax-AI/minimax-code#128 · コメント 2 件 ·
メンテナーはふだん 1 日以内に返信
-
bug desktop
難易度 2/5 1〜3時間 初心者へのやさしさ 82/100
MiniMax-AI/minimax-code#87 · コメント 2 件 · リアクション 2 件 ·
メンテナーはふだん 1 日以内に返信
-
bug desktop needs-triage
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
MiniMax-AI/minimax-code#80 ·
メンテナーはふだん 1 日以内に返信
MiniMax-AI/minimax-code の issue をすべて見る
似ている issue
-
Tenant
難易度 2/5 1〜3時間 初心者へのやさしさ 66/100
MTES-MCT/Dossier-Facile-Frontend#2061 ·
メンテナーはふだん 1 日以内に返信
-
area:frontend
難易度 2/5 1〜3時間 初心者へのやさしさ 65/100
interledger/publisher-tools#905 ·
メンテナーはふだん 1 日以内に返信
-
Add: Cbeebies PL SDオープンapproved check:passed streams:add
難易度 2/5 1〜3時間 初心者へのやさしさ 65/100
iptv-org/iptv#54525 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
DB-plane provider_chat_options.* is accepted by config set but never merged into the loaded config対応中かも このイシューにリンクされたプルリクエストがオープン中、またはマージ済みです。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
メンテナーはふだん 1 日以内に返信
-
area:web
難易度 2/5 1〜3時間 初心者へのやさしさ 82/100
praetorianer777/GoTome#178 ·
メンテナーはふだん 1 日以内に返信