標準入力(Ubuntu)で実行すると、GNU Linux "sort -g"が無期限に中断される可能性があります。

標準入力(Ubuntu)で実行すると、GNU Linux

次のコマンド(Ubuntu 20.04および22.04):

dd if=/dev/urandom count=800000 bs=1 | od -An -t f4 -w4 | sponge | sort -g

GNUソートコマンドはCPUの100%を占めることで無期限に停止することができます。この問題の原因は何かを理解していません。ただし、これはソートするファイルがstdinから入力された場合にのみ発生します。

ベストアンサー1

これは明らかに間違いです。

これは「私」が明らかに悪い位置に登場するためだ。

これはうまくいきます(例より100倍大きいですが、すべてのnを削除します)。

dd if=/dev/urandom count=80000000 bs=1 | od -An -t f4 -w4 | sponge | grep -v nan | time sort -g |tail

このエラーは、次の場合に発生する可能性があります。

yes nan | head -n128095 | timeout 5 sort -g

クレイジーな部分はこれがうまくいくということです。

yes nan | head -n128095 > nan
timeout 5 sort -g < nan
timeout 5 sort -g nan

バグレポートをお持ちですか?

おすすめ記事