Second Life in Japan
Advertisement

Scripters_cafeのログ


08/05/03[]

この現象について、その後Fakeさん、Tomonekoさん、Miyaokaさんらが調査されて、ほぼ原因が特定できたということでjiraにFakeさんがエントリしました。

  • jira SVC-2283 Postcard with empty message slows the simulator down.

このエントリにFakeさんがアップした再現手順では、ポストカードをメール送信する際に本文欄を一度クリックした後何も書かずに送信するだけです。

この状態でポストカードメールを送信するとSIMがしばらくの間重くなってしまいます。

もしこの挙動をテストする際には、SIMオーナーに事前に許可を取るなど十分に注意してください。


その後 Torley もこの件のテストを行っていました。


ビューアのソースではどういう状況なのか[]

オフィスアワーでは、上記の再現手順の場合とそうでない場合とで何が違うのかをビューアのソースで調べました。


現在のpostcard送信は、ビューアからSIMサーバーのCAPS URLに対して、LLSD形式(XML)で特定のメッセージを送信するという処理になっています。

本文欄を1回クリックして空にしたまま送信した場合、本文に対応するXML要素がXMLの空要素スタイルの記述になっていました。

+本文がある場合→<string>本文</string> +本文が空の場合→<string /> +本文をクリックせずに送信した場合→<string>Check this out!</string>

サーバー側のソースを現時点では読めませんのでこれ以上の調査はできませんが、上の2つ目の空要素の状態のデータをサーバーが受け取った時に正しく処理されずに何か問題が起こっている、という状況のようです。


また、この問題が発生した際のビューア側の挙動として、「しばらくしたらポストカードの送信エラーメッセージが表示される」のですが、結果としてポストカードは送信できています。

Fakeさんの推測では、このエラーは上記の問題が発生した際にビューア側がTCP接続のタイムアウトを起こして表示されるのではないかということです。

(LLSDはHTTP(S)で送信されます)


ポストカード送信部分のソースについては、iNNXブログにて簡単に解説します。


【参考】

ポストカード送信時のLLSD

Scripters cafe 20080503 postcard llsd

ポストカード送信時のLLSD


08/03/08[]

以前は発生しなかった現象だが、PostCardを送信して、送信時にビューアにエラーが出た時にSIMが極端に重くなっているかもしれない(未確定)


この時の統計バーの表示では、SIMのImageTimeやAgentTimeが不安定に大きくなったりする。


Fakeさんの自宅サーバーの人間SMTPサーバーで実験したところ、SMTPの応答を遅らせたりしても同じ現象は発生せず。


ちなみにこの時の情報として、PostCardはSIMサーバーのIPアドレスから送信されているとのこと。

Advertisement