[openrtm-users 00938] 同一インターフェースのProvider,Consumerを持つサービスポートの不具合(OpenRTM-aist 0.4.2 C++)

Takashi Kojima tkjim48 @ gmail.com
2009年 9月 4日 (金) 11:23:42 JST


中央大学の小島と申します。

いつもお世話になっております。

もしかしたら、バグなのでは?ということが見つかったので報告させていただきます。
使っているVersionは0.4.2のC++で、Ubutnsu 8.0.4を使っています。

同一インターフェース(Interface name, type
nameともに、同じ名前)のProvider,Consumerを持つサービスポートを他のコンポーネントと接続しました。
すると、自分の中の、ServicePortとConsumerPortをつないでしまう現象が発生しました。(外部と接続することもあるので、動作が不定です)
なお、接続にはRTCLinkを使って接続をいたしました。

ただし、厳密には、実装時に、デフォルトのコンストラクタを拡張し、
ServicePort側に、Consumer側の情報を持つものと、持たないもので接続しておりますが、
これの内容が違うというだけで接続がおかしくなるということは、原因ではないと考えます。

構成したポートの例は以下のようになります。

Service Port
  - port.port_type : CorbaPort

  - Port Interface Profile
     - interface name : XXXPort
     - typename : XXXPort
     - port interface polarity PROVIDED

  - Port Interface Profile
     - interface name : XXXPort
     - typename : XXXPort
     - port interface polarity REQUIRED

以下が、再現用のIDLです。

interface XXXPort
{
	short set(in string name, in short version);
};



この問題を、回避または解決する方法として、
Interface nameもしくは、type nameを変えることが考えられますが、
その方法でしか解決できないのでしょうか?

ご存知の方がいらっしゃいましたら、ご教授いただけると幸いです。

また、Version 1.0.0で、この現象についてテストはおこなっていませんが、同じ現象が起こりうるのでしょうか?
ご教授いただけると幸いです。


環境はOpenRTM-aist-0.4.2, OSはUbuntsu 8.0.4 , コンパイラはgcc 4.2です。
以上、よろしくお願いいたします。

__________________________________________________________________
Takashi KOJIMA
E-Mail : tkjim48 @ gmail.com
Skype : tkjim48
MSN: taka_lx_xl_ @ hotmail.com




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