プロジェクト

全般

プロフィール

バグ #756

完了

OpenRTM-aist(C++)-v1.0.0 RC版のメモリーリーク対処による不具合

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

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

100%

予定工数:

説明

OpenRTM-aist(C++)-v1.0.0 RC版のメモリーリーク対処後(r1420)
examples/Compositeをテストした際、以下のメッセージが表示され終了する。

omniORB: ERROR -- trying to release an object with reference count <= 0.
CORBA::release() may have been called too many times on an object
reference.
Segmentation fault

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

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

メモリーリーク対処時(r1420)のもれがあり修正を行った。
var型へ変更後、_duplicate()追加が抜けていた。

OpenRTM-aist/src/lib/rtm/RTObject.h

struct ec_find
{
ec_find(ExecutionContext_ptr& ec)
// : m_ec(ec)
: m_ec(ExecutionContext::_duplicate(ec))//修正後 {
}
bool operator()(ExecutionContextService_ptr ecs) {
try {
ExecutionContext_var ec;
ec = ExecutionContext::_narrow(ecs);
return m_ec->_is_equivalent(ec);
}
catch (...) {
return false;
}
return false;
}
ExecutionContext_var m_ec;
}; // struct ec_find

以上

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