産みの苦しみ?

POPFile 1.1.0 RC0 がリリースされてからもう 2 ヶ月以上(RC1 からでも 2 ヶ月近く)になるが、未だに正式バージョンとしてリリースできる見込みがたたない状態が続いている。Windows 版において未解決の問題がまだいくつか残っていることが原因だ。おおむねめどはたってきたが、もう少しかかりそうかな……。
問題の一つは、1.1.0 で新しく実装したタスクトレイのアイコンに関するもの。これまでのバージョンでも何かと問題があったこのアイコンだが、今回、Win32::GUI というモジュールを使ってすべて書き直してみたのだ。これにより、これまで悩まされてきた「アイコンにマウスカーソルをあわせたり、ダブルクリックしたときにフリーズする」という問題は解決されたのだが、今度は「POP3 同時接続が有効な場合に、時々異常終了する」という新しい問題が起こってしまった。おそらく原因は、Win32::GUI モジュールと、POP3 同時接続を実現するために使用している fork 関数との相性が悪いことなのだと思われるが、未解決のまま。現在、Win32::GUI の最新版(1.06)を使っても問題が起こるかどうか確認してもらっているところだ。
二つ目は、SSL 接続が必要なサーバに接続した際に、POPFile がサーバへの接続を永遠に待ち続けてしまう、というもの。接続時に Timeout オプションを指定して、これで解決かと思われたが、Windows 版が使用しているバージョンはこのオプションに対応していなかった。こちらもより新しい、Timeout に対応したバージョンに差し替えて試してみてもらっているところ。
三つ目は、中国語環境で、(添付ファイルのついた?)メール受信時に異常終了してしまうという問題。Dr. Watson のログを送ってもらったところ、sort 関数から呼ばれているロケール処理部分で問題が起こっているようなので、日本語や韓国語と同じように LC_COLLATE を C に設定するコードを書き、試してもらおうと思っている。