Hello,
I have a system using ace+tao (2.1.5. + 6.1.5) and I have a problem with CORBA::ORB_init that leaks memory. valgrind stacktrace:
==1174== 808 bytes in 1 blocks are possibly lost in loss record 192 of 214 ==1174== at 0x4A07982: operator new[](unsigned long) (vg_replace_malloc.c:389)
==1174== by 0x3C726EF681: ACE_Array_Map<ACE_String_Base<char>, ACE_String_Base<char>, std::equal_to<ACE_String_Base<char> >
::ACE_Array_Map(unsigned long) (Array_Map.inl:13)==1174== by 0x3C726F1CFA: TAO_ORB_Parameters::TAO_ORB_Parameters() (params.cpp:68)
==1174== by 0x3C726EE78A: TAO_ORB_Core::TAO_ORB_Core(char const*, ACE_Intrusive_Auto_Ptr<ACE_Service_Gestalt>) (ORB_Core.cpp:268)
==1174== by 0x3C726E45CF: CORBA::ORB_init(int&, char**, char const*) (ORB.cpp:1290)
==1174== by 0x4B8E98: InterfaceThread::init() (InterfaceThread.cpp:598) ==1174== by 0x4B81D9: InterfaceThread::run() (InterfaceThread.cpp:523) ==1174== by 0x579384D: Thread::exec() (Thread.cpp:51)
==1174== by 0x5793781: Thread::execThread_(void*) (Thread.cpp:37)
==1174== by 0x37382077F0: start_thread (in /lib64/libpthread-2.12.so <http://libpthread-2.12.so>)
==1174== by 0x3737EE570C: clone (in /lib64/libc-2.12.so <http://libc-2.12.so>)
==1174==
==1174== 20,488 bytes in 1 blocks are possibly lost in loss record 211
of 214
==1174== at 0x4A07982: operator new[](unsigned long) (vg_replace_malloc.c:389)
==1174== by 0x3C726EF681: ACE_Array_Map<ACE_String_Base<char>, ACE_String_Base<char>, std::equal_to<ACE_String_Base<char> >
::ACE_Array_Map(unsigned long) (Array_Map.inl:13)==1174== by 0x3C726EE7A3: TAO_ORB_Core::TAO_ORB_Core(char const*, ACE_Intrusive_Auto_Ptr<ACE_Service_Gestalt>) (ORB_Core.cpp:268)
==1174== by 0x3C726E45CF: CORBA::ORB_init(int&, char**, char const*) (ORB.cpp:1290)
==1174== by 0x4B8E98: InterfaceThread::init() (InterfaceThread.cpp:598) ==1174== by 0x4B81D9: InterfaceThread::run() (InterfaceThread.cpp:523) ==1174== by 0x579384D: Thread::exec() (Thread.cpp:51)
==1174== by 0x5793781: Thread::execThread_(void*) (Thread.cpp:37)
==1174== by 0x37382077F0: start_thread (in /lib64/libpthread-2.12.so <http://libpthread-2.12.so>)
==1174== by 0x3737EE570C: clone (in /lib64/libc-2.12.so <http://libc-2.12.so>)
==1174==
==1174== 32,776 bytes in 1 blocks are possibly lost in loss record 213
of 214
==1174== at 0x4A06E7C: operator new[](unsigned long, std::nothrow_t const&) (vg_replace_malloc.c:420)
==1174== by 0x3C72328141:
ACE_Notification_Queue::allocate_more_buffers() (Notification_Queue.cpp:83) ==1174== by 0x3C7232884F: ACE_Notification_Queue::open() (Notification_Queue.cpp:38)
==1174== by 0x3C723509EB: ACE_Select_Reactor_Notify::open(ACE_Reactor_Impl*, ACE_Abstract_Timer_Queue<ACE_Event_Handler*>*, int) (Select_Reactor_Base.cpp:619)
==1174== by 0x3C7236E667: ACE_Select_Reactor_T<ACE_Reactor_Token_T<ACE_Token> >::open(unsigned
long, bool, ACE_Sig_Handler*,
ACE_Abstract_Timer_Queue<ACE_Event_Handler*>*, int, ACE_Reactor_Notify*) [clone .clone.3] (Select_Reactor_T.cpp:424)
==1174== by 0x3C7236EAB0: ACE_Select_Reactor_T (Select_Reactor_T.cpp:549) ==1174== by 0x3C7236EAB0: ACE_TP_Reactor::ACE_TP_Reactor(unsigned
long, bool, ACE_Sig_Handler*,
ACE_Abstract_Timer_Queue<ACE_Event_Handler*>*, bool, int) (TP_Reactor.cpp:114)
==1174== by 0x3C726A2A57: TAO_Default_Resource_Factory::allocate_reactor_impl() const (default_resource.cpp:768)
==1174== by 0x3C726A2903: TAO_Default_Resource_Factory::get_reactor() (default_resource.cpp:786)
==1174== by 0x3C726CF7EE: TAO_Leader_Follower::reactor() (Leader_Follower.cpp:152)
==1174== by 0x3C726EC533: TAO_ORB_Core::init(int&, char**) (ORB_Core.cpp:1249)
==1174== by 0x3C726E47C9: CORBA::ORB_init(int&, char**, char const*) (ORB.cpp:1355)
==1174== by 0x4B8E98: InterfaceThread::init() (InterfaceThread.cpp:598)
orb is of type CORBA::ORB_var;
InterfaceThread.cpp:598 orb = CORBA::ORB_init(argc, argv);
then in InterafceThread destructor I release it:
if (CORBA::is_nil(orb.in <http://orb.in>()) == false) {
orb->shutdown(1);
orb->destroy();
CORBA::release(orb);
orb = CORBA::ORB::_nil();
}
I do not know what is the problem here. Can anyone help me here? I have tried to dig in forums but I encounter 14 year old threads :)
--
kind regards, pozdrawiam,
Patryk Małek
_______________________________________________
tao-users mailing list
tao-users@list.isis.vanderbilt.edu http://list.isis.vanderbilt.edu/cgi-bin/mailman/listinfo/tao-users
Sysop: | Keyop |
---|---|
Location: | Huddersfield, West Yorkshire, UK |
Users: | 296 |
Nodes: | 16 (2 / 14) |
Uptime: | 57:15:11 |
Calls: | 6,652 |
Calls today: | 4 |
Files: | 12,200 |
Messages: | 5,331,018 |