アカウント名:
パスワード:
全銀システム障害の原因判明、メモリー不足でインデックステーブルが不正確な状態に [nikkei.com]
メモリー不足に起因し、金融機関名などを格納したインデックステーブルに不正な値が紛れ込んだ。
インデックステーブルはRCのディスク上にあるファイルから展開する。このファイルを作成するプログラムを実行したタイミングで、一時的に確保するメモリー領域が不足し、ファイルの内容が不正確になったという。
ディスク上のデータからインデックステーブルを作成する処理中に
あくまで予想なのだけどOSが32bitから64bitへ変更→コンパイラも当然64bit版になる→古いCのソースを64bit版でコンパイルして使用→int型やchar型のバイト数が変わってメモリの領域を確保するのに計算が狂って確保した領域からメモリがあふれた・・・ テストの時はギリあふれない程度の小さいデータでテストしてた・・・とかじゃないかなーとか思ったりする。しらんけど。
どんなレポートが出てくるのか楽しみ←不謹慎かも
テストでそれなりのサイズにしていても、日本信号の自動改札機が死んだ [wikipedia.org]みたいなパターンだと特定の倍数で起きるから。
mallocが8バイト単位にそろえるのでアクセス違反してても余計に領域を確保してる範囲に収まれば死なない。けど、特定倍の時にはみ出てメモリアクセス違反で死亡とかね。
sizeof(*uint32_t)をsizeof(uint32_t)としてたみたいな奴か……
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
にわかな奴ほど語りたがる -- あるハッカー
日経XTECHに詳報があった (スコア:0)
全銀システム障害の原因判明、メモリー不足でインデックステーブルが不正確な状態に [nikkei.com]
メモリー不足に起因し、金融機関名などを格納したインデックステーブルに不正な値が紛れ込んだ。
インデックステーブルはRCのディスク上にあるファイルから展開する。このファイルを作成するプログラムを実行したタイミングで、一時的に確保するメモリー領域が不足し、ファイルの内容が不正確になったという。
ディスク上のデータからインデックステーブルを作成する処理中に
Re:日経XTECHに詳報があった (スコア:2)
あくまで予想なのだけど
OSが32bitから64bitへ変更
→コンパイラも当然64bit版になる
→古いCのソースを64bit版でコンパイルして使用
→int型やchar型のバイト数が変わってメモリの領域を確保するのに計算が狂って確保した領域からメモリがあふれた・・・
テストの時はギリあふれない程度の小さいデータでテストしてた・・・
とかじゃないかなーとか思ったりする。
しらんけど。
どんなレポートが出てくるのか楽しみ←不謹慎かも
Re: (スコア:0)
テストでそれなりのサイズにしていても、日本信号の自動改札機が死んだ [wikipedia.org]みたいなパターンだと特定の倍数で起きるから。
mallocが8バイト単位にそろえるのでアクセス違反してても余計に領域を確保してる範囲に収まれば死なない。
けど、特定倍の時にはみ出てメモリアクセス違反で死亡とかね。
Re: (スコア:0)
sizeof(*uint32_t)をsizeof(uint32_t)としてたみたいな奴か……