handle_close in cancel_type function of class ACE_Event_Handler_Handle_
From
ajayawasthimca@gmail.com@21:1/5 to
All on Tue Aug 23 03:31:58 2016
Hi,
I am using libACE-5.8.1.so version in my application. When i shutdown my application it crashes .
Application is shutdown using kill command from bash script. In my application these are handled by using ACE_Event_Handler class.
My application started below services using ACE library logger service, configure service, Monitor service.
stack trace are given below
#0 0x0000000000000000 in ?? ()
#1 0x00007fcc85d2d66f in cancel_type (this=0x1d64140, __in_chrg=<value optimized out>) at ../../ace/Timer_Queue_T.cpp:498
#2 deletion (this=0x1d64140, __in_chrg=<value optimized out>) at ../../ace/Timer_Queue_T.cpp:523
#3 ACE_Timer_Heap_T<ACE_Event_Handler*, ACE_Event_Handler_Handle_Timeout_Upcall<ACE_Recursive_Thread_Mutex>, ACE_Recursive_Thread_Mutex>::~ACE_Timer_Heap_T (
this=0x1d64140, __in_chrg=<value optimized out>) at ../../ace/Timer_Heap_T.cpp:222
#4 0x00007fcc85d2d8f9 in ACE_Timer_Heap_T<ACE_Event_Handler*, ACE_Event_Handler_Handle_Timeout_Upcall<ACE_Recursive_Thread_Mutex>, ACE_Recursive_Thread_Mutex>::~ACE_Timer_Heap_T (this=0x1d64140, __in_chrg=<value optimized out>) at ../../ace/Timer_Heap_T.
cpp:239
#5 0x00007fcc85d2ba42 in ACE_Select_Reactor_T<ACE_Reactor_Token_T<ACE_Token> >::close (this=0x1d63960) at ../../ace/Select_Reactor_T.cpp:576
#6 0x00007fcc85d8ebb0 in ACE_Reactor::~ACE_Reactor (this=<value optimized out>, __in_chrg=<value optimized out>) at ../../ace/Reactor.cpp:117
#7 0x00007fcc85d8ebf9 in ACE_Reactor::~ACE_Reactor (this=0x1d638d0, __in_chrg=<value optimized out>) at ../../ace/Reactor.cpp:120
#8 0x00007fcc85d8f01a in ACE_Reactor::close_singleton () at ../../ace/Reactor.cpp:183
#9 0x00007fcc85d8f89b in ~ACE_Framework_Component_T (this=<value optimized out>, __in_chrg=<value optimized out>) at ../../ace/Framework_Component_T.cpp:21
#10 ACE_Framework_Component_T<ACE_Reactor>::~ACE_Framework_Component_T (this=<value optimized out>, __in_chrg=<value optimized out>)
at ../../ace/Framework_Component_T.cpp:22
#11 0x00007fcc85d4c721 in ACE_Framework_Repository::close (this=0x1d66580) at ../../ace/Framework_Component.cpp:78
#12 0x00007fcc85d4c78d in ACE_Framework_Repository::~ACE_Framework_Repository (this=0x1d66580, __in_chrg=<value optimized out>) at ../../ace/Framework_Component.cpp:40
#13 0x00007fcc85d4c800 in ACE_Framework_Repository::close_singleton () at ../../ace/Framework_Component.cpp:123
#14 0x00007fcc85d73790 in ACE_Object_Manager::fini (this=0x1d5d1b0) at ../../ace/Object_Manager.cpp:751
#15 0x00007fcc85d738a8 in ACE_Object_Manager::~ACE_Object_Manager (this=0x1d5d1b0, __in_chrg=<value optimized out>) at ../../ace/Object_Manager.cpp:417
#16 0x00007fcc85d738f9 in ACE_Object_Manager::~ACE_Object_Manager (this=0x1d5d1b0, __in_chrg=<value optimized out>) at ../../ace/Object_Manager.cpp:418
#17 0x00007fcc85d73615 in ACE_Object_Manager_Manager::~ACE_Object_Manager_Manager (this=<value optimized out>, __in_chrg=<value optimized out>)
at ../../ace/Object_Manager.cpp:882
#18 0x0000003b3303640d in __cxa_finalize () from /lib64/libc.so.6
#19 0x00007fcc85d1c956 in __do_global_dtors_aux () from /home/mpeit/mpe/CRPLUSEXCEP/build_1B/lib/libACE-5.8.1.so
#20 0x0000000000000000 in ?? ()
After analysing the core i found that in definition of ACE_Event_Handler_Handle_Timeout_Upcall<ACE_LOCK>::deletion function dont_call value is 0 for function cancel_type and cancel_timer. But my application crashes at call of event_handler->handle_close
inside cancel_type function.
If i pass dont_call value 1 then there is no problem in application shutdown.
Please suggest me is it proper fix or something incorrect in my application?
--- SoupGate-Win32 v1.05
* Origin: fsxNet Usenet Gateway (21:1/5)