OpenRTM / OpenRTM-aist

OpenRTM-aist: RT-Middleware and OMG RTC implementation in C++ implemented by AIST
https://openrtm.org/
Other
19 stars 12 forks source link

get_organizations() 使用方法の間違いによるメモリリーク #671

Closed r-kurose closed 4 years ago

r-kurose commented 4 years ago

Describe the bug get_organizations() の使用側の CORBA 作法ミスによるメモリリークの発生。

To Reproduce

669 参照

Reproducibility 100%

Expected behavior データが開放されること

Screenshots or Logs

669 より、

Direct leak of 24 byte(s) in 1 object(s) allocated from:
    #0 0x362f12 in operator new(unsigned long) (/tmp/build/examples/SimpleIO/ConsoleOutComp+0x362f12)
    #1 0x7efda331e283 in RTC::RTObject_impl::get_organizations() /tmp/OpenRTM-aist/src/lib/rtm/RTObject.cpp:1352:15
    #2 0x7efda33102b8 in RTC::RTObject_impl::exit() /tmp/OpenRTM-aist/src/lib/rtm/RTObject.cpp:398:51
    #3 0x7efda372cdb4 in _0RL_lcfn_bf82f9885dac07a6_f0000000(omniCallDescriptor*, omniServant*) /tmp/build/src/lib/rtm/idl/RTCSK.cc:968:23
    #4 0x7efda27201e5 in omniCallDescriptor::doLocalCall(omniServant*) /opt/openrtm/omniORB-4.2.3/src/lib/omniORB/orbcore/../../../../include/omniORB4/callDescriptor.h:143:15
    #5 0x7efda277761f in omniCallHandle::upcall(omniServant*, omniCallDescriptor&) /opt/openrtm/omniORB-4.2.3/src/lib/omniORB/orbcore/callHandle.cc:121:18
    #6 0x7efda3730b86 in RTC::_impl_LightweightRTObject::_dispatch(omniCallHandle&) /tmp/build/src/lib/rtm/idl/RTCSK.cc:1417:13
    #7 0x7efda376aa48 in RTC::_impl_RTObject::_dispatch(omniCallHandle&) /tmp/build/src/lib/rtm/idl/RTCSK.cc:7231:34
    #8 0x7efda3718c64 in OpenRTM::_impl_DataFlowComponent::_dispatch(omniCallHandle&) /tmp/build/src/lib/rtm/idl/OpenRTMSK.cc:256:27
    #9 0x7efda2764c6f in omni::omniOrbPOA::dispatch(omniCallHandle&, omniLocalIdentity*) /opt/openrtm/omniORB-4.2.3/src/lib/omniORB/orbcore/poa.cc:1710:32
    #10 0x7efda2746365 in omniLocalIdentity::dispatch(omniCallHandle&) /opt/openrtm/omniORB-4.2.3/src/lib/omniORB/orbcore/localIdentity.cc:180:23
    #11 0x7efda279f560 in omni::GIOP_S::handleRequest() /opt/openrtm/omniORB-4.2.3/src/lib/omniORB/orbcore/GIOP_S.cc:243:19
    #12 0x7efda279f013 in omni::GIOP_S::dispatcher() /opt/openrtm/omniORB-4.2.3/src/lib/omniORB/orbcore/GIOP_S.cc:153:27
    #13 0x7efda279bc09 in omni::giopWorker::execute() /opt/openrtm/omniORB-4.2.3/src/lib/omniORB/orbcore/giopWorker.cc:77:36
    #14 0x7efda273c09b in omniAsyncWorker::real_run() /opt/openrtm/omniORB-4.2.3/src/lib/omniORB/orbcore/invoker.cc:578:23
    #15 0x7efda273c37e in omniServerWorkerInfo::run() /opt/openrtm/omniORB-4.2.3/src/lib/omniORB/orbcore/invoker.cc:682:24
    #16 0x7efda273d6ad in omniAsyncPoolServer::workerRun(omniAsyncWorker*) /opt/openrtm/omniORB-4.2.3/src/lib/omniORB/orbcore/invoker.cc:328:13
    #17 0x7efda273bc3d in omniAsyncWorker::mid_run() /opt/openrtm/omniORB-4.2.3/src/lib/omniORB/orbcore/invoker.cc:511:23
    #18 0x7efda273c30e in omniAsyncWorkerInfo::run() /opt/openrtm/omniORB-4.2.3/src/lib/omniORB/orbcore/invoker.cc:662:23
    #19 0x7efda273d2e5 in omniAsyncWorker::run(void*) /opt/openrtm/omniORB-4.2.3/src/lib/omniORB/orbcore/invoker.cc:126:13
    #20 0x7efda3b91c67 in omni_thread_wrapper (/opt/openrtm/omniORB-4.2.3/lib/libomnithread.so.4+0x4c67)

上記以外に同様の箇所があるかは未調査。 Environment

669 参照

Additional context

r-kurose commented 4 years ago

マージ完了

r-kurose commented 4 years ago

マージ完了