先に不具合修正を今は、開発を小休止しつつ、公開済みソフトの宣伝動画なんかを作ろうか、と、しているのだが、今日、Mirror-DTCのmacOS版の宣伝用に使用状況をキャプチャーしていると、クライアントがちょくちょくクラッシュしたので、先に修正する。何度も書いてきている様に、作者環境にはWindows/Ubuntu/macOS環境が色々とあるのだが、それらは別マシンにインストールされている。仮想環境にインストールされている訳ではないので、本来なら、それらを操作する為には、異なるモニターを見て、異なるキーボード/マウスを使う必要があるのだが、作者的には、全ての環境を、メイン環境としているマシンのモニターを見て、そのマシンのキーボード/マウスを操作して利用している。いう事で、作者的には、Mirror-DTCというのはタマに使うモノではなくて、少なくともメイン環境以外の環境を使っている時には、モニター/キーボード用の接続ケーブルみたいな感じで、ほぼ常時使っているモノになる。安定性は十分にあって、普通は、利用中にクラッシュする、なんて事はまずないのだが、過去にも、接続開始時には、問題が発生する事はあった。今回も、接続開始時の問題になるのだが、実際には、UDP接続ダイアログで従来の接続処理を終了させる場合に問題が発生している。具体的に書くと、UDP接続ダイアログでは、ローカルネットワークにブロードキャストして稼働中のMirror-DTCサーバーを検出しているのだが、「最新の情報に更新」ボタンが押されるか、「接続」を開始する場合には、この検出処理を終了させる。この時、認識していたサーバー情報を破棄するのだが、その瞬間には、ダイアログは終了していないので、検出済みサーバーの情報を表示する処理は動作中になっている。サーバー情報の破棄とサーバー情報の表示処理が同時に発生した場合、存在しなくなった情報を表示しようとするのでメモリアクセス異常が発生してクラッシュする事になる訳だ。Ubuntu版でも同様になっているのだが、少なくとも作者的には、これらでクラッシュが発生した記憶はない。上記の問題はタイミング絡みになる訳なので、多分、macOSが行なっているスレッド制御の場合にのみ発生しているのかもしれない。する事にしたのか、というと、上記の問題は、作者的には、少し前から認識はしていたのだが、デバッグしようとしても現象が中々発生しなかったからだ。今回、現象が頻繁に発生する条件を見つけられたので、デバッグしてみた所、問題がある箇所を発見できたので、修正する事にしたのだが、現象が頻繁に発生する条件というのは、ローカルネットワークに多くのMirror-DTCサーバーを稼働させておく、という事だった訳だ。すると、最初のサーバー情報の破棄に対応する表示処理を行なっている最中に、それ以降のサーバー情報が破棄されるタイミングが発生しやすくなるので、接続サーバー全体の情報にアクセスしている当該処理で問題が発生する可能性が高まる訳だ。いう事なので、通常、接続先が1マシンしかない様な環境だとか、接続設定ファイル等を使用してUDP接続ダイアログをスキップした使い方では問題は発生しなしのだが、ローカルネットワークに数台以上のMirror-DTCサーバーが稼働するマシンが接続されている場合、UDP接続ダイアログから接続しようとすると、クラッシュする確率が結構あるので、宣伝用動画をUpする前に、修正しておく事にする。Ubuntu版については、不具合修正版は出さない事にする。クラッシュの有無はタイミング的な問題になるので、たまたま、そういうタイミングが発生しやすい環境もない事はないかもしれない。利用環境がそういう環境になってしまっている人がいた場合には、その人には、接続には接続設定ファイルを作成して利用するか、TCP接続を使う事をお勧めする。Ubuntu版についても、上記の不具合修正は次バージョンには適用することになる筈だ。Adsense)サービスを利用しています。使用して、ユーザーのウェブサイトでの閲覧履歴に基づく広告を配信します。パートナーは当サイトや他のサイトへのアクセス情報に基づく広告をユーザーに表示できます。収集された情報がGoogleによってどの様に使用されるか、収集される情報をユーザーが管理する方法については、以下のリンクを参照下さい。