プロジェクト

全般

プロフィール

バグ #1776

get_port_profile()で例外が出るケースがあるがそれをエラーコードにする。

n-ando13年以上前に追加. ほぼ9年前に更新.

ステータス:
終了
優先度:
通常
担当者:
対象バージョン:
-
開始日:
2010/08/16
期日:
進捗率:

100%

予定工数:

説明

OpenRTM-aist開発者の皆様

株式会社セックの大和田です。
お世話になっております。

OpenRTM-aist-1.0.0-RELEASEの複合コンポーネントの
コンポーネントプロファイル取得について、
ご検討していただきたい点がございます。

複合コンポーネントのコンポーネントプロファイルを、
取得するとき、子コンポーネントが終了していた場合、
複合コンポーネントがアボートします。
コンソールには以下のようなメッセージが表示されます。
Assertion failed: false, file c:\final_build\vc9-4\openrtm-aist\rtm\rtobject.cpp, line 694

具体的には、RTObject_impl::get_component_profile()で、
コンポーネントプロファイルを取得するとき、
ポートプロファイルリストを取得しております。
(RTObject.cppの687行目)
このとき、PortAdmin::getPortProfileList()では、
リストに既に存在していないポートがあった場合、
存在していないポートに対して、PortBase::get_port_profile()
を実行しようとするため、Exceptionが発生し、
コンポーネントがアボートしてしまいます。
(PortAdmin.hの537行目)

複合コンポーネントがアボートせず、何らかのエラーを返すような
実装にしていただくことはできないでしょうか。

関係しているリビジョン

リビジョン 2132 (差分)
n-andoほぼ13年前に追加

get_port_profile() are enclosed by try-catch, and they return false now.
refs #1776

リビジョン 2132 (差分)
n-andoほぼ13年前に追加

get_port_profile() are enclosed by try-catch, and they return false now.
refs #1776

リビジョン 2134 (差分)
n-andoほぼ13年前に追加

msi's UpgradeCode has been updated. refs #1776

リビジョン 2134 (差分)
n-andoほぼ13年前に追加

msi's UpgradeCode has been updated. refs #1776

履歴

#1 n-andoほぼ13年前に更新

  • 担当者n-ando にセット
  • 対象バージョンRELEASE_1_1_0 にセット

#2 n-andoほぼ13年前に更新

  • 進捗率0 から 90 に変更

PortAdminでget_port_profile()を呼び出しているところをtry-catchで囲んだ。

#3 n-andoほぼ13年前に更新

  • ステータス新規 から 終了 に変更
  • 進捗率90 から 100 に変更

#4 n-andoほぼ9年前に更新

  • 対象バージョン を削除 (RELEASE_1_1_0)

他の形式にエクスポート: Atom PDF