操作
バグ #756
完了OpenRTM-aist(C++)-v1.0.0 RC版のメモリーリーク対処による不具合
ステータス:
終了
優先度:
通常
担当者:
-
対象バージョン:
-
開始日:
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
以上
操作