プロジェクト

全般

プロフィール

バグ #783

複合化したコンポーネントの分解時にセグメントエラーが発生する

kuriharaほぼ15年前に追加. 14年以上前に更新.

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

100%

予定工数:

説明

SimpleIOのConsoleIn,ConsoleOutコンポーネントをRTSystemEditorにて複合化後、
分解するとどちらか一方のRTCがセグメントエラーにて終了する。
動作確認を行ったリビジョンは、1437。

example/CompositeにあるComposite実行ファイルを実行して起動されるコンポーネント
群の複合・分解ではセグメントエラーは発生しない。

履歴

#1 kuriharaほぼ15年前に更新

  • ステータス新規 から 解決 に変更
  • 進捗率0 から 100 に変更

[[]]PortAdmin.cppのregisterPort(PortService_ptr port)メソッドにて、引数のportをメンバー変数に格納する際、_duplicate()がされていなかったのが原因だった。

下記のように修正することでコンポーネントの複合・分解でのエラーは発生しなくなった。

$ svn diff PortAdmin.cpp 
Index: PortAdmin.cpp
===================================================================
--- PortAdmin.cpp    (リビジョン 1443)
+++ PortAdmin.cpp    (作業コピー)
@@ -157,7 +157,7 @@

   void PortAdmin::registerPort(PortService_ptr port)
   {
-    CORBA_SeqUtil::push_back(m_portRefs, port);
+    CORBA_SeqUtil::push_back(m_portRefs, RTC::PortService::_duplicate(port));
   }

   /*!

#2 kuriharaほぼ15年前に更新

  • 担当者kurihara にセット

#3 n-ando14年以上前に更新

  • ステータス解決 から 終了 に変更

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