マルチスレッド関係のバグのエロい事ったらもう
今日のは難関だった。デバグに6時間もかかった。
なんか、受信用スレッドと送信用スレッドを分けてるわけですが、送信用スレッドでLogoutメッセージを送信したあとに受信用スレッドを閉じてたんですよ。
そしたらたまーにサーバー側がLogoutを受け取ってコネクションを閉じてから、クライアント側の受信スレッドが受信待ち開始してエラーはいて、それを修復しようとしてサーバーに再ログインしだす。
で、メインスレッドはそんなこと知らずにLogoutしたから次の鯖に普通にLoginして、多重ログインするというバグだったわけですよ。
なんていうか、受信用スレッドを閉じてからLogout送れば直ったんですけどね。orz...
ステータス変更の順番がちょっと前後するだけで、まったく意味不明な現象が起きるもんだから、問題特定が大変すぎる。なれるのかなぁこれ。マルチスレッドはまだまだ慣れない事が一杯だ。
-
-
- -
-
ふう、なんか知らんがモチベーションというかテンションが上がってきた。
マゾヒスティックなぐらいにバグ取りしている。なんかいい加減疲れてきたので今日はもう寝よう。それがいい。