ソラマメブログ

2008年09月23日

麻雀卓不具合

麻雀卓をmonoでコンパイルしているのですが、一部のスクリプトがランタイムエ
ラーを起こす場合があります。今のところ、特定のスクリプトで発生している感
じなので、当該のスクリプトのみを LSL2 でコンパイルするようにしてみました。

麻雀卓でこのエラーが発生して困っている方は、Chiyosuke WiseまでIMするか、
Kandaの麻雀販売店のアップデータにタッチして、上記の一部のみLSL2でコンパイル
したバージョンを入手してください。

麻雀卓不具合

■エラーの説明

**** [script:majan_sutehai_state]: Script run-time error
[22:33] Mahjong V9.12 **** [script:majan_sutehai_state]: System.Runtime.Serialization.SerializationException: serializationStream supports seeking, but its length is 0
at System.Runtime.Serialization.Formatters.Binary.BinaryFormatter.NoCheckDeserialize (System.IO.Stream serializationStream, System.Runtime.Remoting.Messaging.HeaderHandler handler) [0x00000]
at System.Runtime.Serialization.Formatters.Binary.BinaryFormatter.Deserialize (System.IO.Stream serializationStream) [0x00000]
at LindenLab.SecondLife.Script.Deserialize (System.Byte[] object_data) [0x00000]
at LindenLab.SecondLife.Script.Deserialize (System.Byte[] class_data, System.Byte[] object_data) [0x00000]

この問題は、すでにJIRAに載っていました。

http://jira.secondlife.com/browse/SVC-2908

どうやら、スクリプトがデシリアライズする際に、エラーが発生するようです。
シリアライズとは、一般に、オブジェクトの内部状態をビット列に変換し、外部
のファイルに保存する事をさし、デシリアライズはその逆にビット列から内部
状態を復元する処理を指します。
 おそらく、スクリプトの内部状態がリンデン側のデータベースに保存され、
rezされたり、simがリスタートした際などにデータベースに保存されたビット列
からオブジェクトの内部状態を復元する際に、うまくいっていないのではないか、
と推測されています。

 記事を追うと、スクリプトをリセットするだけでは解決せず、スクリプトをソース
からコンパイルし直して初めて解決するようです。


同じカテゴリー(麻雀)の記事画像
PureMag 麻雀卓
mono版発売
PureMag 麻雀卓、mono化進行中
モールへ出店
巨大麻雀卓
麻雀クラブの歌
同じカテゴリー(麻雀)の記事
 PureMag 麻雀卓 (2013-06-18 02:18)
 mono版発売 (2008-09-19 00:36)
 PureMag 麻雀卓、mono化進行中 (2008-09-15 01:27)
 モールへ出店 (2008-02-09 03:01)
 巨大麻雀卓 (2008-01-22 00:39)
 麻雀クラブの歌 (2007-12-30 04:10)
Posted by Chiyosuke Wise at 22:01│Comments(2)麻雀
この記事へのコメント
いつもありがとうございますー。
報告はこちらでいいのかな、、、
変わったパターンが出たのでとりあえずごほうこくー。
LSL+mono台です。
始動後、一人目はツモって切れるけど次の人にすすまないというもの。
再REZ後のメッセージは以下のトオリデス
[5:01] Mahjong V9.12 [script:majan_sutehai_check_state]: Script run-time error
[5:01] Mahjong V9.12 [script:majan_sutehai_check_state]: System.Runtime.Serialization.SerializationException: serializationStream supports seeking, but its length is 0
at System.Runtime.Serialization.Formatters.Binary.BinaryFormatter.NoCheckDeserialize (System.IO.Stream serializationStream, System.Runtime.Remoting.Messaging.HeaderHandler handler) [0x00000]
at System.Runtime.Serialization.Formatters.Binary.BinaryFormatter.Deserialize (System.IO.Stream serializationStream) [0x00000]
at LindenLab.SecondLife.Script.Deserialize (System.Byte[] object_data) [0x00000]
at LindenLab.SecondLife.Script.Deserialize (System.Byte[] class_data, System.Byte[] object_data) [0x00000]

別卓を設置でたいおうしましたー
参考になればさいわいですー
Posted by pcworks kidd at 2008年09月25日 21:37
情報有り難うございます。
同じ原因で不具合が発生している感じです。Lindenのwikiをみると、βサーバでは、9月23日に、Server 1.24.6 (97433) で、この不具合(SVC-2908)に関して、修正が入っているようです。

http://wiki.secondlife.com/wiki/Release_Notes/Second_Life_Beta_Server/1.24

今日(9月27日)、通常サーバのバージョンを見てみたら、バージョンがServer 1.24.6 (97433)になっていたので、もしかしたら直っているかもと期待していたのですが、25日に問題が発生して居るとなると、まだ通常サーバ(やβでも?)ではmonoの不具合なおっていないのかもしれません。
Posted by Chiyosuke Wise at 2008年09月28日 00:27
上の画像に書かれている文字を入力して下さい
 
<ご注意>
書き込まれた内容は公開され、ブログの持ち主だけが削除できます。