OpenSim / SeconfLife について

OpenSim-0.9.1系の不具合

 
シノバー
OpenSim-0.9.1系の不具合
Shinobar Martinek 发表于 2017年05月29日 星期一 19:34
 

このところOSGrid配布のOpenSim-0.9.1系バイナリを主にスタンドアロンHGの環境でテストしています。
最近の 2017-04-21、2017-05-12、2017-05-28 の3つについてテストしました。3つの不具合に遭遇しています。

1.外部のHGアバタが入れない。
この問題は 2017-05-12にだけ起こり、2017-05-28では解消されています。

2. 一部の特定オブジェクトが装着できない。
一部特定の髪が装着できません。地面にRezすると正常に表示されます。
上記3つのバージョンすべてで起こります。OpenSimプロジェクト公式配布の 0.8.2.1 では正常に装着できます。JOG配布の 0.9.0Devでも同じ問題は起こります。しかし JOG Center Sim では正常に装着できます。

3. 他HGから来訪のアバタがスタンドアロンHG上の、元はフルパーだったオブジェクトをコピーして持ち帰ったときに、その中身のパーミッションがコピー改変譲渡すべて不可に変化する。
前項2と同様に OSG配布の0.9.1系3つ、JOG配布の 0.9.0Devでも起こります。 0.8.2.1 では問題なく、フルパーはフルパーのままです。

最近のOSGrid配布のOpenSim-0.9.1系バイナリには上記2と3の問題が深刻です。とうぶん、うちでは OpenSimプロジェクト公式配布の 0.8.2.1 を継続使用します。

 
评分总和: -
シノバー
Re: OpenSim-0.9.1系の不具合
Shinobar Martinek 发表于 2017年05月30日 星期二 12:58
 

今日、OSGrid配布最新の 2017-05-28付けのものを再実験したところ、さきに報告した3つの不具合はすべて解消されていました。どこかのキャッシュに問題が残っていたのだろうか?

さらに、JOG内での実験報告していた、オブジェクトのコピーの問題も様子が変わっていました。

JOG内では「オブジェクトに中身がある場合、すべての中身が「全員にコピー可」と設定されていること。」が条件となっていましたが、今日実験した 2017-05-28付けのスタンドアロンHGでは、そうでなくてもオブジェクトをコピーできます。(OpenSim-0.8.2.1 と同じ挙動)

 
Xpyoda Janus的头像
Re: OpenSim-0.9.1系の不具合
Xpyoda Janus 发表于 2017年06月1日 星期四 12:41
 

私のところの自前グリッドも、OSGrid配布最新の 2017-05-28付けのものにしました。

これ以前のものだと、コンソールから 'shutdown' or 'quit' しても、以下のメッセージを出力したまま、だんまりになってました(しかたがないので、PIDをしらべてkillしてた...)。

[SHUTDOWN]: Shutdown processing on main thread complete.  Exiting...

具体的には、ソースコードOpenSim/Framework/Servers/BaseOpenSimServer.cs の ShutdownSpecific()ってメソッドの中で、Environment.Exit(0);をコールしたまま、プログラムが終了もせずだんまりになってました (Environment.Exit(0)は、最終的には exit()システムコールを呼び出すはずなんだけど...。デバッグ用ログ吐くようにして、確認はしてみた。FreeBSDでうごくまともなデバッガー欲しい...)。
ですが、2017-05-28のソースコードは、ShutdownSpecific() の中身が変わってて、スレッドの後始末をしてから、終了するようになってました。

というわけで、2017-05-28 版では、いろいろな問題が解決してて、とりあえずよかったです。

 ちなみに、monoのバージョンは、4.8.1です。FreeBSDのportsの場合、3.xは脆弱性があるとかで、他のライブラリとかの整合性の不具合を無視しないともうビルドできなくなってしまっています。最初は、これが正常に終了しない原因なのかなーっておもってたけど、ちがうようで、よかった...。

% mono --version
Mono JIT compiler version 4.8.1 (4.8.1.0 Mon May 15 16:34:30 UTC 2017)
Copyright (C) 2002-2014 Novell, Inc, Xamarin Inc and Contributors. www.mono-project.com
        TLS:           __thread
        SIGSEGV:       altstack
        Notification:  kqueue
        Architecture:  amd64
        Disabled:      none
        Misc:          softdebug
        LLVM:          supported, not enabled.
        GC:            sgen
シノバー
OSG配布のOpenSimバイナリをJOGで使う方法
Shinobar Martinek 发表于 2017年06月16日 星期五 23:26
 

JOG配布の OpenSim-0.9.0DevからOSG配布の OpenSimバイナリにバージョンアップするスクリプトを公開します。

旧のOpenSimがあるフォルダを例えば /opt/OpenSim/0.9.0Dev-jog とします。

OSG用のフォルダ /opt/opensim.opensim-0.9.1-06-jog を作り、そこで OSGの opensim*.zipを展開します。

次のスクリプトをを実行します。SRCとDESTは環境に合わせてください。

#!/bin/sh
SRC=/opt/opensim/OpenSim-0.9.0Dev-jog
DEST=/opt/opensim/opensim-0.9.1-06-jog
[ -d $DEST/bin ] || exit 1
cp -vf $SRC/bin/*.db $SRC/bin/OpenSim.ini  $SRC/bin/OpenSim.exe.config $DEST/bin
cp -vf $SRC/bin/Regions/*.ini $DEST/bin/Regions
cp -vf $SRC/bin/config-include/*Common.ini $DEST/bin/config-include

# JOG stuff
cp -vf $SRC/bin/{Messaging.NSLMuteList.dll,OpenSimProfile.Modules.dll,OpenSimSearch.Modules.dll} $DEST/bin
cp -vf $SRC/bin/config-include/{FlotsamCache.ini,GridCommon.ini,GridHypergrid.ini} $DEST/bin/config-include

echo "Files copied."
 
 
Xpyoda Janus的头像
Re: OSG配布のOpenSimバイナリをJOGで使う方法
Xpyoda Janus 发表于 2017年06月22日 星期四 00:39
 

スクリプトありがとうございます。

# JOG stuffのところは参考になります。この、JOG stuffのところを自前でコンパイルしてみようとしたりします。設定ファイルも、OpenSim-0.9.0Devから、丸コピーすればいけるんだろうなぁと思ってます。先週からあまり時間がとれずに、まだ、ちゃんと試せてない...www。

# 以下は、ほとんど独り言。
Firestormで、自分のプロフィールを表示してみると、一瞬自分のプロフィール画像が表示されたかとおもうと、すぐに表示されなくなります。ひょっとしたら、OSGridのプロフィールモジュールの設定も残ってて、悪さをしてるのかもしれません。まあ、時間取ってみてみないと...です。

 
シノバー
Re: OSG配布のOpenSimバイナリをJOGで使う方法
Shinobar Martinek 发表于 2017年07月18日 星期二 20:35
 

JOG Stuff のところで、ひとつ抜けていました。OpenSim.Modules.Currency.dll です。

このモジュールは本来(JOG独自の)マネーサーバと通信するためのもので、マネーサーバに接続しないならば必要ありません。また opensim-0.8用に作られたものが 0.9系では不都合あったために、外しておりました。しかし JOG配布の 0.9.0Dev に同梱されているものは opensim-0.9系でちゃんと動作します。

マネーサーバに接続しないSIMで、このモジュールがあると無いとでどこが違うかというと、ビューアーの所持金の表示だけです。マネーサーバに接続している Dejimaと、接続しない Shinobar Annexとを往還する場合で説明します。

Dejimaに(JOGアバタでもHGアバタでも同じ)アバタが入ると何がしかの所持金が表示され、これで Dejimaで買い物ができます。マネーサーバに接続しない Shinobar Annexなどに移動すると、所持金は 0 となるはずです。ここで Shinobar Annexに OpenSim.Modules.Currency.dll があると、ビューアーの所持金表示も 0となりますが、このモジュールが無いとビューアーの所持金表示は Dejimaのときの表示から変化しません。ビューアーの表示では何がしかの所持金があることになります。しかしもし Shinobar Annexに JP1 の商品があったとして、それを購入することはできません。JP0 の商品は購入できます。つまりビューアーの表示に所持金があるように見えても、じっさいは所持金0とおなじです。

マネーサーバに接続しないSIMで、このモジュールがあると無いとで、商品の購入に関しては同じです。このモジュールがあっても無くても、実用上問題はありませんが、ビューアーの所持金表示に関してしてはこのモジュールを含めるほうがきれいです。

さきのスクリプトの JOG Stuff に関する部分の修正を以下に示します。すでに以前のスクリプトで移行済みの方は、手動で JOG配布の 0.9.0Devの中から bin/OpenSim.Modules.Currency.dll を見付け、新しい OSGの bin ディレクトリの中にコピーしてください。

# JOG stuff
cp -vf $SRC/bin/{Messaging.NSLMuteList.dll,OpenSimProfile.Modules.dll,OpenSimSearch.Modules.dll,OpenSim.Modules.Currency.dll} $DEST/bin
cp -vf $SRC/bin/config-include/{FlotsamCache.ini,GridCommon.ini,GridHypergrid.ini} $DEST/bin/config-include

xenlon keng的头像
Re: OSG配布のOpenSimバイナリをJOGで使う方法
xenlon keng 发表于 2017年07月29日 星期六 19:55
 

いつも参考にさせていただいてありがとうございます。しのさんのスクリプトを使用させていただきJOGバイナリからOSG用のOsgrid Opensimlator 0.9.1.dev 07-23-2017を使用してSIMを立ち上げました。僕の不具合はアバターがアニメーションの無効状態(ダンスやAOが無効)だと足がピクピクと動き続けることです。OSはUbuntu16.04 LTS 32bit SERVERでMonoのヴァージョンは4.4です。5.1.1はエラーでログが真っ赤になり止まってしまうので戻しました。僕のSIM固有のバグなのでしょうかねえ?DBはSQL Liteのまま使っています。