[Ace-users] tao ssliop memory leaks
Venkat
swara101 at yahoo.com
Fri Nov 30 13:05:32 CST 2007
Hello TAO team,
TAO VERSION: 1.6.1
ACE VERSION: 5.6.1
HOST MACHINE and OPERATING SYSTEM:
Solaris 10, i386
TARGET MACHINE and OPERATING SYSTEM, if different from HOST:
COMPILER NAME AND VERSION (AND PATCHLEVEL):
Solaris 10, i386
THE $ACE_ROOT/ace/config.h FILE [if you use a link to a platform-
specific file, simply state which one]:
generation via autoconf
THE $ACE_ROOT/include/makeinclude/platform_macros.GNU FILE [if you
use a link to a platform-specific file, simply state which one
(unless this isn't used in this case, e.g., with Microsoft Visual
C++)]:
n/a
CONTENTS OF $ACE_ROOT/bin/MakeProjectCreator/config/
default.features
(used by MPC when you generate your own makefiles):
ssl
AREA/CLASS/EXAMPLE AFFECTED:
DOES THE PROBLEM AFFECT:
COMPILATION? no
LINKING? no
EXECUTION? Yes
SYNOPSIS:
Memory leaks in TAO::SSLIOP codebase
DESCRIPTION:
Client and Server on different nodes with SSLIOP enabled. As
Server is processing requests, memory is growing.
I ran memory detector tool, and finding leaks as shown below.
Pls. let me know why those are shown as leaks, and what would be the
cause?
libumem.so.1`umem_cache_alloc_debug+0x12b
libumem.so.1`umem_cache_alloc+0xc8
libumem.so.1`umem_alloc+0xaf
libumem.so.1`malloc+0x2e
libCrun.so.1`void*operator new(unsigned long,const
std::nothrow_t&)+0x28
libTAO.so.
1.6.1`TAO_Wait_Strategy*TAO_Default_Client_Strategy_Factory::create_wait_strategy(TAO_Transport*)
+0x2c1
libTAO.so.1.6.1`TAO_Transport::TAO_Transport
#Nvariant 1(unsigned,TAO_ORB_Core*,unsigned long)+0x438
libTAO_SSLIOP.so.
1.6.1`TAO::SSLIOP::Transport::Transport #Nvariant
1(TAO::SSLIOP::Connection_Handler*,TAO_ORB_Core*)+0x4f
libTAO_SSLIOP.so.
1.6.1`TAO::SSLIOP::Connection_Handler::Connection_Handler #Nvariant
1(TAO_ORB_Core*)+0x1bb
libTAO_SSLIOP.so.1.6.1`int
TAO_Connect_Creation_Strategy<TAO::SSLIOP::Connection_Handler>::make_svc_handler(TAO::SSLIOP::Connection_Handler*&)
+0x9c
libTAO_SSLIOP.so.
1.6.1`TAO_Transport*TAO::SSLIOP::Connector::ssliop_connect(TAO_SSLIOP_Endpoint*,Security::QOP,const
Security::EstablishTrust&,TAO::Profile_Transport_Resolver*,TAO_Transport_Descriptor_Interface*,ACE_Time_Value*)
+0x331
libTAO_SSLIOP.so.
1.6.1`TAO_Transport*TAO::SSLIOP::Connector::connect(TAO::Profile_Transport_Resolver*,TAO_Transport_Descriptor_Interface*,ACE_Time_Value*)
+0x979
libTAO.so.1.6.1`bool
TAO::Profile_Transport_Resolver::try_connect_i(TAO_Transport_Descriptor_Interface*,ACE_Time_Value*,bool)
+0x278
libTAO.so.1.6.1`bool
TAO::Profile_Transport_Resolver::try_connect(TAO_Transport_Descriptor_Interface*,ACE_Time_Value*)
+0x32
libTAO.so.1.6.1`void
TAO_Default_Endpoint_Selector::select_endpoint(TAO::Profile_Transport_Resolver*,ACE_Time_Value*)
+0x261
libumem.so.1`umem_cache_alloc_debug+0x12b
libumem.so.1`umem_cache_alloc+0xc8
libumem.so.1`umem_alloc+0xaf
libumem.so.1`malloc+0x2e
libCrun.so.1`void*operator new(unsigned long,const
std::nothrow_t&)+0x28
libTAO_SSLIOP.so.
1.6.1`ACE_Task<ACE_NULL_SYNCH>::ACE_Task #Nvariant
1(ACE_Thread_Manager*,ACE_Message_Queue<ACE_NULL_SYNCH>*)+0x127
libTAO_SSLIOP.so.
1.6.1`ACE_Svc_Handler<ACE_SSL_SOCK_Stream,ACE_NULL_SYNCH>::ACE_Svc_Handler
#Nvariant
1(ACE_Thread_Manager*,ACE_Message_Queue<ACE_NULL_SYNCH>*,ACE_Reactor*)
+0x5b
libTAO_SSLIOP.so.
1.6.1`TAO::SSLIOP::Connection_Handler::Connection_Handler #Nvariant
1(TAO_ORB_Core*)+0xa2
libTAO_SSLIOP.so.1.6.1`int
TAO_Connect_Creation_Strategy<TAO::SSLIOP::Connection_Handler>::make_svc_handler(TAO::SSLIOP::Connection_Handler*&)
+0x9c
libTAO_SSLIOP.so.
1.6.1`TAO_Transport*TAO::SSLIOP::Connector::ssliop_connect(TAO_SSLIOP_Endpoint*,Security::QOP,const
Security::EstablishTrust&,TAO::Profile_Transport_Resolver*,TAO_Transport_Descriptor_Interface*,ACE_Time_Value*)
+0x331
libTAO_SSLIOP.so.
1.6.1`TAO_Transport*TAO::SSLIOP::Connector::connect(TAO::Profile_Transport_Resolver*,TAO_Transport_Descriptor_Interface*,ACE_Time_Value*)
+0x979
libTAO.so.1.6.1`bool
TAO::Profile_Transport_Resolver::try_connect_i(TAO_Transport_Descriptor_Interface*,ACE_Time_Value*,bool)
+0x278
libTAO.so.1.6.1`bool
TAO::Profile_Transport_Resolver::try_connect(TAO_Transport_Descriptor_Interface*,ACE_Time_Value*)
+0x32
libTAO.so.1.6.1`void
TAO_Default_Endpoint_Selector::select_endpoint(TAO::Profile_Transport_Resolver*,ACE_Time_Value*)
+0x261
libTAO.so.1.6.1`void
TAO::Profile_Transport_Resolver::resolve(ACE_Time_Value*)+0xb3
libumem.so.1`umem_cache_alloc_debug+0x12b
libumem.so.1`umem_cache_alloc+0xc8
libumem.so.1`umem_alloc+0xaf
libumem.so.1`malloc+0x2e
libCrun.so.1`void*operator new(unsigned long,const
std::nothrow_t&)+0x28
libTAO.so.
1.6.1`ACE_Lock*TAO_Default_Resource_Factory::create_cached_connection_lock()
+0x121
libTAO.so.1.6.1`TAO_Transport::TAO_Transport
#Nvariant 1(unsigned,TAO_ORB_Core*,unsigned long)+0x196
libTAO_SSLIOP.so.
1.6.1`TAO::SSLIOP::Transport::Transport #Nvariant
1(TAO::SSLIOP::Connection_Handler*,TAO_ORB_Core*)+0x4f
libTAO_SSLIOP.so.
1.6.1`TAO::SSLIOP::Connection_Handler::Connection_Handler #Nvariant
1(TAO_ORB_Core*)+0x1bb
libTAO_SSLIOP.so.1.6.1`int
TAO_Connect_Creation_Strategy<TAO::SSLIOP::Connection_Handler>::make_svc_handler(TAO::SSLIOP::Connection_Handler*&)
+0x9c
libTAO_SSLIOP.so.
1.6.1`TAO_Transport*TAO::SSLIOP::Connector::ssliop_connect(TAO_SSLIOP_Endpoint*,Security::QOP,const
Security::EstablishTrust&,TAO::Profile_Transport_Resolver*,TAO_Transport_Descriptor_Interface*,ACE_Time_Value*)
+0x331
libTAO_SSLIOP.so.
1.6.1`TAO_Transport*TAO::SSLIOP::Connector::connect(TAO::Profile_Transport_Resolver*,TAO_Transport_Descriptor_Interface*,ACE_Time_Value*)
+0x979
libTAO.so.1.6.1`bool
TAO::Profile_Transport_Resolver::try_connect_i(TAO_Transport_Descriptor_Interface*,ACE_Time_Value*,bool)
+0x278
libTAO.so.1.6.1`bool
TAO::Profile_Transport_Resolver::try_connect(TAO_Transport_Descriptor_Interface*,ACE_Time_Value*)
+0x32
libTAO.so.1.6.1`void
TAO_Default_Endpoint_Selector::select_endpoint(TAO::Profile_Transport_Resolver*,ACE_Time_Value*)
+0x261
libumem.so.1`umem_cache_alloc_debug+0x12b
libumem.so.1`umem_cache_alloc+0xc8
libumem.so.1`umem_alloc+0xaf
libumem.so.1`malloc+0x2e
libCrun.so.1`void*operator new(unsigned long,const
std::nothrow_t&)+0x28
libTAO.so.1.6.1`TAO_Transport::TAO_Transport
#Nvariant 1(unsigned,TAO_ORB_Core*,unsigned long)+0x4af
libTAO_SSLIOP.so.
1.6.1`TAO::SSLIOP::Transport::Transport #Nvariant
1(TAO::SSLIOP::Connection_Handler*,TAO_ORB_Core*)+0x4f
libTAO_SSLIOP.so.
1.6.1`TAO::SSLIOP::Connection_Handler::Connection_Handler #Nvariant
1(TAO_ORB_Core*)+0x1bb
libTAO_SSLIOP.so.1.6.1`int
TAO_Connect_Creation_Strategy<TAO::SSLIOP::Connection_Handler>::make_svc_handler(TAO::SSLIOP::Connection_Handler*&)
+0x9c
libTAO_SSLIOP.so.
1.6.1`TAO_Transport*TAO::SSLIOP::Connector::ssliop_connect(TAO_SSLIOP_Endpoint*,Security::QOP,const
Security::EstablishTrust&,TAO::Profile_Transport_Resolver*,TAO_Transport_Descriptor_Interface*,ACE_Time_Value*)
+0x331
libTAO_SSLIOP.so.
1.6.1`TAO_Transport*TAO::SSLIOP::Connector::connect(TAO::Profile_Transport_Resolver*,TAO_Transport_Descriptor_Interface*,ACE_Time_Value*)
+0x979
libTAO.so.1.6.1`bool
TAO::Profile_Transport_Resolver::try_connect_i(TAO_Transport_Descriptor_Interface*,ACE_Time_Value*,bool)
+0x278
libTAO.so.1.6.1`bool
TAO::Profile_Transport_Resolver::try_connect(TAO_Transport_Descriptor_Interface*,ACE_Time_Value*)
+0x32
libTAO.so.1.6.1`void
TAO_Default_Endpoint_Selector::select_endpoint(TAO::Profile_Transport_Resolver*,ACE_Time_Value*)
+0x261
libTAO.so.1.6.1`void
TAO::Profile_Transport_Resolver::resolve(ACE_Time_Value*)+0xb3
libumem.so.1`umem_cache_alloc_debug+0x12b
libumem.so.1`umem_cache_alloc+0xc8
libumem.so.1`umem_alloc+0xaf
libumem.so.1`malloc+0x2e
libCrun.so.1`void*operator new(unsigned long,const
std::nothrow_t&)+0x28
libTAO.so.
1.6.1`TAO_Transport_Mux_Strategy*TAO_Default_Client_Strategy_Factory::create_transport_mux_strategy(TAO_Transport*)
+0x68
libTAO.so.1.6.1`TAO_Transport::TAO_Transport
#Nvariant 1(unsigned,TAO_ORB_Core*,unsigned long)+0x46a
libTAO_SSLIOP.so.
1.6.1`TAO::SSLIOP::Transport::Transport #Nvariant
1(TAO::SSLIOP::Connection_Handler*,TAO_ORB_Core*)+0x4f
libTAO_SSLIOP.so.
1.6.1`TAO::SSLIOP::Connection_Handler::Connection_Handler #Nvariant
1(TAO_ORB_Core*)+0x1bb
libTAO_SSLIOP.so.1.6.1`int
TAO_Connect_Creation_Strategy<TAO::SSLIOP::Connection_Handler>::make_svc_handler(TAO::SSLIOP::Connection_Handler*&)
+0x9c
libTAO_SSLIOP.so.
1.6.1`TAO_Transport*TAO::SSLIOP::Connector::ssliop_connect(TAO_SSLIOP_Endpoint*,Security::QOP,const
Security::EstablishTrust&,TAO::Profile_Transport_Resolver*,TAO_Transport_Descriptor_Interface*,ACE_Time_Value*)
+0x331
libTAO_SSLIOP.so.
1.6.1`TAO_Transport*TAO::SSLIOP::Connector::connect(TAO::Profile_Transport_Resolver*,TAO_Transport_Descriptor_Interface*,ACE_Time_Value*)
+0x979
libTAO.so.1.6.1`bool
TAO::Profile_Transport_Resolver::try_connect_i(TAO_Transport_Descriptor_Interface*,ACE_Time_Value*,bool)
+0x278
libTAO.so.1.6.1`bool
TAO::Profile_Transport_Resolver::try_connect(TAO_Transport_Descriptor_Interface*,ACE_Time_Value*)
+0x32
libTAO.so.1.6.1`void
TAO_Default_Endpoint_Selector::select_endpoint(TAO::Profile_Transport_Resolver*,ACE_Time_Value*)
+0x261
libumem.so.1`umem_cache_alloc_debug+0x12b
libumem.so.1`umem_cache_alloc+0xc8
libumem.so.1`umem_alloc+0xaf
libumem.so.1`malloc+0x2e
libCrun.so.1`void*operator new(unsigned long,const
std::nothrow_t&)+0x28
libTAO_AnyTypeCode.so.
1.6.1`ACE_Lock_Adapter<ACE_Thread_Mutex>::ACE_Lock_Adapter #Nvariant
1()+0x90
libTAO.so.
1.6.1`ACE_Lock*TAO_Default_Resource_Factory::create_cached_connection_lock()
+0x151
libTAO.so.1.6.1`TAO_Transport::TAO_Transport
#Nvariant 1(unsigned,TAO_ORB_Core*,unsigned long)+0x196
libTAO_SSLIOP.so.
1.6.1`TAO::SSLIOP::Transport::Transport #Nvariant
1(TAO::SSLIOP::Connection_Handler*,TAO_ORB_Core*)+0x4f
libTAO_SSLIOP.so.
1.6.1`TAO::SSLIOP::Connection_Handler::Connection_Handler #Nvariant
1(TAO_ORB_Core*)+0x1bb
libTAO_SSLIOP.so.1.6.1`int
TAO_Connect_Creation_Strategy<TAO::SSLIOP::Connection_Handler>::make_svc_handler(TAO::SSLIOP::Connection_Handler*&)
+0x9c
libTAO_SSLIOP.so.
1.6.1`TAO_Transport*TAO::SSLIOP::Connector::ssliop_connect(TAO_SSLIOP_Endpoint*,Security::QOP,const
Security::EstablishTrust&,TAO::Profile_Transport_Resolver*,TAO_Transport_Descriptor_Interface*,ACE_Time_Value*)
+0x331
libTAO_SSLIOP.so.
1.6.1`TAO_Transport*TAO::SSLIOP::Connector::connect(TAO::Profile_Transport_Resolver*,TAO_Transport_Descriptor_Interface*,ACE_Time_Value*)
+0x979
libTAO.so.1.6.1`bool
TAO::Profile_Transport_Resolver::try_connect_i(TAO_Transport_Descriptor_Interface*,ACE_Time_Value*,bool)
+0x278
libTAO.so.1.6.1`bool
TAO::Profile_Transport_Resolver::try_connect(TAO_Transport_Descriptor_Interface*,ACE_Time_Value*)
+0x32
libumem.so.1`umem_cache_alloc_debug+0x12b
libumem.so.1`umem_cache_alloc+0xc8
libumem.so.1`umem_alloc+0xaf
libumem.so.1`malloc+0x2e
libCrun.so.1`void*operator new(unsigned long,const
std::nothrow_t&)+0x28
libTAO_SSLIOP.so.
1.6.1`TAO::SSLIOP::Connection_Handler::Connection_Handler #Nvariant
1(TAO_ORB_Core*)+0x17b
libTAO_SSLIOP.so.1.6.1`int
TAO_Connect_Creation_Strategy<TAO::SSLIOP::Connection_Handler>::make_svc_handler(TAO::SSLIOP::Connection_Handler*&)
+0x9c
libTAO_SSLIOP.so.
1.6.1`TAO_Transport*TAO::SSLIOP::Connector::ssliop_connect(TAO_SSLIOP_Endpoint*,Security::QOP,const
Security::EstablishTrust&,TAO::Profile_Transport_Resolver*,TAO_Transport_Descriptor_Interface*,ACE_Time_Value*)
+0x331
libTAO_SSLIOP.so.
1.6.1`TAO_Transport*TAO::SSLIOP::Connector::connect(TAO::Profile_Transport_Resolver*,TAO_Transport_Descriptor_Interface*,ACE_Time_Value*)
+0x979
libTAO.so.1.6.1`bool
TAO::Profile_Transport_Resolver::try_connect_i(TAO_Transport_Descriptor_Interface*,ACE_Time_Value*,bool)
+0x278
libTAO.so.1.6.1`bool
TAO::Profile_Transport_Resolver::try_connect(TAO_Transport_Descriptor_Interface*,ACE_Time_Value*)
+0x32
libTAO.so.1.6.1`void
TAO_Default_Endpoint_Selector::select_endpoint(TAO::Profile_Transport_Resolver*,ACE_Time_Value*)
+0x261
libTAO.so.1.6.1`void
TAO::Profile_Transport_Resolver::resolve(ACE_Time_Value*)+0xb3
libTAO.so.1.6.1`TAO::Invocation_Status
TAO::Invocation_Adapter::invoke_remote_i(TAO_Stub*,TAO_Operation_Details&,TAO_Pseudo_Var_T<CORBA::Object>&,ACE_Time_Value*&)
+0x109
libTAO.so.1.6.1`void
TAO::Invocation_Adapter::invoke_i(TAO_Stub*,TAO_Operation_Details&)
+0x1b2
libumem.so.1`umem_cache_alloc_debug+0x12b
libumem.so.1`umem_cache_alloc+0xc8
libumem.so.1`umem_alloc+0xaf
libumem.so.1`malloc+0x2e
libCrun.so.1`void*operator new(unsigned long,const
std::nothrow_t&)+0x28
libTAO_AnyTypeCode.so.
1.6.1`ACE_Lock_Adapter<ACE_Thread_Mutex>::ACE_Lock_Adapter #Nvariant
1()+0x90
libTAO.so.
1.6.1`ACE_Lock*TAO_Default_Resource_Factory::create_cached_connection_lock()
+0x151
libTAO.so.
1.6.1`TAO_Connection_Handler::TAO_Connection_Handler #Nvariant
1(TAO_ORB_Core*)+0xb3
libTAO_SSLIOP.so.
1.6.1`TAO::SSLIOP::Connection_Handler::Connection_Handler #Nvariant
1(TAO_ORB_Core*)+0xbb
libTAO_SSLIOP.so.1.6.1`int
TAO_Connect_Creation_Strategy<TAO::SSLIOP::Connection_Handler>::make_svc_handler(TAO::SSLIOP::Connection_Handler*&)
+0x9c
libTAO_SSLIOP.so.
1.6.1`TAO_Transport*TAO::SSLIOP::Connector::ssliop_connect(TAO_SSLIOP_Endpoint*,Security::QOP,const
Security::EstablishTrust&,TAO::Profile_Transport_Resolver*,TAO_Transport_Descriptor_Interface*,ACE_Time_Value*)
+0x331
libTAO_SSLIOP.so.
1.6.1`TAO_Transport*TAO::SSLIOP::Connector::connect(TAO::Profile_Transport_Resolver*,TAO_Transport_Descriptor_Interface*,ACE_Time_Value*)
+0x979
libTAO.so.1.6.1`bool
TAO::Profile_Transport_Resolver::try_connect_i(TAO_Transport_Descriptor_Interface*,ACE_Time_Value*,bool)
+0x278
libTAO.so.1.6.1`bool
TAO::Profile_Transport_Resolver::try_connect(TAO_Transport_Descriptor_Interface*,ACE_Time_Value*)
+0x32
libTAO.so.1.6.1`void
TAO_Default_Endpoint_Selector::select_endpoint(TAO::Profile_Transport_Resolver*,ACE_Time_Value*)
+0x261
libumem.so.1`umem_cache_alloc_debug+0x12b
libumem.so.1`umem_cache_alloc+0xc8
libumem.so.1`umem_alloc+0xaf
libumem.so.1`malloc+0x2e
libCrun.so.1`void*operator new(unsigned long,const
std::nothrow_t&)+0x28
libTAO.so.
1.6.1`ACE_Lock*TAO_Default_Resource_Factory::create_cached_connection_lock()
+0x121
libTAO.so.
1.6.1`TAO_Connection_Handler::TAO_Connection_Handler #Nvariant
1(TAO_ORB_Core*)+0xb3
libTAO_SSLIOP.so.
1.6.1`TAO::SSLIOP::Connection_Handler::Connection_Handler #Nvariant
1(TAO_ORB_Core*)+0xbb
libTAO_SSLIOP.so.1.6.1`int
TAO_Connect_Creation_Strategy<TAO::SSLIOP::Connection_Handler>::make_svc_handler(TAO::SSLIOP::Connection_Handler*&)
+0x9c
libTAO_SSLIOP.so.
1.6.1`TAO_Transport*TAO::SSLIOP::Connector::ssliop_connect(TAO_SSLIOP_Endpoint*,Security::QOP,const
Security::EstablishTrust&,TAO::Profile_Transport_Resolver*,TAO_Transport_Descriptor_Interface*,ACE_Time_Value*)
+0x331
libTAO_SSLIOP.so.
1.6.1`TAO_Transport*TAO::SSLIOP::Connector::connect(TAO::Profile_Transport_Resolver*,TAO_Transport_Descriptor_Interface*,ACE_Time_Value*)
+0x979
libTAO.so.1.6.1`bool
TAO::Profile_Transport_Resolver::try_connect_i(TAO_Transport_Descriptor_Interface*,ACE_Time_Value*,bool)
+0x278
libTAO.so.1.6.1`bool
TAO::Profile_Transport_Resolver::try_connect(TAO_Transport_Descriptor_Interface*,ACE_Time_Value*)
+0x32
libTAO.so.1.6.1`void
TAO_Default_Endpoint_Selector::select_endpoint(TAO::Profile_Transport_Resolver*,ACE_Time_Value*)
+0x261
libTAO.so.1.6.1`void
TAO::Profile_Transport_Resolver::resolve(ACE_Time_Value*)+0xb3
libumem.so.1`umem_cache_alloc_debug+0x12b
libumem.so.1`umem_cache_alloc+0xc8
libumem.so.1`umem_alloc+0xaf
libumem.so.1`malloc+0x2e
REPEAT BY:
SAMPLE FIX/WORKAROUND:
Thanks
Venkat
More information about the Ace-users
mailing list