FANDOM


Scripters_cafeログ


08/09/13 編集

ametaさんから、Monoコンパイルしたスクリプトにて、llBase64ToStringでrun time errorが発生する場合があると教えていただきました。

具体的には以下のようなエラーが表示されたそうです。

System.ApplicationException: String error: Invalid sequence in conversion input
at (wrapper managed-to-native) LindenLab.SecondLife.Library:llBase64ToString (string)
at LSL_83492b19_3443_dbe4_27a7_b4ae9c2d9e32.edefaulttouch_start (Int32 total_number) [0x00000]
at (wrapper managed-to-native) System.Reflection.MonoMethod:InternalInvoke (object,object[])
at System.Reflection.MonoMethod.Invoke (System.Object obj, BindingFlags invokeAttr,
System.Reflection.Binder binder, System.Object[] parameters,
System.Globalization.CultureInfo culture) [0x00000]


このエラーを再現させるために、いろいろな文字列をbase64エンコードして、それをllBase64ToStringに投入して確認しました。


オフィスアワー中には上手く再現させられなかったのですが、その後ametaさんとFakeさんによって、実際にエラーが再現するコードが見つかりました。

→PJIRA SVC-3072 Error message using llBase64ToString under Mono

※特定範囲のバイナリデータをBase64エンコードした文字列にて発生するということでした。


この問題については、SIMコードのバージョン1.24.6にて修正されたとのことです。



08/09/20 編集

「特定のバイナリの取り扱いでエラーが発生する」という絡みから、llBase64ToString以外の関数でも同じ現象が発生しないか、FakeさんとGOTTiとで確認しました。

次の関数で、同じ原因と思われる不具合が発生するようです。


1.24.6での修正状況を確認 編集

llBase64ToStringの修正状況をプレビューグリッドにて確認しました。

以前発生したようなrun time error自体は発生しなくなっていますが、戻り値は「???」という文字列になってしまうようです。

LSL2では同じバイナリ文字列でも正しく復元されるので、現時点ではまだ「正しく修正された」とはいえない状況のようです。



このページのTinyURL:http://tinyurl.com/SC-Mono-Base64

広告ブロッカーが検出されました。


広告収入で運営されている無料サイトWikiaでは、このたび広告ブロッカーをご利用の方向けの変更が加わりました。

広告ブロッカーが改変されている場合、Wikiaにアクセスしていただくことができなくなっています。カスタム広告ブロッカーを解除してご利用ください。

FANDOMでも見てみる

おまかせWiki