[update]
v2.1 2020-01-03
・SIMリスタート時にdataserverイベントが重なった場合に発行クエリーが消失する可能性への対処
SIMリスタート直後に動作が止まってしまう可能性があると思われるため該当部分の修正をしました。特にクリティカルな不具合対処ではなく内部的(趣味的)な変更のみなので機能の追加や変更はありません。
【より詳細な解説】(LSLが読み書きできる人向けの解説)
以前からごく希にSIMリスタート直後にオンラインチェックサーバーのチェック動作が停止する見受けられ、HTTPでのアクセスには応答することから「タイマーのトリガーが失われている?」と疑念を持ち、SIMリスタート検出時にタイマーも再スタートするように細工をしていました。特にその後にSIMリスタートでの動作停止は見られなかったのですが、先日、2020-01-02(日本時間、SLだと1日)の自動リスタート直後で、またもや発現したようでスクリプトは動作しているもののチェック動作が機能していない状態となっていました。 まぁ、単純にスクリプトリセットすればOkay♪なのですが、拘りのMH+ Labですから、原因究明すべく再度見直してみることにしました。このガジェット以外はどれも正常に動作していることからタイマー動作が偶発的に停止してしまうという考えが偶発的に発現するなら他の動作中のタイマー類でも同様の事象が起こるはずですから、どうやら見当違いだったのではとの答えに至りました。だとしたら、このオンラインチェックサーバー特有のロジックに原因があるのではとじっくりと見てみたところ、「もしかしたらデータサーバーへのリクエスト処理途中で途切れて(リスタートして)しまったのでは?」と思うようになりました。確認する術がないので確証はありませんが、そうだとしたら動作が停止する構造になっている箇所があると発見しました。
何を言っているか具体的に良く分からないと思うので、かいつまんで説明すると
スクリプトの一連の流れで
1.タイマー停止(Keyが初期状態なら)
2. →データリクエストクエリ発行(クエリーKeyセット)
3. →データサーバーからの返却(イベント待ち)
4. →クエリーKeyと等しい結果受信
5. →クエリーKey初期化
6.タイマー再開
この1~6の流れをチェック対象のUUIDの数の分だけループ処理するのですが、この流れで3と4の間でSIMリスタートが発動した場合、リクエストしたクエリーが消失しているのではないかという疑念です。
あ、DoやForでのループでなく、タイマーで回しているのは、処理数に単位時間当たりの使用制限がある処理を、制限を超えないように使うためです。
Alive-Cサーバー群のようにHTTPを利用した物だと、そもそもHTTPの応答は無応答の場合を想定して自前で処理しなければならないため特に問題にならないのですが、LSLのデータサーバを使う前提の処理で、リクエストに無応答というパターンがあるのではないか?という、あくまでも想像ですけど、そんな気がしてなりません。少なくともMH+オンラインチェックサーバーのロジックではSIMリスタートの契機でタイマーも強制で再始動を掛けていました、しかし動作が継続していないことからデータサーバーからの返却が無く、キーを初期化する契機が発生しなかった為に、ずっと待ち状態となっていたと考えています。(キーが空の時に次の処理を行う判断としているため)
この問題が発現したのは MH+オンラインチェックサーバー だけですが、頻度が少ないとはいえ同様のロジックが一部存在する MH+据置型RezDay備忘録サーバー も修正対象としました。
人気の投稿 (Last 30 Days / Top 10)
-
今年の4月に Gaeta-I 地域は消滅する方向 でと Zindra 地域の拡大と併せて発表がありましたが、180度の方向転換で Gaeta-I 地域を継続する との意向の発表がありました。
-
Sky-BOXの庭もどき。面積はもっと広いんですが、30x30程度のお庭仕立てです。 書き割りの囲いがある方がよいのか、無い方がよいのか好みがありそうですね。 書き割り壁部分にアルファチャンネルを持つ画像を使ってしまうと、相変わらず手前のアルファチャンネル部分がおかしくなるの...
-
「見ました~」というとおり、まだ原作を読んでませんw見たのはアニメです^^いま、15話まで進んでて、ちょうどアインクラッド編が終わったところくらい。放映中ですよ~ ソードアート・オンライン の原作から読んでいる方の中には、ご不満のある方もいるみたいだけど、あたしには十分面白か...
-
運用開始から1年とちょっと経ちますがAlive-Cのサーバー群実体は画像のとおりSecondLife内で稼働しています、安心して利用してください。設置先のSIMが未稼動だとAlive-Cも未稼動となりますのでLinden labでのメンテナンス日(SIMリスタート日)には慌て...
-
MH+ Tool HUD Update infomation [note]The plug-in script is not included in the auto-update. Please shift by the manualy in each one. RE...
-
Slave Reg(istry) ( slavereg.com ) のサイトに検索機能が追加されていました。個別の登録番号指定での参照機能は最初からありましたが、番号以外に名前を含み検索が可能です。登録数自体も以前に記事にした時は 9885 slaves でしたが現在は 1341...
-
テスト用。 単にLISTにstringの文字列をどんどん追記しているだけのもの。 for文でのloopの外に変数の設定があります。 こちらはfor文の中に変数の設定があります。 普通に考えると、どちらも変数の中の値は同じですね。 forの中にある分、関数呼び出...
-
Linden lab と Tilia の privacy policy が、2022年9月23日付けで更新されていました。今のところ公式側からの発表は無かったように思いますが、取り急ぎネタとしてブログ記事起こししています。どこが変わったのか分かったらまた追記しますね。 Priv...










0 件のコメント:
コメントを投稿