パスワードを忘れた? アカウント作成
14086730 story
Safari

ボーイング737 NGで特定の滑走路へ計器進入する際にのみ発生する問題が確認される 85

ストーリー by headless
限定 部門より
ボーイング737 NGで特定の滑走路へ計器進入する際にのみ、ディスプレイユニット(DU)の液晶パネル6枚すべての表示が消えてしまうバグが確認され、米連邦航空局(FAA)が12月27日付で耐航空性改善命令(AD)を出していたそうだ(ADThe Registerの記事)。

FAAは昨年、アラスカ・ワイリーポスト-ウィルロジャースメモリアル空港に真西方向へ計器進入するとDUの表示がすべて消え、他の滑走路を選択するまで復旧しなかったというインシデント3件の報告を受けていたそうだ。調査の結果、ディスプレイエレクトロニックユニット(DEU)とフライトマネージメントコンピューター(FMC)で、特定のバージョンのソフトウェアの組み合わせにより発生する動作だと確認された。ボーイングはソフトウェアの修正を進めているという。

影響を受けるのは全世界で7か所(米国5、コロンビア1、ガイアナ1)のみ。7か所とも西向きに進入する滑走路だが、西向きに進入する滑走路のすべてが影響を受けるわけではなく、緯度と経度の値が原因として特定されている。該当の空港に向かう定期運航便の機材では既に問題のあるDEUのソフトウェアが削除されているが、FAAでは緊急着陸やボーイングビジネスジェットのフライトに対処するためにADを出したとのことだ。
  • by Anonymous Coward on 2020年01月11日 14時16分 (#3743888)

    82V RW26
    KBJJ RW28
    KCIU RW28
    KCNM RW26
    PABR RW25
    SKLM RW28
    SYCJ RW29

    x = 270度ではsin(x), cos(x), tan(x), cot(x) が -1, 0, NaN, 0になる

    ここに返信
  • by Anonymous Coward on 2020年01月11日 13時57分 (#3743886)

    境界値ならテストして当然出だし、
    境界値でない所でバグなんてよほど変な作りでないと起き得ないし。
    問題が起きても複数モジュール全部巻き込んで落ちるとか、
    航空機用のソフト開発でそんな事態が起きるって一体全体どうなっている……

    ここに返信
    • もしボールを空中に放り投げたなら、その軌跡を確信を持って予測できる。というのも、我々は普通の状況において、ある物理法則がそこに適用されることを知っているからである。もしそのボールをもうちょっと強く放り投げただけで、ボールが飛んでいく途中で急に静止し、それからまっすぐに空高く飛んでいったりしたら、とても驚くだろう。ボールの動きをシミュレートする完全にデバッグしきれてないソフトウェアにおいては、ちょうどこの種の振舞いがいとも容易に起きてしまうのである。

      大規模なアプリケーションにおいては、数百、いや、数千の変数とともに複数の制御スレッドが存在するかもしれない。システム内部のこれら変数とその現在値と各プロセスの現在アドレスとその呼び出しスタックの完全な集合が、アプリケーションの現在の状態を決定する。ソフトウェアはデジタル・コンピュータ上で実行されるため、システムは拡散的な複数の状態を持つ。これに対して、放り投げられたボールの動きのようなアナログ・システムは連続的なシステムである。拡散的なシステムはその性質上、取り得ることが可能な有限の複数状態を持っている。大規模システムにおいては、組み合わせの爆発によって、この数がとても大きくなってしまう。

      我々はシステムをモジュール化して設計しようとする。これによってシステムのある部分の振舞いに対してできるだけ影響を与えないようにするためである。しかしながら、ここには拡散的な状態間の相転移は連続的な機能でモデル化できないという問題が残っている。外部からソフトウェア・システムに与えられるイベントはそのシステムを新しい状態に遷移させる可能性を持っているし、さらに悪いことには、状態から状態のマッピングは必ずしも決定的ではないのである。最悪の状況においては、設計者がイベント間のある相互関係を考慮し忘れていたことで、ある1つの外部イベントがシステムの状態を混乱させてしまうかもしれない。

      例えば飛行翼とその客室の環境が1つのコンピュータで管理されている旅客機を想像してみなさい。もしシート38Jの乗客が頭上のライトを点灯した途端、飛行機が急降下したら、非常に具合の悪いことになるであろう。連続的システムにおいては、この種の振舞いは起こりにくい。しなしながら、拡散的システムにおいては、全ての外部イベントはシステムの内部状態のどの部分にも影響を与える可能性が存在するのである。

      もっとも、システムを厳密にテストするのは、このようなことが起こらないようにするためなのだが、最も厳密なシステムを除けば、どのシステムに対しても徹底的なテストなど不可能である。我々は、大規模な拡散的システムの振舞いを完全にモデル化するツールも知的な能力も持ち合わせていないのだから、我々はシステムの正しさに関してある程度の信頼度を得ることで満足しなくてはならない。

    • by Anonymous Coward on 2020年01月11日 14時10分 (#3743887)

      >境界値ならテストして当然出だし、
      >境界値でない所でバグなんてよほど変な作りでないと起き得ないし。
      ここ数十年にわたるソフトウェアやハードウェアの不具合による
      システム異常は「当然だし」「起きえないし」という観点て
      テストしている結果によるものです。

      何をいっているんだ?とか、言っている意味が分からない人は
      バグという観点を学びなおした方がいいかもしれまsねn

      • by Anonymous Coward

        タイピングがバグってますよ

      • by Anonymous Coward

        それはまさにそうなんだが、あまりに自明で初歩的な境界値 [srad.jp]で起きてる現象っぽいので、
        よりにもよって航空機の開発でそんなところすらテストできない状況が発生するってのが驚きなんだよ。

        > タイピングがバグってますよ
        「当然出だし」に便乗したネタ感

    • by Anonymous Coward on 2020年01月11日 15時03分 (#3743904)

      The Registerの記事読んでみたら、248日以内に再起動しないと整数オーバーフロー発生するバグとか、エアバスだとそれが149時間のやつがあったとか書いてあるぞ。

      自動化への道は険しいのう…

      • by Anonymous Coward

        そもそも一度電源が投入されたら24時間以内に必ず何らかの方法(墜落含む)でシャットダウンされるので、そこまでの能力は必要ないのです…。

        • by Anonymous Coward

          毎回”シャットダウン”してんの?

          • by Anonymous Coward on 2020年01月12日 20時36分 (#3744200)

            旅客機は着陸後毎回電源が落とされています。
            (ただし、コネクタを物理的に外したりやブレーカーを遮断しない限りバッテリー等には常に通電しているので787で起きたような248日問題が起きうることもあります。)

    • by Anonymous Coward

      プログラミング経験少なそうなご意見.
      「境界値」という値があると思っているのか。
      バグは境界値でしか起きないと思っているのか。

      しかもこんなのは、まだまだ序の口だからね。

      • by Anonymous Coward

        > プログラミング経験少なそうなご意見.
         
        たぶんテストについて「完全に理解」してる段階。

      • by Anonymous Coward

        境界以外のバグも当然あるが、このケースに関して言えば
        不具合が発生する値と発生しない値があるんだからその境界は存在するだろ・・・
        単純な条件分岐の境界だけに限らず、複数モジュールの関係性から生まれる
        数式上の境界や式精度が限界を超える境界など、境界と一口に言っても色々ある。
        どの程度掘り下げた境界が不具合の境界だったのかは知らないが、
        磁方位270度とか思いの外わかりやすい境界で起きてるらしいし、
        「ちゃんとテスト組んだけどカバーするのが無理なくらい複雑な条件だった」
        みたいな話ではない。

        そもそも、全部の滑走路のデータ突っ込めば出てきた筈の不具合だし。

        • by Anonymous Coward on 2020年01月11日 21時12分 (#3743970)

          やたら「境界値」にこだわってるみたいだけど、方位270度は境界値じゃないし、実装上のゼロ除算バグでしょコレ。っていうツッコミだと思うの。

          • by st1100 (45287) on 2020年01月12日 15時18分 (#3744093)

            270度は、cosで0になるので、ゼロ除算バグを誘発する境界値と言えると思う。

          • by Anonymous Coward

            条件分岐やそういう特異な値の境界での動作見るのが境界値チェックでは?

            • by Anonymous Coward

              磁方位は0-360の整数なので270は特異でも境界でも真ん中でもない
              ラジアンでは3/2Pi≒4.71239でやはり特異でも境界でも真ん中でもない
              tan(3/2Pi)は特異だが入力が磁方位ならtan(3/2Pi)は計算式であって入力値ではない

              どうやっても「(境界値だから)テストして当然」という発言の後付け正当化は無理

    • by Anonymous Coward

      核ミサイルを北極上空飛ばして打ち込んでも大丈夫かとか、
      核ミサイルを赤道や緯度0°や180°超えて打ち込んでも大丈夫かとか、
      境界値テストされないまま運用されてる気がするんだが

      • by Anonymous Coward

        ちゃんと計算されてる。角度とか。

      • by Anonymous Coward

        ジンバルロックがない四元数というのがあるよ。

    • by Anonymous Coward

      「信じがたい」「当然」「起き得ない」

      ソフトウェアバグを語る素養を持ち合わせているように見えないな

      • by Anonymous Coward

        信頼性が求められる環境における体制の話として信じがたいのと、
        ソフトウェア開発でどんなバグが起きうるかの話をごっちゃにする方がどうかと………

        • by Anonymous Coward

          ソフトウェア開発で起こりうるバグは信頼性が求められる環境であっても起こりうる
          どんなに厳重に体制を構築しても確率をある程度減らすことしかできない

          • by Anonymous Coward

            90度の倍数の確認すら漏れてて厳重な体制と言えるんだ……

            • by Anonymous Coward

              そりゃインシデントがあって初めて分かった原因だから当たり前

      • by Anonymous Coward

        エンジニアのくせに自分が言ったこと書いたもの異常動作をすると勝手に怒りだすバカって意外と多いよ
        特に口頭だと「そんなのは非常識だから起こる状況が間違いなので考えなくていい」とかな

  • by Anonymous Coward on 2020年01月11日 15時16分 (#3743909)

    なにかあるのかなぁ。
    ほんとにミサイルで撃墜されたのかなぁ

    ここに返信
    • by Anonymous Coward

      イラン軍が認めて遺族に謝罪しているので、ミサイルで撃墜したのは間違いない模様

      イランが撃墜認める、主張撤回
      https://jp.reuters.com/article/idJP2020011101001408 [reuters.com]

       声明によると、イランの防衛システムが同機を敵と誤認した。対米報復攻撃の数時間後で、軍は厳戒態勢を敷いていた。

      イランの防衛システムのバグなのか、飛行機がトランスポンダを送らず敵機と誤認されたのかは知らんが。

      • by Anonymous Coward

        トランスポンダージャマー

      • by Anonymous Coward

        防空システムって民間航空用の管制システムと連携してる奴ある?
        ツングースカ(2K22)とかクーブ(2K12/SA-6 ゲインフル)を並べたら管制塔の代わりになるとか聞いたことないじゃん
        でもそういう風になってないと何回でも起きそう

    • by Anonymous Coward

      老人がこぞって買うからバンバン命中するプリウスミサイルと同じ現象
      つか欠陥を論いたいならピックルフォーク亀裂を出せよ

  • by Anonymous Coward on 2020年01月11日 17時23分 (#3743929)

    後から直せばいいや論で、最低限のテストしか出来てなかったり、
    そのつもりでスケジュール組まれてることも少なくはないしね。

    今となっては世界的企業になったはずのAppleですらも、
    つい数年前には「パスワード未入力でOK押したら誰でもroot取れる」とかいう
    初歩的かつ致命的なバグ出してたし。個人的にはすぐ対処されるんならバグとかどうでも良いわと思ってる。。

    ここに返信
    • by Anonymous Coward

      メーデー見てると、何年も前に勧告出てるのに修正せずにやらかしてる事例がちょくちょくあるんだよなぁ・・・

    • by Anonymous Coward

      737だから既存の実績のあるソフトを流用したんじゃないかと思います。
      んで、重心バランスなど変わってるのにプログラムを修正しないままノーテストでリリースしたか、
      もしくは全容を把握しないまま安易に修正して致命的なバグを作ったか。

      古いソフトを後任の担当者が引き継いだ場合のあるある事例な気がします。

      • by Anonymous Coward

        単純にボーイングの開発体制が崩壊してるんだろ

  • by Anonymous Coward on 2020年01月11日 17時48分 (#3743933)

    ボーイング737 NG

    ボーイング737 No Goodか……

    # でも和製英語なんだよな……

    ここに返信
typodupeerror

あつくて寝られない時はhackしろ! 386BSD(98)はそうやってつくられましたよ? -- あるハッカー

読み込み中...