2009年4月26日日曜日

SIGSEGV

10 時頃ようやく起き出して、珈琲、オレンジジュース、クロワサンの朝食。 午前中は家計簿つけとか、日常のあれこれ。 昼食に、ムース類でバゲットのサンドウィッチ。 午後は、散歩ついでに神保町に行く。 今日は良い天気だ。気温もそこそこ高い。 SBUX でタンブラーに珈琲をいれてもらって、 会社でサンドウィッチの昼食。 昨日までに一応、動くものが出来たので、 日曜の午後にのんびりと性能チェックでもしようかな、 と陽気に作業を始めたら、えらい目にあった。 テスト用のデータを与えたら、不可思議なエラー続出。 ちゃんと動いていたはずのものまで挙動不審。 メモリ管理のバグに違いないのだが、 半日で原因は突き止められず。 確保した領域は丁寧に解放しているし、 解放したところにアクセスもしていないし、 二重解放もしていない。おかしいなあ……。悄然として退社。 お茶の水のカレー屋さんにて夕食。チキンカレー(10倍)。 歩く元気もなく、帰りは地下鉄で。

最寄り駅に着いたと同時に、ひょっとしてあれが原因か、と思いついた。 始めの方で解放したメモリ領域に対し、 ずっと後でその「長さ」をとっていたような…。 その領域にはコンピュータの都合でもう別のデータが入っているかも知れないので、 領域の長さを得ようとすると、運が悪いとランダムな長さが返ってくる。 その大きさによって微妙なエラーから悲惨なエラーまでランダムに災害が起こるはずだ。 とすると、今日半日の作業は無駄だったばかりか、有害だった……。 20 時過ぎに帰宅。