パスワードを忘れた? アカウント作成
15464116 story
お金

10月14日の北洋銀行ATM障害、特定の日時にエラーを起こすバグが原因と公表 27

ストーリー by nagazou
トラップ 部門より
北洋銀行は21日、同行で10月14日に発生したATM障害の原因を発表した。このトラブルでは店内にあるATM462台に約1時間、店外にあるATM358台に約5時間ほど影響が及んだ。リリースによると障害発生の原因として、ATM内部の日付・時刻を管理するプログラムにバグがあった。特定の年月日、時刻にシステムがエラーを起こすようになっていたという。エラーを検知したことでシステムエラーが発生。その結果、ATMの新規受付が自動的に停止したとしている(北洋銀行日経クロステック)。
  • 10月14日って (スコア:2, 興味深い)

    by Anonymous Coward on 2021年10月27日 19時51分 (#4141017)

    今の北洋銀行が誕生した日 (2008年10月14日, 札幌銀行との合併) [wikipedia.org] ですね。
    このときにシステム統合も同時に実施しているようなので、その日だけの特別な処理のどこかに問題があったのでしょう。

    # もしかして「今日は北洋銀行の誕生日です!」って出すためだけのロジックだったりして・・・

    ここに返信
    • by Anonymous Coward

      創立記念日が夜間のオートロックのパスワードになってる。ついでに製品のファクトリモード用パスワードも全機この値で統一されてる。ユーザーが知らずにユーザパスワードを書き換えると、ユーザがファクトリモードに入れてしまう。

    • by Anonymous Coward

      汎用COBOLで「西暦の年から25を引いた下2ケタが昭和の年となります。」の和暦処理が強烈過ぎて他を失念。
      関わった銀行証券貸金保険電力鉄道通信その他諸々で日付や期限等で特殊な処理を結構してきたので怖い。
      一度限りや年次など遡及して日付を変換処理するだけとか日付に関しては疑問が多い仕様もある。
      昭和平成や平成令和の改元で比較する際に一時的に片方に合わせるとか?

      5年10年経って彼方此方から調査書類やアンケートが郵送されて来たのはWinny位かな?情報漏洩が社会問題化した時代のアレ。
      金融関係は1PGですら試験で400枚入りA4用紙3個入1箱分位の検証資料を出して一発で通る事は稀で何度か差し戻される。
      四半世紀後に問題が起きて当時関わった全員い連絡していますとかアンケート用紙を送って来られても困惑する。

      運用保守で直近の担当者に「何故気が付かなかった」と吊し上げて飛び降り無い事を切に願う。

  • by Anonymous Coward on 2021年10月27日 18時01分 (#4140921)

    10月10日10時10分10秒以降になると発動するバグを埋め込んだことがある。
    JavaScriptの自前の日付処理の問題で、全桁2桁になると前ゼロ埋めが不要になった結果、文字列連結が数値の足算になってバグった。
    秋にプロジェクトが開始して稼働が3末だったので、開発中は全然気づかなかった。

    ここに返信
    • by Anonymous Coward on 2021年10月28日 11時38分 (#4141364)

      日付なんかは、フォーマット系で書式処理するほうが良いよ
      マジで何渡してくるかわかんないし。

    • Re: (スコア:0, 荒らし)

      by Anonymous Coward
      それはテストをサボったからだろう
    • by Anonymous Coward

      あーなるほど。'0'+がなくなって文字列への変換がされないと。
      桑原桑原。
       
      やっぱ型に厳密な言語のほうがいいよ(ファィっ!)。

      • 型もあるけど、
        数値の加算と文字列の連結を同じ演算子にしてるのも問題の一端

      • by Anonymous Coward

        処理コストは嵩むけど'0'+数値してから、右二文字ってロジックもある。
        # 入力が文字列でシステムロケールが変更されてゼロフィルされていても、されてなくてもいけて、同じく型がなく、IFが大変なbatファイルだとこっちのほうが便利。

        別ツリーのテストをさぼったからがマイナスモデされてるが、
        テストして当然の境界値チェックしてないから言われて当然ですわ。

        • by Anonymous Coward on 2021年10月28日 4時46分 (#4141216)

          どんな見落としに対しても後知恵でテストして当然と言うのは簡単なので情報量もないし役にも立たないコメントはマイナスモデされて当然

          • by Anonymous Coward

            テストケースのレビュー時に指摘してくれれば神。
            バグ発生・検証後に言ってくるならただの事後諸葛亮。

            • by Anonymous Coward

              究極的にはあらゆる不具合の未発見はテストケース不足に帰結できるからなぁ
              まあ無意味だよな

            • by Anonymous Coward

              自分なら指摘してるし、テストするからなぁ。

              JavaScriptの日時クラスは無駄にサポート範囲広いからシステム仕様でサポートする日付範囲が決まってないならテストが糞面倒臭いよ。
              日本国内限定だと、遡っても1873年以降しかサポートしないってしておかないと地獄。
              でもうるう秒は入ってこないからマシな部類だと思う。

              西暦マイナスは端折るけど、単体テストで境界値とかの
              -1/12/31 23:59:59 西暦0年直前
              0/1/1 00:00:00 西暦0年(紀元前1年)
              0/12/31 23:59:59 西暦1年直前
              1/1/1 00:00:00 西暦1年
              9/12/31 23:59:59 西暦1桁最大
              10/1/1 00:00:00 西暦2桁最小
              99/12/31 23:59:59 西暦2桁最大

    • by Anonymous Coward

      ダックタイピングになれ過ぎですよ…
      str(日付)とか何も考えずに無心で入れるのですよ。
      ダックタイピングだとたまたまアヒルっぽい哀れな鳴き声を上げた動物もアヒルにされてしまう。

  • by Anonymous Coward on 2021年10月27日 14時59分 (#4140787)

    とある有名推理小説のトリックを思い浮かべてしまう。。。

    ここに返信
  • by Anonymous Coward on 2021年10月27日 15時04分 (#4140788)

    仕込んだわけじゃないよな

    ここに返信
    • by Anonymous Coward

      条件分岐に見落としがあったなんてね。

  • by Anonymous Coward on 2021年10月27日 16時42分 (#4140852)

    こんな半端な時刻にエラーが発生するロジックを類推するのもまた面白い。
    エポックタイムに換算 [epochconverter.com]しても 1634171340 と、この付近で何か起きそうな数字には見えないなぁ。

    ここに返信
    • by Anonymous Coward

      なんかのユニークなキーを生成するのに、テキトーな期日からの時間でもカウントしてんじゃないの?

    • by Anonymous Coward

      2019年10月14日は体育の日だったので、祝日テーブルでやらかしたとか。
      コロナでゴタゴタして、実投入までタイムラグが有ったから実は2年前ブツだったとかで。

      9:29の謎は営業時間中なので、最も遅い9時オープンに合わせて9:00以降に時刻同期開始する仕様ならありそう。
      次の9:30の時刻同期しようとしたら前回の時刻同期が終わって無くて異常が上がったか、
      30分未満というタイムアウトで時刻調整されてないってエラーが起きたか。

      組み込みで稀にある「時刻同期は営業日取得を兼ねた初回のみ」みたいな仕様だと、再起動すれば時刻再同期しようとしないのでエラー回避可能。

    • by Anonymous Coward

      父ちゃん通しで苦肉の策……なんのこっちゃ

typodupeerror

アレゲは一日にしてならず -- アレゲ見習い

読み込み中...