操作
バグ #783
完了複合化したコンポーネントの分解時にセグメントエラーが発生する
開始日:
2009/07/10
期日:
進捗率:
100%
予定工数:
説明
SimpleIOのConsoleIn,ConsoleOutコンポーネントをRTSystemEditorにて複合化後、
分解するとどちらか一方のRTCがセグメントエラーにて終了する。
動作確認を行ったリビジョンは、1437。
example/CompositeにあるComposite実行ファイルを実行して起動されるコンポーネント
群の複合・分解ではセグメントエラーは発生しない。
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)); } /*!
操作