ripgrep の musl バイナリ、大規模検索でまれにセグフォ
RipGrep musl binaries occasionally segfault during very-large searches
ripgrep 15.2.0 の x86_64-unknown-linux-musl 向けバイナリが、大規模なディレクトリツリーを高並列で検索する際にまれに SIGSEGV でクラッシュする問題が報告されました。クラッシュは musl の mallocng のヒープメタデータの整合性チェックで発生し、opendir 内の calloc 呼び出しが原因です。再現には約 20GiB、180 万ファイルのツリーが必要で、24 コアのシステムで約 1 分で発生します。開発者はデバッグシンボル付きで再現し、コアダンプとバイナリを添付しています。
私の 24 コアシステムで、検索ツリーがカーネルのブロックキャッシュに収まるだけの空き RAM がある場合、SIGSEGV が現れるまで通常約 1 分かかります。