[openrtm-users 02407] Re: RTCTreeの呼び出し条件

kumagai @ tjcc.tohoku-gakuin.ac.jp kumagai @ tjcc.tohoku-gakuin.ac.jp
2012年 1月 30日 (月) 10:27:19 JST


ジェフ様

熊谷でございます。
こちらの件もありがとうございます。

こちらも、PARANOIDログを出してみます。
PARANOIDログは大きくなるので、MLではなく、直接お送りします。

(ゾンビ化した)コンポーネント自体への接続やアクティベート操作はせずに、
rtctreeを呼んだ時点でなにか起きていたので(&接続・アクティベートを
別のスクリプトに分離して os.system("")で呼ぶのは問題ないので)、
コンポーネントとrtctreeでなにか競合している変数かなにかあるのかもと
想像したのですが、rtctreeを呼ぶだけで、いろいろな情報をコンポーネント
から抜き出すわけですね。

では、後ほど、よろしくお願い致します。

> > 先ほどとは別件の、RTC treeに関する質問です。
> > Python版 (OpenRTM-aist 1.1) でコンポーネントを作り、そのコンポーネント
> > 自身で関連するコンポーネントのアクティベートとポート間接続をしようと、
> > rtshellのコードを参考に(ほぼそのままコピー)して、関数を書きました。

> > 具体的には、
> > mgr=OpenRTM_aist.Maneger.init(sys.argv)
> > mgr.setModuleInitProc(...)
> > mgr.activateManager()
> > mgr.runManager(True)<- non-blocking
> > time.sleep(2)
> > ActivateComponent(他のコンポーネント) :自前の関数呼び出し
> > 
> > ActivateComponent内:
> > comppath,compport = rtctree.path.parse_path(コンポーネントパス)
> > tree=rtctree.tree.RTCTree(paths=comppath, filter=[comppath])
> >  :
> > 
> > で、parse_pathの呼び出しまでは問題なし、RTCTreeを呼ぶと、それまで
> > 動いていたコンポーネントがゾンビ化することが確認できました。
> > ゾンビ化したことで、自分自身のアクティベートと自分のポート接続は
> > できませんが、他のコンポーネントに関わるアクティベートと接続は
> > そのままできました。

> rtctree.tree.RTCTree()を呼ぶ時、rtctreeはコンポーネントから色々な情報を
> 認めます。コンポーネントがゾンビーになる(つまりクラッシュした)というこ
> とはコンポーネントが何かのCORBAコールで失敗している可能性が高いです。そ
> のコンポーネントのrtc.confにlog_levelをPARANOIDにして、出力されたログ
> ファイルを見たらどこでクラッシュしているかが分かるかもしれません。添付で
> 送って頂けませんか。

--------------------------------------------
東北学院大学工学部 機械知能工学科 熊谷正朗



openrtm-users メーリングリストの案内