Ripgrep の Musl バイナリが超大規模検索中に稀にシグナルセグメンテーションフォルトする

2026/08/01 21:34

Ripgrep の Musl バイナリが超大規模検索中に稀にシグナルセグメンテーションフォルトする

RSS: https://news.ycombinator.com/rss

要約

Japanese Translation:

Ripgrep バージョン 15.2.0 は、OpenSUSE Tumbleweed 上で MUSL C ライブラリを使用して巨大なファイルツリーを処理する際、最近 SIGSEGV エラーによってクラッシュしました。クラッシュは、高コンカレンシーワークロードの取り扱い中にディレクトリ操作のためのメモリアロケーション時に発生します。分析の結果、根本原因は

mallocng
関数内の整合性アサーション failure であり、
opendir
内の
calloc
コールによって引き起こされました。この問題は、標準的な x86_64 システム上で約 20 GB のデータをほぼ 200 万件のファイルを処理した後に現れます。したがって、この特定のワークフローを試みるユーザーは、アプリケーションが失敗し、動作開始から約 1 分後にコアダンプファイルが発生すると予想されます。この不安定性は、MUSL libc に依存する環境で大規模なファイルインデックス化のために ripgrep を使用する開発者に対して即座の信頼性リスクを生じさせます。問題は、根本的なバグが修正されるか、ライブラリへの依存関係が更新されるまで継続します。それまでの間、これらの特定の構成内での極めて大きなディレクトリ構造における高コンカレンシー検索は信頼できず、突然の失敗に陥りやすく、重要なメタデータ操作を事実上機能停止させてしまいます。

注意:提供されたサマリーはクラッシュについて技術的に正確ですが、バイナリの起源(OpenAI Codex)、分析に使用された特定のビルドフラグ、そして正確な再実行手順については文脈を含んでいません。

本文

ripgrep における MUSL mallocng ヒープ整合性チェックによる SIGSEGV バグ報告

環境情報

以下のシステム構成とソフトウェアバージョンにて、問題が発生しました。

  • ripgrep バージョン: 15.2.0 (コミット
    e89fff8
    )
  • 追加機能: PCRE2 (+pcre2)
  • SIMD サポート:
    • コンパイル時:SSE2 (+), SSSE3 (-), AVX2 (-)
    • 実行時:SSE2 (+), SSSE3 (+), AVX2 (+)
  • PCRE2 バージョン: 10.45 (JIT 有効)
  • OS: OpenSUSE Tumbleweed Linux x86_64

インストール方法と再現経緯

本バグは、OpenAI Codex にバンドルされた「rg」にて最初に遭遇しました。該当バイナリは、BurntSushi/ripgrep リリースページ のものとバイト単位の同一性を確認しています。

依存関係なしに独立してバグを再現可能であり、以下のコマンドを使用してデバッグシンボル付きの

rg-15.2
を再構築し分析を行いました:

CROSS_CONTAINER_ENGINE=podman CARGO_PROFILE_RELEASE_DEBUG=true ~/.cargo/bin/cross build --release --target x86_64-unknown-linux-musl

バグの詳細説明

x86_64-unknown-linux-musl 向け ripgrep は、大きなツリーを高並列度で検索する際に稀にクラッシュします。原因は以下です:

  • 根本原因: MUSL の
    mallocng
    モジュール内のヒープメタデータに関する整合性断言の失敗
  • 症状:
    SIGSEGV
    (セグメンテーション・フォルト)
  • 発生箇所:
    opendir
    から呼び出された
    calloc
    呼び出しにおいて、上記の整合性チェックが破綻する

再現手順

大規模な検索ツリーを用意することが必須条件です。

1. ツリー生成

LLM で作成されたスクリプト

generate_repro_tree.py
を実行して、約 20GiB の巨大なツリー(総ファイル数 1.8M)を生成します:

python3 generate_repro_tree.py

2. クラッシュ誘発

生成したツリーのルートディレクトリから存在しない文字列を指定し、

rg
をループ実行します:

while true; do rg tnoheueunotshisnthukoethnsueothnsiuothonesuioseuinth; done
  • 環境: 24 コアシステム (RAM を十分確保)
  • 発生頻度: 約 1 分後
    SIGSEGV
    が出現

バックトレース (coredump)

クラッシュ時のスタック情報です:

#0  get_meta () at ../src_musl/src/malloc/mallocng/meta.h:141
#1  __malloc_allzerop () at ../src_musl/src/malloc/mallocng/malloc.c:384
#2  0x00007f71f8381b2d in calloc () at ../src_musl/src/malloc/calloc.c:41
#3  0x00007f71f83810f4 in opendir () at ../src_musl/src/dirent/opendir.c:15
#4  0x00007f71f835c133 in std::sys::fs::unix::readdir::{closure#0} (...)
    at library/std/src/sys/fs/unix.rs:2081
#5  std::sys::helpers::small_c_string::run_with_cstr<...> (...)
    at library/std/src/sys/helpers/small_c_string.rs:48
#6-#19 (Rust の内部パニック処理関連)
    at library/std/src/panicking.rs:xxx
#20 std::panic::catch_unwind<..., ()> (...)
    at library/std/src/panic.rs:359
#21-#26 (スレッド開始処理)

補足: 実際の core dump ファイルも添付されています。

期待される動作

  • 正常な動作: セグメンテーション・フォルト (
    SIGSEGV
    ) にならないこと

同じ日のほかのニュース

一覧に戻る →

2026/08/02 7:25

正しい質問さえすれば、AI ファイナンシャルアドバイスの精度は驚くほど高い

## Japanese Translation: 人工知能(AI)は、人間のアドバイザーに見られるコスト、偏見、利益相反を回避して利用者を支援する安価な財務指導を提供しますが、監督なしでその自動的なアドバイスに従うと、壊滅的な資産損失を引き起こす可能性があります。MIT スローン校およびスタンフォード大学の学者による最近の研究では、現在の AI モデルには失業のような急激な経済ショックに適応するためのニュアンスが欠けており、たとえ蓄積があるにもかかわらず、大規模な支出削減を誤って推奨する傾向にあることが明らかにされています。さらに、これらのモデルはアクティブなポートフォリオ再調整で困難に遭遇し、状況の変化に合わせて調整する代わりに漂う(ドリフトする)傾向があります。この制限はデータへのアクセス不足ではなく、プロンプトエンジニアリングの不備およびモデル自体の偏見に起因します。 22 歳から 89 歳までの個人を追跡する大規模なシミュレーションでは、構造化されていない AI との相互作用への依存により、60 歳までに格差が大幅に拡大しました。具体的には、女性や財務リテラシーが低い利用者は、プロンプトの作成方法においてもモデルによる解釈方法においても存在する性別偏見により、純資産が最大で 10 万ドル減少するという結果を示しました。専門家は、取引に基づく AI 指示のみを頼りにし、事前にリテラシー教育を受けていない場合に、最も脆弱なグループに対しては、予測される資産の約 6% に相当する複合的な損失が発生する可能性があるとして警告しています。したがって、本研究では AI を主に財務理解を構築するための手段として利用すること、および企業側が製品説明がますます独立した推奨事項を生み出し、従来のマーケティングの防護策を回避する可能性に留意しなくてはいけないことを提言しています。

2026/08/02 5:33

ダイタキシス

## Japanese Translation: Diátaxis は、ユーザーニーズ、コンテンツ、スタイルおよびアーキテクチャに対応しながら、堅固な実装制約を課さずに高品質な技術文書の作成を行うための体系的で軽量なフレームワークです。その核心的な強みは、チュートリアル、ハウツーガイド、技術リファレンス、説明という 4 つの異なる情報タイプを分類し、読者の意図と整合させるためにこの構造を中心にコンテンツを整理することにあります。この能動的品質原則は、情報アーキテクチャを簡素化し発見可能性を高めるシンプルなアプローチを提供することで、作成者とユーザーの双方に力を付与します。Diátaxis は数百プロジェクトで成功裏に採用されており、Cloudflare などの組織のリデザインにおいて「北極星」として機能しています。具体的な事例では、Vonage においては Greg Frileux が貢献者から愛されている内部ドキュメントの構築に役立ったことを指摘し、Gatsby においては Megan Sullivan がオープンソースリソースを再編成して発見しやすくしたことが挙げられます。結局のところ、Diátaxis はドキュメントが読者に直接的な価値を提供するとともに、明確で構造化されたコンテンツを通じて企業が貢献者を保持するのを支援します。

2026/08/02 5:45

シードダンス 2.5

## Japanese Translation: ByteDance が、長編ストーリーテリング、精密な編集、そして高度なマルチモーダル参照における画期的な進歩によりコンテンツ制作を革新することを目的とした次世代の動画生成モデル「Seedance 2.5」を正式にローンチしました。本モデルは、1 つのパスで高品質な 30 秒間のオーディオ・ビデオクリップを生成し、複数ラウンドの拡張をサポートして一貫性のある数分の長編ナラティブを作成できます。ユーザーはガイドとして最大 30 枚の画像、10 クリップ分の動画、または 10 クリップ分のオーディオを入力でき、テクスチャレスな 3D モデルを使用して複雑な空間構造を構築する際に役立つ粘土レンダリング参照も使用可能です。Seedance 2.5 はオーディオとビデオの精密な編集のためにタイムスタンプレベルの制御を導入し、グリーンスクリーンやカメラ視点変更などの機能を増強しつつ、カット間での対象物の安定性とビジュアル同期を保証します。システム最適化により、物体のテクスチャ、肌/目の特徴、物理法則に従う照明などといった視覚的な詳細が向上し、AI 動画に一般的な人工的な外見を大幅に軽減します。本技術は、歴史および科学的文脈向けの没入型教育シミュレーション、ロボットトレーニング用の合成データ生成、自動運転車両向けの極端な気象シナリオの安全なシミュレーションなど多様な用途への展開を可能にします。本日、Jimeng AI と Doubao Pro でお利用可能で、より広範な API アクセスは間もなく BytePlus ModelArk を介して提供されます。本モデルは、将来的な運動の妥当性と複雑なシーンにおける安定性の向上のための基盤を築きます。

Ripgrep の Musl バイナリが超大規模検索中に稀にシグナルセグメンテーションフォルトする | そっか~ニュース