パスワードを忘れた? アカウント作成
10398739 story
バグ

新208.5日問題、LinuxカーネルのバグとXeonのバグの合わせで発生 42

ストーリー by hylom
前提条件が崩れちゃった 部門より

かつてLinuxカーネルで発見され修正されていた「起動後208.5日経過すると勝手に再起動する」不具合が、完全には直っていなかったことが明らかになったようだ(新208.5日問題 - Systems with Intel® Xeon® Processor E5 hung after upgrade of Red Hat Enterprise Linux 6M)。

新たに発見された問題はXeon E5シリーズのCPUのみで発生するもので、「起動後208.5日経過すると勝手に再起動する」ではなく、「最後に電源停止を行ってから208.5日経過後に再起動を行うと再起動時にハングアップする」というもの。

そもそもの問題(Red Hatのサポートページ)は、駆動クロックに応じてカウントアップされるCPUの「Time Slice Stamp Counter(TSC)」というカウンタに対する処理と、この値を使ったスケジューラのコードにおける処理が不適切だったことで発生していた(この問題を解説したokky氏のブログ;)。

この問題は、スケジューラの処理を変更することで対処されたのだが、同様のコードがカーネルの起動時に使われており、かつXeon E5シリーズではwarm reset時にTSCのカウント値がリセットされない、という不具合が存在していたため、これらが重なってカーネルの起動時にハングアップするという問題が発症することとなったようだ。

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
  • サイドに電源停止、ってところで意味が分からず一分ほど黙考。
    あきらめて最後まで読むとWarmresetの話が出てくるので、これは”最後に電源停止”の意味か。と気づく。
    ここまで3分。

  • というか、どうしてこれだと発見できたのか、そこを知りたい…

    --
    fjの教祖様
    • by Anonymous Coward

      CPUのBugはIntelが公開していますよ。

      • うん、でも最初に何かしら症状があって、そこからCPUを疑って…で、Intel に報告。
        Intelは調査して、「うわバグじゃん」となったわけですよ。

        最初に「CPUを疑って」辺りに到達するまでのストーリーを知りたい、と言っているのさ。

        最初に Intel の bug list があったわけではあるまい。

        --
        fjの教祖様
        親コメント
        • by Anonymous Coward

          再起動後にTSCを表示させれば、おかしいことには気付くのでは。案外偶々見つかったのかも

          • by Anonymous Coward

            何か修正しようとコードを読んでた人がたまたま以前fixされたバグと同じコードを見つけて、さらにその人がたまたまGEONのバグの話も知っていた、という方かも。

        • by Anonymous Coward

          勘違いかもしれないけど、最初にIntelのbug listあったんじゃないですかね
          IntelのSpecification UpdateのRevision History見ると、April 2012で"Added Errata BT176-BT207"です
          該当のBT81はそれより前なら、March 2012?

          • by Anonymous Coward

            たぶん元※の人は
            「linux のバグの追及に最初にバグリストありき」を否定しているんじゃなくて、
            「intelのバグリストに最初にバグリストありきじゃないでしょ」って言ってるんでは?

            つまり。「intelのバグリストに載せた時の追及した人をたたえたい」っていみかなぁと。

            • by Anonymous Coward

              いや、2012/3だと、発売時には既に公開されたたといいたかっただけです
              つまり、intelのエラッタ表に最初からあった項目のはずで、発見/追及したのはintel自身の可能性が高いんじゃないかなと

              • by Anonymous Coward

                で、そのIndel自身はどうやって発見/追求したんだい?

              • by Anonymous Coward

                ハード側の問題なので、ソフト側から見つける以外の可能性もあるでしょう
                当然、テストだって観点もやり方も違うでしょうし

                大体、出荷時点でエラッタ表に載っているものの大半は、ソフトウェア側から見たらよく気づいたなレベルの話ですよ

              • by Anonymous Coward

                専門のテスト部隊を持っているところなら、その部隊が仕様に基づいて
                論理設計部隊と独立して膨大なテストシナリオを作り、
                シミュレーションなり実機評価なりで検証していきます。

                驚くほどのことはありません。

              • ひょっとして、検証が量産出荷に間に合わなかったから見切り発車で出したのかも。CPUだとたまによくあるような。

                親コメント
              • by Anonymous Coward

                Core-i7(Sandybridge-E)と比較すればわかるのですが、これ、Intelはかなり以前から検出済みの事象です。
                http://www.intel.co.jp/content/dam/www/public/us/en/documents/specific... [intel.co.jp]

                Sandybridge-Eの方はBS71.(TSC is Not Affected by Warm Reset)が該当し、これは2011/11の出荷時点でErattaに存在します。
                ちなみにこっちはXeon E5の方では致命傷として扱われたBS90.(Xeonの方だとBT98.)が未修正で出荷され

  • by Anonymous Coward on 2013年12月25日 20時09分 (#2517791)

    起動にしてから初期化プロセスが走るまでの時間が208.5日を超えると落ちるわけね。
    普通はそんなことありえんから放っといたら、Xeon E5シリーズだとバグで再起動時にtscがリセットされなかったと。

    • by Anonymous Coward

      まあこれをLinuxカーネルのバグというのはちょっとかわいそうな気もする。
      tscがリセットされるのが仕様ではなく、単に既存実装のふるまいだったとかなら別だけど。

      • by Anonymous Coward

        こんなに歴史と伝統があるintelのCPUでも
        こんなところのテスト漏れなんてあるんだねぇ。

        • by Anonymous Coward

          有名どころではPentiumのFDIVバグとかこれまでもいろいろやらかしてますがな

    • by Anonymous Coward

      リンク先の最後に

      > kexec時も同様の問題が起きるはずですので、ご注意ください。

      って書かれているのに気づいてる?

      kexec であれば Xeon E5 シリーズでなくても発生する筈だし、 kernel panic 発生時の
      kdump 取得のために cold reset を経由させるわけにもいかないし。

      この問題は、例えば Ubuntu 12.04 リリース時点( 2012-04-11 の 3.2.0-23.36
      カーネル)にも存在していたけれど、 Ubuntu さんの対応が早かった( 2012-05-01 の
      3.2.0-24.38 カーネルで修正された)ので、未だにリリース時点のカーネルを
      使い続けている人以外は引っかからないことでしょう。しかし

  • by Anonymous Coward on 2013年12月25日 22時08分 (#2517838)

    「横並びの漏れ」ですな。

  • by Anonymous Coward on 2013年12月25日 23時07分 (#2517875)

    この手の問題が起こらないように再起動時はcold resetを行うもんだと思っていましたが・・・
    linuxはイマイチですね

    • by Anonymous Coward

      cold resetを行うとBIOSの問題を引く可能性があります、intelとマザーボードベンダどっちが信用できますか

      • by Anonymous Coward

        この「208.5日問題」が問題になるような環境なら、動作検証済みのHWが使われているのでは?

        • by Anonymous Coward

          動作検証してればそもそも気づくだろ。

  • by Anonymous Coward on 2013年12月26日 0時32分 (#2517906)

    > Time Slice Stamp Counter(TSC)
    Time Stamp Counter じゃないの?

  • by baldmage (45440) on 2013年12月26日 16時17分 (#2518295) 日記

    OSSなら安全(爆笑)

typodupeerror

私はプログラマです。1040 formに私の職業としてそう書いています -- Ken Thompson

読み込み中...