Actions
バグ #752
closedコンポーネントのデータポート接続時エラーの問題
Start date:
06/25/2009
Due date:
% Done:
100%
Estimated time:
Description
症状¶
データポート間の接続では、ConnectorProfileのpropertiesメンバーの要素としてdataport.subscription_typeを指定するが、
この値が"flush","new","periodic"などのように全て小文字になっていない場合、ポート接続時にエラーが発生する。
エラーメッセージは下記のとおり。
lt-ConnectorComp: ConnectorComp.cpp:131: int main(int, char**): Assertion `ret == RTC::RTC_OK' failed. Aborted (core dumped)
Updated by kurihara over 15 years ago
- Status changed from 新規 to 解決
- % Done changed from 0 to 100
対策
ConnectorProfile.propertiesのdataport.subscription_typeはOutPortPushConnector::createPublisher(Profile& profile)にて取得されているが、
この取得した値を使用してPublisherFactory::instance().createObject()をコールしているため、該当するPublisherを見つけることができない。¶
PublisherNew,PublisherFlush,PublisherPeriodicなどはそれぞれ、"new","flush","periodic"のようにすべて小文字のキーで登録されている。
このため、dataport.subscription_typeをプロパティから取得する場合は、coil::normalize()を用いて正規化する必要がある。
coil::normalize()にて正規化する処理を追加したOutPortPushConnector.cppはコミット済み。(リビジョン1408)
Actions