[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 メーリングリストの案内