ラベル バグ の投稿を表示しています。 すべての投稿を表示
ラベル バグ の投稿を表示しています。 すべての投稿を表示

2010年1月6日水曜日

メモリの扱いで行き詰まり..

DATA型のbufのメモリを確保し,初期化し,ごにゃごにゃし,解放するという流れを作りたいのですが…
なんかかたまってしまう…(@_@)

#define MAXNUM 10
typedef struct
{
int now_pid;
u64 now_pmc0;
u64 now_tsc;
} DATA;
static DATA *buf;

buf = (DATA *)vmalloc(sizeof(DATA) * MAXNUM);
memset(buf, 0, sizeof(DATA) * MAXNUM);

vfree(buf);

きっと何かこのへんがおかしいんだろう….
WHERE?!?!
早く抜け出したい(>_<;)

1/7***
ちなみに
memset(buf, 0, sizeof(DATA) * MAXNUM);
の直前に
printk("buf add is 0x%08x\n",(ulong)buf);
をいれると動くっていう…(@_@)

1/8***
vmalloc ではなく kmalloc を用いれば printk を挟まなくてもうまく動きました..
vmalloc 領域の変なとこをさわっていたのかな?原因不明です..
が,とりあえず vmalloc 使うのはこわいんでやめておきます.

2009年12月5日土曜日

システム障害

最近よくシステム障害が起きているようなので,書き留めておきたいと思います.

●ロンドン証券取引所
-障害から復旧まで:
2009/11/25(英国時間) 障害発生(接続障害).取引停止.

-参照:
ロンドン証券取引所がシステム障害で取引停止 - ニュース:ITpro

●東京工業品取引所
-障害から復旧まで:
2009/11/27 障害発生.各取引を停止
 取引システムの開発・運用保守を担当するNTTデータとともに原因究明
 開発元のOMXテクノロジーにソフトの修正を依頼
 テストで動作確認
2009/11/30 システム復旧

-原因:
受け付けた注文件数が最多となった際に,潜在バグが表面化したことによる
・メモリリーク
「気配値」の計算に使うプログラムが,使用したメモリ領域を削除していなかったために生じた.
注文を受信するにつれメモリの使用可能領域が減少し,計算が不可能となった.

・フェイルオーバーの際の切り替えシステムのバグ
取引システムは現用系と待機系のホットスタンバイ方式で二重化してある.
メモリ不足を受けた際に,本番処理が待機系に自動で切り替わるはずだったが,バグによりメモリ上の一部データを正常に引き継げなかった.
その結果,待機系システムでも気配値の計算が不可能となった.

-参照:
東工取のシステム障害、原因はナスダックOMX子会社製ソフトのバグ - ニュース:ITpro

●新幹線のエクスプレス予約
-障害から復旧まで:
2009/12/3 10:00 障害発生.
 システムのサーバーを再起動し,自動改札機などとのデータの整合性や動作を確認
2009/12/3 13:00 システム復旧

-損害:
この3時間のシステム停止時間中,約1万人がシステムを利用不可能となった

-原因(12/5現在):
不明

-参照:
[続報]3時間後に復旧、新幹線のエクスプレス予約システム障害 - ニュース:ITpro


●その他(オマケ)
-秋はシステム障害の季節か:ITpro
:システム障害の詳細を開示しない企業が多いが,近年は情報公開をすることで高信頼システムを築いていこうとしている動きが多いとのこと.

こういう記事に目を通すことって大切だなぁと改めて思いました.