注目★★★★★Hacker News
ripgrep 15.2.0 の musl バイナリ、大規模検索時に segfault 発生
30秒で把握
- 1ripgrep 15.2.0 musl バイナリが大規模検索で segfault・musl mallocng のヒープチェック時に crash
- 220 GB・180 万ファイル規模で再現・24 コア並行処理で約 1 分で発生可能
- 3OpenAI Codex 同梱・Alpine/musl 環境での使用チームは glibc 版移行またはバージョン待機の検討必須
要約
ripgrep 15.2.0 の x86_64-unknown-linux-musl バイナリが、大規模なディレクトリツリーを高い並行性で検索する際に SIGSEGV (segmentation fault) を起こす問題が報告された。musl の mallocng アロケータ内のヒープメタデータ整合性チェック (opendir の calloc 呼び出し) でクラッシュが発生する。20 GB 規模・180 万ファイルのツリーで再現でき、24 コア環境では約 1 分で fault が生じることが確認されている。backtrace から std::sys::fs::unix::readdir と ignore::walk モジュールの並行処理が関係しており、メモリ管理や並行ディレクトリ走査の深さが要因と推定される。
あなたへの影響
OpenAI Codex にも同じ ripgrep バイナリが組み込まれているため、大規模リポジトリ検索を行うツール・IDE・CI/CD パイプラインが影響を受ける可能性がある。
推奨:musl ベース Docker イメージや Alpine Linux 上で ripgrep を使う場合、大規模検索時の crash リスクがあり、glibc バイナリへの切り替えや修正待機を検討すべき。