Project

General

Profile

Actions

バグ #752

closed

コンポーネントのデータポート接続時エラーの問題

Added by kurihara over 15 years ago. Updated about 15 years ago.

Status:
終了
Priority:
通常
Assignee:
Target version:
-
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)
Actions #1

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 #2

Updated by Anonymous over 15 years ago

  • Assignee set to kurihara
Actions #3

Updated by n-ando about 15 years ago

  • Status changed from 解決 to 終了
Actions

Also available in: Atom PDF