[openrtm-devel:00379] Re: Manager::getPOAからのPOA::reference_to_servantでWrongAdapterエラーが出てるのですが・・・

Ando Noriaki n-ando @ aist.go.jp
2014年 6月 13日 (金) 00:07:53 JST


安藤です

poa->reference_to_servant(comp) ってException出るんですね?
単にNULLが帰ってくるのだと思っていました。単純にcatchし忘れですねこれ。
ちなみに,m_rtobjPtr はNULLでも大丈夫なようになっています。

----
経済産業省 産業機械課 情報化推進係長
博士(工学) 安藤 慶昭
TEL: 029-861-5981 (携帯) TEL: 03-3501-1691(産機課代表)
TEL: 03-3501-1512(経産省代表)→ 72545(個人PHS)
E-MAIL: ando-noriaki @ meti.go.jp

Noriaki Ando, Ph.D. Assistant Director
Industrial Machinery Division, Manufacturing Industries Bureau
Ministry of Economy, Trade and Industry
E-MAIL: ando-noriaki @ meti.go.jp


2014年6月12日 22:40  <ysuga @ ysuga.net>:
> お世話になります.菅です.
> CORBAの初歩的な質問かもしれませんが,どなたか教えてください.
> v_repというシミュレータ内でManagerを立て,RTCを起動し,外からシミュレータ全体をサービスポートで制御するプラグインを開発をしています.
> そのサービスポートで,さらに外部プロセスのRTCのURIを投げると,その外部RTCに対して,シミュレータ内でSynchExtTriggerECを生成し,addComponentをするようにしています.
> 結果としてECが2つ,RTCに取り付く形になっちゃいますが,こうすると,何気なく起動したRTCを同期させることが出来ると考えています.
> ・・・が,上手く行きません.外部のRTCはJava版およびC++版のRTCですが同様の失敗です.シミュレータはC++版です.
> 上手く行かない症状は, 0.addComponentの返り値が2
> (BAD_PARAMETER?)になる.
> 1.participantsのECがSystemEditorで上手く表示されない.rateなどがnullと表示されてしまう.
> 2.addComponentした直後のactivate_componentが失敗する.
> C++のtrunkのコードを追っていくと,ECから外部のRTCのRTObject_ptrに対してaddComponent()をすると,RTObjectのattach_context()の呼び出し後に,
> RTObjectStateMachineを生成して,そのコンストラクタの中で,setComponentAction()メソッド内で,
> Manager::getPOA()で得たアダプタでreference_to_servantをやっているようですが,この部分で失敗しているようです.
> ログを見てみましたが,この辺のログ出力があまりないのです・・・が,おおよそこの辺で失敗して,CORBA::Exceptionを送出しているというのは分かりました.
> この部分のコードだけ取り出して実験してみたところ,reference_to_servantの部分でCORBA::WrongAdapterExceptionを送出してしまいます.
> そもそもオブジェクトをactivateしたアダプタじゃないと,reference_to_servantできないと思うのですが,
> 僕の使い方が悪いのでしょうか?
> どなたか詳しい方,回避方法など教えていただけませんか?
>
> _______________________________________________
> openrtm-devel mailing list
> openrtm-devel @ openrtm.org
> http://www.openrtm.org/mailman/listinfo/openrtm-devel


More information about the openrtm-devel mailing list