岡田さん:
産総研の原です。
下記の質問なのですが、正確にはゾンビオブジェクトではありません。
omniORBのネームサーバーにCORBAオブジェクトの登録が残っている
だけで、登録したオブジェクトが登録を削除せずに残ったものです。
そもそも、omniORBではネームサーバーが常駐していなくても名前の
登録が失わないように、現在の情報をファイルに保存しているのだと思います。
そのため、何度ネームサーバーを再起動しても登録されている情報が
残っているのだと思います。この機能は、CORBAを運用する上では、
よい機能だと思いますが、OpenRTMではかえって障害になっているようです。
ネームサーバーの単純な機能のみを実装するのはそんなに難しくないので、
本来であれば、OpenRTMにあったネームサーバーがあればよいのかも
しれません。
RtORBのネームサーバーは、登録情報をファールに保存していませんので、
再起動するとそれまで登録されている情報がすべてなくなるようになっています。
これは、それでロバストでも安全でもないのですが、実装は簡単です。
申し訳ありませんが、私は、omniNamesで強制的に登録情報をクリアする
方法を知りませんが、そのようなプログラムを作るのは簡単だと思います。
2011年6月4日13:56 Kei Okada :
> openrtmというよりomniorbの質問なのかもしれませんが,
> ゾンビオブジェクトというのはどうして存在するのでしょうか?
>
> 無線LANのDHCPで動いているノートPCで作業しているのですが,
> rtls としても返事が帰ってこないので,traceLevelをあげて見たところ
> 以下の様にでました.157.82.4.206というのは,昨日まで使っていた
> 無線LANのDHCPで今日はこのネットワークにつながっていないのですが,
> sudo /etc/init.d/omniorb4-nameserver restart してもrebootしても
> これは残っています.
>
> RTSystemEditorをみてみると,確かにゾンビオブジェクトとして残っているので,
> これらのオブジェクトをアイコンやメニューをつかって消すと,rtlsが使えるように
> なりました.ちなみにOpenHRP3 のGrxUIも同様にゾンビがあると立ち上がらない,
> という状態になっていました.
>
> 1) クリーンな状態でnameserverを立ち上げる方法はあるのでしょうか?
> 2) rtls,やGrxUIでゾンビオブジェクトがあったも機能するようにすることはできるのでしょうか?
>
>
>
> 4749 4f50 0102 0101 b800 0000 0c00 0000 GIOP............
> 0000 0000 0000 0000 3500 0000 4944 4c3a ........5...IDL:
> 6f70 656e 7274 6d2e 6169 7374 2e67 6f2e openrtm.aist.go.
> 6a70 2f4f 7065 6e52 544d 2f44 6174 6146 jp/OpenRTM/DataF
> 6c6f 7743 6f6d 706f 6e65 6e74 3a31 2e30 lowComponent:1.0
> 0065 7200 0100 0000 0000 0000 6400 0000 .er.........d...
> 0101 0200 0d00 0000 3135 372e 3832 2e34 ........157.82.4
> 2e32 3036 0000 87ea 0e00 0000 fe26 8fe4 .206.........&..
> 4d00 004a 9700 0000 0001 0000 0200 0000 M..J............
> 0000 0000 0800 0000 0100 0000 0054 5441 .............TTA
> 0100 0000 1c00 0000 0100 0000 0100 0100 ................
> 0100 0000 0100 0105 0901 0100 0100 0000 ................
> 0901 0100 ....
> omniORB: Creating Python ref to remote: root<1>
> target id : IDL:omg.org/CORBA/Object:1.0
> most derived id: IDL:openrtm.aist.go.jp/OpenRTM/DataFlowComponent:1.0
> omniORB: Send codeset service context: (ISO-8859-1,UTF-16)
> omniORB: Client attempt to connect to giop:tcp:157.82.4.206:60039
> omniORB: Scan for idle connections (1307159901,105553000)
> omniORB: Scavenger reduce idle count for strand 0x20b5200 to 23
> omniORB: Scavenger reduce idle count for strand 0x20d5050 to 23
> omniORB: Scan for idle connections done (1307159901,105553000).
> omniORB: Scan for idle connections (1307159906,105727000)
> omniORB: Scavenger reduce idle count for strand 0x20b5200 to 22
> omniORB: Scavenger reduce idle count for strand 0x20d5050 to 22
> _______________________________________________
> openrtm-users mailing list
> openrtm-users@openrtm.org
> http://www.openrtm.org/mailman/listinfo/openrtm-users
>
openrtmというよりomniorbの質問なのかもしれませんが,
ゾンビオブジェクトというのはどうして存在するのでしょうか?
無線LANのDHCPで動いているノートPCで作業しているのですが,
rtls としても返事が帰ってこないので,traceLevelをあげて見たところ
以下の様にでました.157.82.4.206というのは,昨日まで使っていた
無線LANのDHCPで今日はこのネットワークにつながっていないのですが,
sudo /etc/init.d/omniorb4-nameserver restart してもrebootしても
これは残っています.
RTSystemEditorをみてみると,確かにゾンビオブジェクトとして残っているので,
これらのオブジェクトをアイコンやメニューをつかって消すと,rtlsが使えるように
なりました.ちなみにOpenHRP3 のGrxUIも同様にゾンビがあると立ち上がらない,
という状態になっていました.
1) クリーンな状態でnameserverを立ち上げる方法はあるのでしょうか?
2) rtls,やGrxUIでゾンビオブジェクトがあったも機能するようにすることはできるのでしょうか?
4749 4f50 0102 0101 b800 0000 0c00 0000 GIOP............
0000 0000 0000 0000 3500 0000 4944 4c3a ........5...IDL:
6f70 656e 7274 6d2e 6169 7374 2e67 6f2e openrtm.aist.go.
6a70 2f4f 7065 6e52 544d 2f44 6174 6146 jp/OpenRTM/DataF
6c6f 7743 6f6d 706f 6e65 6e74 3a31 2e30 lowComponent:1.0
0065 7200 0100 0000 0000 0000 6400 0000 .er.........d...
0101 0200 0d00 0000 3135 372e 3832 2e34 ........157.82.4
2e32 3036 0000 87ea 0e00 0000 fe26 8fe4 .206.........&..
4d00 004a 9700 0000 0001 0000 0200 0000 M..J............
0000 0000 0800 0000 0100 0000 0054 5441 .............TTA
0100 0000 1c00 0000 0100 0000 0100 0100 ................
0100 0000 0100 0105 0901 0100 0100 0000 ................
0901 0100 ....
omniORB: Creating Python ref to remote: root<1>
target id : IDL:omg.org/CORBA/Object:1.0
most derived id: IDL:openrtm.aist.go.jp/OpenRTM/DataFlowComponent:1.0
omniORB: Send codeset service context: (ISO-8859-1,UTF-16)
omniORB: Client attempt to connect to giop:tcp:157.82.4.206:60039
omniORB: Scan for idle connections (1307159901,105553000)
omniORB: Scavenger reduce idle count for strand 0x20b5200 to 23
omniORB: Scavenger reduce idle count for strand 0x20d5050 to 23
omniORB: Scan for idle connections done (1307159901,105553000).
omniORB: Scan for idle connections (1307159906,105727000)
omniORB: Scavenger reduce idle count for strand 0x20b5200 to 22
omniORB: Scavenger reduce idle count for strand 0x20d5050 to 22
_______________________________________________
openrtm-users mailing list
openrtm-users@openrtm.org
http://www.openrtm.org/mailman/listinfo/openrtm-users