Repo

kjana00@gmail.com

older <-

2009-10-29 00:29:43

今朝は晴れ。朝ごはんはパンとソーセージとゆでたまごとサラダ。何だか妙に眠いのが謎。寝不足気味は寝不足気味かもしれないけどな……

状態遷移が半端な時点で入力が切り替わってて寝られるようになる頃には起きろっていう信号が来てるんじゃないかという話の調査。デバッグ出力を足して、現象としては確かにその通りだっていうのを確認。……で、何だってそんなに状態遷移に時間がかかってるんだっていう疑問。秒単位で時間がかかるっていうのはいくら何でもおかしい。

それでしばらく延々と悩みつつデバッグ出力を足しては追いかけるという作業を続けてみた。被せた皮からちゃんと本体にデータが届いてて、受信側で使ってる変数の値は入力の時間変化に合わせてちゃんと動いてる。で、状態遷移を起こす関数は……何か呼ばれてない。何だそれと思って見てるとどうも受信エラーになってるっぽい。ああ、受信に使ってる変数が書き換わってもエラーだと内部状態に関係する変数に値が回らないし、当然正常状態での処理も起こらないんだ。

何のエラーだと見てみてちょっと見間違えて見当違いのコードをしばらく追っ掛けたりした結果、結局のところ皮から中身にパケットを渡す時に作ってるチェックサムが間違ってるっていうことなのが判明。毎回きれいなバッファを用意し直してるわけじゃないから、前のパケットのチェックサムを計算に入れた上で書き換えてたっていう。で、これが高々 4 bits の足し算結果だったりするもんだからたまに偶然結果が合ってエラーを起こさない場合があった、と。おかげで手元のテストモデルだと一見動いて見えて、ちょっと遅れたりするのは中身のタイマの具合かななんて思えてしまうもんだから今まで気付かなかったわけ。直したら、直った。今まで微妙に遅れてた状態遷移も入力の時間変化に良く同期するようになった。

……というのが全部わかったのが一昨日ものを送り付けた相手が全体に組み込んでリリースした後だったという。まあこれは直ってた方が確実にいいところだからとまた送り付けておく。後は例によってお客さんは別の仕事を抱えてるとちょっとでも将来の方の話への反応が鈍くなるものですという話を内部進捗会議で聞いたり、引越し先での席割を適当に決めて開発チームのリーダーに打診してみたり。

それで定時退社日で早めに帰る。WWW 見てゲームして晩ごはんにかつおのたたきととろろ昆布のつゆ。それからまた続きだったりまんがを読み出したり。うーん、それにしても何か妙に眠いし頭が重いな……

older <-

goto

hint can be:

Tags

old

2007-05 -- 2006-12

ゲーム関係の古い記録

before 2005-12