Project

General

Profile

Actions

バグ #783

closed

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

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

Status:
終了
Priority:
通常
Assignee:
Target version:
-
Start date:
07/10/2009
Due date:
% Done:

100%

Estimated time:

Description

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

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

Actions #1

Updated by kurihara about 15 years ago

  • Status changed from 新規 to 解決
  • % Done changed from 0 to 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));
   }

   /*!

Actions #2

Updated by kurihara about 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