[openrtm-staff:772] Re: 7/20の作業報告(宮本)

宮本信彦 n-miyamoto @ aist.go.jp
2017年 7月 24日 (月) 18:58:38 JST


安藤様

宮本です。



> CORBAの初期化とかは、どのようにやってますか?
> HRTMのComponentManager::initOrb()等の処理との違いとかはあるでしょうか?


CORBAの初期化はHRTMと違いはありません。
HRTMの動作確認もしてみたのですが、HRTMも同じエラーが発生して動作が中断します。





原因の特定が難しそうなのでORBexpressのサンプルを見ながら添付ファイルのプログラムを作って動作確認してみたのですが、サーバント生成時の引数で動作が変わるようです。


以下はエラーが発生するコードです。


Hello_impl* the_servant = new Hello_impl;

the_servant->_this();





以下はエラーの発生しないコードです。

Hello_impl* the_servant = new Hello_impl(rootPOA, "test");

the_servant->_this();






--------------------------------------------------
宮本 信彦 n-miyamoto @ aist.go.jp
産業技術総合研究所 ロボットイノベーション研究センター
ロボットソフトウェアプラットフォーム研究チーム
テクニカルスタッフ

From: openrtm-staff [mailto:openrtm-staff-bounces @ openrtm.org] On Behalf Of Ando Noriaki
Sent: Friday, July 21, 2017 1:05 AM
To: openrtm-staff <openrtm-staff @ openrtm.org>
Subject: [openrtm-staff:763] Re: 7/20の作業報告(宮本)

CORBAの初期化とかは、どのようにやってますか?
HRTMのComponentManager::initOrb()等の処理との違いとかはあるでしょうか?
安藤


--
安藤慶昭@国立研究開発法人 産業技術総合研究所
  ロボットイノベーション研究センター
  ロボットソフトウェアプラットフォーム研究チーム長
  (兼務)首都大学東京 客員教授,  博士(工学)
  〒305-8568 つくば市梅園1-1-1 中央第2
  e-mail: n-ando @ aist.go.jp<mailto:n-ando @ aist.go.jp>, web: http://staff.aist.go.jp/n-ando
  OpenRTM-aist: http://www.openrtm.org

Noriaki Ando, Ph.D.
    Team Leader, Robot Software Platform Research Team,
    Robot Innovation Research Center, AIST
    Visiting Prof., Tokyo Metropolitan University
    AIST Tsukuba Central 2, Tsukuba, Ibaraki 305-8568 JAPAN
    e-mail: n-ando @ aist.go.jp<mailto:n-ando @ aist.go.jp>, web: http://staff.aist.go.jp/n-ando
    OpenRTM-aist: http://www.openrtm.org

2017年7月20日 20:26 宮本信彦 <n-miyamoto @ aist.go.jp<mailto:n-miyamoto @ aist.go.jp>>:
安藤様

宮本です。

本日の作業内容をお知らせします。

--------------------

VxWorksでカーネルモジュールがロードできなかった問題ですが、解決しました。
ldpccコマンドでリンクする際に-Lオプションと-lオプションでORBexpressのライブラリを指定していたのですが、HRTMではライブラリのパスをそのまま書いていたのでそのように修正したところ、何もエラーが出ずにロードできました。


(修正前)
ldppc -r -warn-common -S CMakeFiles/rtcd.dir/rtcd_vxorks.cpp.obj (省略) -o rtcd_partialImage.o ../../rtm/librtm.a (省略) -L/home/openrtm/OIS/ORBexpress/RT_2.8.4_PATCH_KC1/target/ppc_8xx-vxworks_6.6/gcc_4.1.2_ExLcRi/config_rt_full/lib (省略) -lOEnames (省略)

→

(修正後)
ldppc -r -warn-common -S CMakeFiles/rtcd.dir/rtcd_vxorks.cpp.obj (省略) -o rtcd_partialImage.o ../../rtm/librtm.a (省略) ../../coil/libcoil.a /home/openrtm/OIS/ORBexpress/RT_2.8.4_PATCH_KC1/target/ppc_8xx-vxworks_6.6/gcc_4.1.2_ExLcRi/config_rt_full/OENames_2.1.6/lib/libOEnames.a (省略)




動作確認も行ったのですが、RTCを生成しようとすると以下のメッセージが表示されて処理が中断するため上手く動作できていません。




0x0013f6f8 vxTaskEntry  +0x48 : 0x001ed7a4 ()
0x001ed7a4 shellTask    +0x4f0: shellExec ()
0x001ed1fc shellExec    +0x1c4: 0x001e512c ()
0x001e5364 shellInterpCparse+0x10f0: shellInterpCparse ()
0x001e4e14 shellInterpCparse+0xba0: 0x001e1334 ()
0x001e135c shellInterpCInit+0x1420: 0x001e1028 ()
0x001e1050 shellInterpCInit+0x1114: 0x001e0ea4 ()
0x001e0f60 shellInterpCInit+0x1024: shellInternalFunctionCall ()
0x001dc888 shellInternalFunctionCall+0xac : rtcd_main(char *, char *, char *, char *, char *, char *, char *, char *, char *) ()
0x03523df8 rtcd_main(char *, char *, char *, char *, char *, char *, char *, char *, char *)+0x37c: 0x035c9914 ()
0x035c9914 RTC::Manager::createComponent(const char *)+0x2020: RTC::FactoryCXX::create(RTC::Manager *) ()
0x0360ab94 RTC::FactoryCXX::create(RTC::Manager *)+0xd8 : RTC::Create<ConsoleIn>(RTC::Manager *) ()
0x0388e7d4 RTC::Create<ConsoleIn>(RTC::Manager *)+0xf8 : ConsoleIn::ConsoleIn(RTC::Manager *) ()
0x03527790 ConsoleIn::ConsoleIn(RTC::Manager *)+0x2c8: RTC::DataFlowComponentBase::DataFlowComponentBase(RTC::Manager *) [subobject] (0x3c5d420, 0x3a3f7f4, 0x3c24bc0)
0x03564b28 RTC::DataFlowComponentBase::DataFlowComponentBase(RTC::Manager *) [subobject]+0x48 : 0x035620e0 ()
0x035620e0 RTC::RTObject_impl::RTObject_impl(RTC::Manager *) [subobject]+0x6e8: POA_OpenRTM::DataFlowComponent::_this(const CORBA::EnvironmentWrapper &) ()
0x038b9e58 POA_OpenRTM::DataFlowComponent::_this(const CORBA::EnvironmentWrapper &)+0xf4 : PortableServer::POA::oe_this(PortableServer::ServantBase *, const CORBA::EnvironmentWrapper  ()
0x0384d724 PortableServer::POA::oe_this(PortableServer::ServantBase *, const CORBA::EnvironmentWrapper +0x1a0: 0x03874f54 ()
0x03874f54 PortableServer::POA::servant_to_reference(PortableServer::ServantBase *, const CORBA::EnvironmentWrapper +0x6b0: PortableServer::POA::init_bind_proxy(void *, void *, PortableServer::ServantBase  ()
0x0384b51c PortableServer::POA::init_bind_proxy(void *, void *, PortableServer::ServantBase +0x84 : 0x03832b94 ()
0x03832cec oe_TargetLocal::init(const unsigned char *, unsigned long, PortableServer+0x15c: oe_SystemId::generate(CORBA_Sequence<unsigned char> &) ()
0x03853338 oe_SystemId::generate(CORBA_Sequence<unsigned char> &)+0x30 : RTPortableServer::POA::create_reference_with_id_and_priority(const CORBA_Sequence<unsigned char> &, const char  ()




以上です。

--------------------------------------------------
宮本 信彦 n-miyamoto @ aist.go.jp<mailto:n-miyamoto @ aist.go.jp>
産業技術総合研究所 ロボットイノベーション研究センター
ロボットソフトウェアプラットフォーム研究チーム
テクニカルスタッフ

_______________________________________________
openrtm-staff mailing list
openrtm-staff @ openrtm.org<mailto:openrtm-staff @ openrtm.org>
http://www.openrtm.org/mailman/listinfo/openrtm-staff

-------------- next part --------------
HTMLの添付ファイルを保管しました...
URL: <http://www.openrtm.org/pipermail/openrtm-staff/attachments/20170724/c2c809a1/attachment-0001.html>
-------------- next part --------------
文字コード指定の無い添付文書を保管しました...
名前: server.cpp
URL:  <http://www.openrtm.org/pipermail/openrtm-staff/attachments/20170724/c2c809a1/attachment-0001.ksh>


More information about the openrtm-staff mailing list