プロジェクト

全般

プロフィール

バグ #621

完了

OpenRTM-aist(C++)-「Create/Delete」Componentでのメモリリーク

匿名ユーザー さんが15年以上前に追加. 15年以上前に更新.

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

100%

予定工数:

説明

RTCの生成・破棄に関するオペレーション(CreateDeleteRTCTest.py)で
delete_component()、create_component()をセットで呼び出した場合、
ConfigSampleでは、32~37回毎に4KBのメモリ増加となる。
メモリリークの原因を特定する。

匿名ユーザー さんが15年以上前に更新

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

以下の修正を行い、動作確認でメモリーリークの発生なし。

●ManagerServant.h
// ::RTM::Manager_ptr m_objref;
::RTM::Manager_var m_objref;//修正後

●PeriodicECSharedComposite.cpp
PeriodicECOrganization::addPort()
// m_rtobj->registerPort(::RTC::PortService::_duplicate(plist[i].port_ref));
m_rtobj->registerPort(plist[i].port_ref);//修正後

●InPortCorbaCdrProvider.cpp
InPortCorbaCdrProvider::InPortCorbaCdrProvider()
CORBA_SeqUtil::
push_back(m_properties,
NVUtil::newNV("dataport.corba_cdr.inport_ref",
// ::OpenRTM::InPortCdr::_duplicate(m_objref)));
m_objref));//修正後

●OutPortCorbaCdrProvider.cpp
OutPortCorbaCdrProvider::OutPortCorbaCdrProvider()
CORBA_SeqUtil::
push_back(m_properties,
NVUtil::newNV("dataport.corba_cdr.outport_ref",
// ::OpenRTM::OutPortCdr::_duplicate(m_objref)));
m_objref));//修正後

以上

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