start-jsk / rtmros_common

OpenRTM - ROS interoperability packages
http://wiki.ros.org/rtmros_common
12 stars 52 forks source link

hrpsys_config.pyでrtcにservice0という名前のservice consumerがあると落ちる #153

Closed k-okada closed 10 years ago

k-okada commented 10 years ago

From nakaokat on July 31, 2013 15:37:29

hrpsys_config.pyで立ち上げるRTCの中にservice0という名前でregisterConsumerしているものがあると、 createCompsの中などのcomp.service("service0")で落ちてしまいます。 rtm.pyの596行目でエラーが出ていて、findServiceにconsumerの名前を与えると落ちるということのようです。

hrpsys-baseのrtm.pyのfindService()でconsumerかproviderか判別してエラー落ちしないようにするか、 そもそもconsumerはservice0というインスタンス名にしない決まりにするかだと思います。

Original issue: http://code.google.com/p/rtm-ros-robotics/issues/detail?id=153

k-okada commented 10 years ago

From nakaokat on July 31, 2013 03:59:14

http://www.openrtm.org/OpenRTM-aist/documents/1.0/cxx/classreference_ja/classRTC_1_1CorbaPort.html#a70d4b49921c82916181aa681eea2ab2b を見ると、 instance_name Consumer が要求するサービスのインスタンス名 となっているので、service0というインスタンスのサービスに接続するために、 registerConsumerでservice0を指定するのは自然なことでした。

comp.service("service0")とされたときに、providerのみ見るように変更するのが良いのでしょうか。 rtm.pyも変更が必要になる気がします。

k-okada commented 10 years ago

From nakaokat on July 31, 2013 04:25:33

rtm.pyのパッチです。 findServiceで、polarityがPROVIDEDのもののみ返すようにしました。 これで動きますが、findServiceでconsumerを取ってくることができなくなります。

Index: python/rtm.py

--- python/rtm.py (リビジョン 809) +++ python/rtm.py (作業コピー) @@ -586,7 +586,8 @@ for aif in ifs:

print "IF name:",aif.instance_name

        #print "IF type:",aif.type_name

Status: Started

k-okada commented 10 years ago

From nakaokat on July 31, 2013 04:34:15

hrpsys-baseの話なのでこちらに移します。 https://code.google.com/p/hrpsys-base/issues/detail?id=126 #google codeにはupstreamというステータスはないんでしょうか

Status: WontFix