DuckDB helper crashes lose their cause and are reported as a "row cap clamp" in sql_materialize
メンテナーはふだん 1 日以内に返信
まだ誰も着手していません。
評価
- 難易度
- 3/5
- 見積もり時間
- 半日
- 初心者へのやさしさ
- 55/100
- issue の種類
- バグ
- 明瞭さ
- おおむね明確
- 活発さ
- 活発
- 技術スタック
- sql, typescript
調査の方向性
Start in packages/drivers/src/local-engine.ts: the helper is spawned with stderr ignored near line 416, and the exit handler near line 438 reports only a generic message, so capture stderr and the exit code/signal there. Then check packages/opencode/src/altimate/tools/sql-materialize.ts around lines 321-328, where a failed pre-flight count is reported as a row cap clamp. Done when killing the helper with SIGKILL produces an error naming the signal, and a pre-flight crash in sql_materialize surfaces as a crash rather than a cap clamp.
索引モデルが issue の本文から書いたものです。
説明
Problem
When the DuckDB helper process dies (typically out of memory on a heavy join), the tool reports only "helper process exited unexpectedly"; in sql_materialize the crash occurs during the pre-flight count and is presented as a cap problem.
Mechanism
- The helper is spawned with
stderr: "ignore"(packages/drivers/src/local-engine.ts:416); the exit handler reports only "helper process exited unexpectedly" (:438) without exit code or signal. - In
sql_materializethe failed count falls into "Pre-flight estimate unavailable (...); extraction row cap clamped to 200,000 rows" (packages/opencode/src/altimate/tools/sql-materialize.ts:321-328). - No DuckDB
memory_limitortemp_directoryis set.
Evidence
7 crashes in 7 sessions, each after 32-150 s (about 460 s total), all from json_each over a 277,813-row scratch table with correlated EXISTS/LIKE. Scratch tables survived (the file database reopened), and each crash restarted the helper.
Impact
About 460 s of wasted time; the model cannot tell OOM from a bad query, and the misleading cap message hides the cause.
Proposed fix
- Capture helper stderr and exit code/signal; report "DuckDB helper killed (signal / out of memory)".
- Configure
memory_limitandtemp_directorysized to the host. - Never describe a crash as a cap clamp; propagate the crash error.
Acceptance check
Killing the helper mid-query (SIGKILL) yields an error naming the signal; a pre-flight crash in sql_materialize surfaces as a crash, not a cap clamp.
- 主要言語
- TypeScript
- スター
- 810
- フォーク
- 121
- 平均マージ
- 1日 10時間
- マージ済み PR(30日)
- 89
環境構築
このプロジェクトの開発コンテナを、あなたの GitHub アカウントでブラウザ上に起動します。
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートあり
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
AltimateAI/altimate-code のほかの issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
AltimateAI/altimate-code#1454 ·
メンテナーはふだん 1 日以内に返信
-
test: MCP tests fail when the developer's ~/.claude.json has MCP servers (HOME is not sandboxed)オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
AltimateAI/altimate-code#1386 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 84/100
AltimateAI/altimate-code#1384 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 84/100
AltimateAI/altimate-code#1323 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 86/100
AltimateAI/altimate-code#1288 ·
メンテナーはふだん 1 日以内に返信
AltimateAI/altimate-code の issue をすべて見る
似ている issue
-
area:security documentation effort:S priority:P2
難易度 2/5 1〜3時間 初心者へのやさしさ 65/100
メンテナーはふだん 1 日以内に返信
-
app:web meta:ops
難易度 2/5 半日 初心者へのやさしさ 78/100
osu-tournament-rating/otr#1113 ·
メンテナーはふだん 1 日以内に返信
-
bug
難易度 2/5 1〜3時間 初心者へのやさしさ 82/100
-
難易度 2/5 1〜3時間 初心者へのやさしさ 65/100
typegoose/mongodb-memory-server#1040 ·
-
bug
難易度 2/5 1〜3時間 初心者へのやさしさ 92/100