編集部からのお知らせ
新着! 記事まとめ集「銀行のITビジネス」
EDRの記事まとめダウンロードはこちら

トーバルズ氏、「Linux 5.12 rc1」の“非常に厄介”なバグを修正

Steven J. Vaughan-Nichols (Special to ZDNet.com) 翻訳校正: 編集部

2021-03-10 13:43

 米オレゴン州ポートランドで暮らすLinuxの生みの親、Linus Torvalds氏にとって、この1週間はいつもとは違う週だった。

 まずは週の大部分を雪嵐に襲われた。それでも最新の「Linuxカーネル5.12」の最初のリリース候補(RC1)をリリースしたが、これはすぐに深刻な間違いだったことが明らかになる。このリリースはLinuxカーネルのテスト用に公開されたものだったが、結果としてテストシステムを破壊しかねない深刻なバグが含まれていることが判明した。バグは現在、修正済みだ。

 Torvalds氏がLinuxカーネルメーリングリスト(LKML)に投稿した説明によれば、原因はファイルシステムを消去しかねない、「非常に良くない(double ungood)」ミスにあった。

 Torvalds氏の説明はこうだ。「今回のマージウィンドウで行ったコードのクリーンアップと単純化の作業は非常に刺激が少ないもので、問題を感じるようなことはなかったが、その中には捉えにくく非常に厄介なバグが存在していた。そのバグは、スワップファイルが正常に動作しなくなるというものだ。そして、スワップファイルの開始地点のオフセットが失われていたという、非常に深刻な形で動作を停止していた。スワッピングは行われていたが、ファイルシステムの間違った部分に書き込まれ、破滅的な結果が生じた」

【併せて読みたい関連記事】

「Linux 5.12 rc1に厄介なバグ」、トーバルズ氏が警告
「Linux 5.12 rc1に厄介なバグ」、トーバルズ氏が警告

 つまり、今回のRC1を実行してメモリーが不足すると、コンピューターはアイドル状態のデータやプログラムをスワップファイルに書き出す。これ自体は大規模なLinuxシステム上では毎秒のように起きていることだが、今回のバグではデータがスワップファイルに安全に書き出されるのではなく、既存のファイルを上書きしてしまうため、コンピューターが動作しなくなる。

 Torvalds氏はこう説明する。「ファイルシステムが基本的にランダムなスワップデータで上書きされてしまうことになる。これは、この業界では『double ungood』と呼ばれるものだ」

 Torvalds氏は続ける。「このバグはあまり分かりやすいものではなく、通常のテストでは発見されなかった。それはスワップファイルが正常ではなかったからだった。私は問題の開発者を非難しているのではないし、マージウィンドウのタイミングが悪かったからでもない。単純に、滅多にない厄介なバグだったというだけのことだ」

 Torvalds氏は、今回のバグが全ての開発者に周知されることを希望している。「最初にリリースされるRC1は、その後のどのバージョンのRCよりもバグが多いものだが、率直に言って、今回のバグに比べればたいていのバグは取るに足らない」

 「近年のRC1はほとんどが安定していたので、新しいコードには深刻なバグが含まれる可能性があることが忘れられている可能性がある」とTorvalds氏は警告する。

 最大の問題は、一部の人がこれまでの経験からRC1を信頼し、「“RC1が出たから、一足早く移行して次のリリースを開発しよう”と考えることだ。しかし今回はやめてほしい。自分の環境ではパーティションを設定しているから問題が起きなくても、別の人の環境では悲惨な事態を引き起こす可能性がある」

 それがIntelのケースだ。IntelはRC1を画像関連の継続的インテグレ-ション(CI)システムに利用しており、その結果、ファイルシステムが破壊された。

 一連の問題、特にスワップの問題に対処するために、Torvalds氏は次のRCバージョンとなるLinux 5.12-rc2を前倒しで公開した。

 これで事態は終息に向かうだろう。しかし、われわれは今回の事態を警告としなければならない。RCはあくまでもリリース候補であって、本番システムに使用すべきではない。LinuxのRCで問題が起きることは非常にまれだが、今回の例が残酷な形で浮き彫りにしたように、「まさか」は起きる。

この記事は海外Red Ventures発の記事を朝日インタラクティブが日本向けに編集したものです。

ZDNet Japan 記事を毎朝メールでまとめ読み(登録無料)

特集

CIO

モバイル

セキュリティ

スペシャル

NEWSLETTERS

エンタープライズ・コンピューティングの最前線を配信

ZDNet Japanは、CIOとITマネージャーを対象に、ビジネス課題の解決とITを活用した新たな価値創造を支援します。
ITビジネス全般については、CNET Japanをご覧ください。

このサイトでは、利用状況の把握や広告配信などのために、Cookieなどを使用してアクセスデータを取得・利用しています。 これ以降ページを遷移した場合、Cookieなどの設定や使用に同意したことになります。
Cookieなどの設定や使用の詳細、オプトアウトについては詳細をご覧ください。
[ 閉じる ]