[ace-bugs] Core in CosEvent Service

Johnny Willemsen jwillemsen at remedy.nl
Mon Sep 14 02:21:04 CDT 2015


Hi,

Thanks for using the PRF form. Looks we crash on a null pointer, very
strange, maybe the data we receive is corrupted. This version is
ancient, we have fixed a lot of issues already, can you try TAO 6.3.2
which you can obtain from http://download.dre.vanderbilt.edu.

For your config.h, just include the one we shipped and don't copy the
content, that is much easier.

Best regards,

Johnny Willemsen
Remedy IT
http://www.theaceorb.nl

On 09/14/2015 09:16 AM, sriram anil wrote:
> Hi,
> 
> I am facing some issue with the cosEvent service. can anyone help.
> 
>  TAO VERSION: 1.3.1
>  ACE VERSION: 5.3.18
> 
> HOST MACHINE and OPERATING SYSTEM
> 32bit, Linux rhel 4, NahantUpdate6
> 
> TARGET MACHINE and OPERATING SYSTEM, if different from HOST:
>  Red Hat 4.1.2-50
> 
> COMPILER NAME AND VERSION (AND PATCHLEVEL):
> gcc: 3.4.6
> 
> 
> THE $ACE_ROOT/ace/config.h FILE:
> #ifndef ACE_CONFIG_LINUX_H
> #define ACE_CONFIG_LINUX_H
> #include "ace/pre.h"
> 
> #include "ace/config-linux-common.h"
> 
> #define ACE_HAS_SVR4_DYNAMIC_LINKING
> #define ACE_HAS_AUTOMATIC_INIT_FINI
> 
> #if !defined (ACE_MT_SAFE)
> #define ACE_MT_SAFE 1                           // JCEJ 12/22/96        #1
> #endif
> 
> #if ACE_MT_SAFE
> // Yes, we do have threads.
> #define ACE_HAS_THREADS
> // And they're even POSIX pthreads (LinuxThreads implementation)
> #define ACE_HAS_PTHREADS
> 
> #if !defined (ACE_HAS_PTHREADS_UNIX98_EXT)
> #  define ACE_LACKS_RWLOCK_T 
> #endif  /* !ACE_HAS_PTHREADS_UNIX98_EXT */
> 
> // ... and the final standard even!
> #define ACE_HAS_PTHREADS_STD
> #define ACE_HAS_THREAD_SPECIFIC_STORAGE     // jcej 12/22/96         #2
> 
> #define ACE_HAS_RECURSIVE_THR_EXIT_SEMANTICS    // JCEJ 1/7-8/96
> 
> #if defined(__GLIBC__)
> // Platform supports reentrant functions (i.e., all the POSIX *_r
> // functions).
> #define ACE_HAS_REENTRANT_FUNCTIONS
> 
> #if (__GLIBC__ < 2) || (__GLIBC__ == 2 && __GLIBC_MINOR__ < 1)
>    // Older versions of glibc lacked reentrant netdb functions
> #  define ACE_LACKS_NETDB_REENTRANT_FUNCTIONS
> 
>    // glibc < 2.1 lacks pthread_attr_setstacksize()
> #  define ACE_LACKS_THREAD_STACK_SIZE
> #endif /* (__GLIBC__ < 2) || (__GLIBC__ == 2 && __GLIBC_MINOR__ < 1) */
> 
> // uses ctime_r & asctime_r with only two parameters vs. three
> #define ACE_HAS_2_PARAM_ASCTIME_R_AND_CTIME_R
> #endif
> 
> #include /**/ <pthread.h>
> 
> #if (__GLIBC__ > 2) || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 2)
>    // glibc 2.2.x or better has pthread_mutex_timedlock()
> #  define ACE_HAS_MUTEX_TIMEOUTS
> #  if !defined (_XOPEN_SOURCE) \
>    || (defined (_XOPEN_SOURCE) && (_XOPEN_SOURCE - 0) < 600)
> // pthread_mutex_timedlock() prototype is not visible if _XOPEN_SOURCE
> // is not >= 600 (i.e. for XPG6).
> extern "C" int pthread_mutex_timedlock (pthread_mutex_t *mutex,
>                                         const struct timespec * abstime);
> #  endif  /* _XOPEN_SOURCE && _XOPEN_SOURCE < 600 */
> #endif  /* (__GLIBC__ > 2) || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 2) */
> 
> #endif  /* ACE_MT_SAFE */
> 
> 
> #include "ace/post.h"
> 
> #endif /* ACE_CONFIG_LINUX_H */
> 
> 
> 
> *AREA/CLASS/EXAMPLE AFFECTED:*
>         No known
> 
>     *DOES THE PROBLEM AFFECT:**
>         EXECUTION?*
>    YES
> 
> *SYNOPSIS:*
> CORBA(naming service and cosevent service) is used between our
> activatior and system manager. we could see that our system manager is
> getting cored. But in the back-trace we could see the cosEvent service
> traces.
> 
> *DESCRIPTION:*
> We could see that our system manager is getting cored dut to the
> corruption in cosEvent_service.
> 
> I have three backtraces : 
> 
> backtrace1:
> #0  0x00c3fb65 in memcpy () from /lib/libc.so.6
> #1  0x0041c49e in operator>> (cdr=..., x=...) at
> /view/alex-1/vobs/thirdParty/TAO/ACE_wrappers/ace/OS_String.inl:62
> #2  0x001dfcf9 in PushConsumer::push_skel (_tao_server_request=...,
> _tao_servant=0x385cbdb8, _tao_servant_upcall=0xb53fe5c0)
>     at CosEventCommS.cpp:709
> #3  0x0020dfac in ProxyPushConsumer::push_skel (req=..., obj=0xbff0d908,
> context=0xb53fe5c0) at CosEventChannelAdminS.i:34
> #4  0x00a06368 in TAO_ServantBase::synchronous_upcall_dispatch
> (this=0x1, req=..., servant_upcall=0xb53fe5c0, derived_this=0x385cbdb8)
>     at Servant_Base.cpp:231
> #5  0x001fe3bb in ProxyPushConsumer::_dispatch (this=0xbff0d908,
> req=..., servant_upcall=0xb53fe5c0) at CosEventChannelAdminS.cpp:838
> #6  0x009ce3b4 in TAO_Object_Adapter::dispatch_servant (this=0xb53fea10,
> key=..., req=..., forward_to=...) at Object_Adapter.i:180
> #7  0x009cf3da in TAO_Object_Adapter::dispatch (this=0x98501f8, key=...,
> request=..., forward_to=...)
>     at /view/alex-1/vobs/thirdParty/TAO/ACE_wrappers/TAO/tao/Object.i:246
> #8  0x004af727 in TAO_Adapter_Registry::dispatch (this=0x9845700,
> key=..., request=..., forward_to=...)
>     at /view/alex-1/vobs/thirdParty/TAO/ACE_wrappers/TAO/tao/Object.i:246
> #9  0x004c8ede in TAO_Request_Dispatcher::dispatch (this=0x984a080,
> orb_core=0x98455a0, request=..., forward_to=...) at ORB_Core.i:170
> #10 0x0040073f in TAO_GIOP_Message_Base::process_request
> (this=0x3e444288, transport=0x3e43f918, cdr=..., output=...,
> parser=0x54c978)
>     at ORB_Core.i:176
> #11 0x00400265 in TAO_GIOP_Message_Base::process_request_message
> (this=0x3e444288, transport=0x3e43f918, qd=0xbfffd978)
>     at GIOP_Message_Base.cpp:425
> #12 0x003e28f9 in TAO_Transport::process_parsed_messages
> (this=0x3e43f918, qd=0xbfffd978, rh=...) at Transport.cpp:1790
> #13 0x003e2a3e in TAO_Transport::process_queue_head (this=0x3e43f918,
> rh=...) at Transport.cpp:1909
> #14 0x003e1b1b in TAO_Transport::handle_input (this=0x3e43f918, rh=...,
> max_wait_time=0xb53ff2a0) at Resume_Handle.inl:27
> #15 0x003e7e10 in TAO_Connection_Handler::svc_i (this=0x3e43f8dc)
>     at
> /view/alex-1/vobs/thirdParty/TAO/ACE_wrappers/TAO/tao/Connection_Handler.inl:19
> #16 0x003e8e51 in TAO_Thread_Per_Connection_Handler::svc
> (this=0x3e43e958) at Thread_Per_Connection_Handler.cpp:68
> #17 0x0066807f in ACE_Task_Base::svc_run (args=0x3e43e958) at Task.cpp:204
> #18 0x0061247e in ACE_Thread_Adapter::invoke_i (this=0xbff0d908) at
> Thread_Adapter.cpp:151
> #19 0x006123e9 in ACE_Thread_Adapter::invoke (this=0x41875f50) at
> Thread_Adapter.cpp:94
> #20 0x005d76ce in ace_thread_adapter (args=0xb53fea10) at
> Base_Thread_Adapter.cpp:122
> #21 0x00d60832 in start_thread () from /lib/libpthread.so.0
> #22 0x00ca00ae in clone () from /lib/libc.so.6
> 
> 
> 
> 
> 
> backtrace:2
> Core was generated by
> `/opt/ss7card/ace_tao/TAO/orbsvcs/CosEvent_Service/CosEvent_Service
> -ORBInitRef'.
> Program terminated with signal 11, Segmentation fault.
> #0  ACE_Data_Block::size (this=0x0, length=512) at Message_Block.cpp:189
> 189     Message_Block.cpp: No such file or directory.
>         in Message_Block.cpp
> (gdb) bt
> #0  ACE_Data_Block::size (this=0x0, length=512) at Message_Block.cpp:189
> #1  0x00940f15 in ACE_Message_Block::size (this=0x200, length=512)
>     at /view/alex-1/vobs/thirdParty/TAO/ACE_wrappers/ace/Message_Block.i:8
> #2  0x009b4c5c in ACE_CDR::consolidate (dst=0xbd8f2760, src=0xbd8fa080)
>     at CDR_Base.cpp:515
> #3  0x00482d97 in CORBA_Any::CORBA_Any (this=0xbfe21ac0, src=...)
>     at Any.cpp:149
> #4  0x004bdddf in CORBA_TypeCode::member_label (this=0xbd8e8718,
>     slot=3219266240) at Typecode.cpp:384
> #5  0x00480475 in TAO_Marshal_Union::skip (this=0xb55fe2c0, tc=0xbd8f3ab8,
>     src=0xb55fea10)
>     at /view/alex-1/vobs/thirdParty/TAO/ACE_wrappers/TAO/tao/Any.i:93
> #6  0x0047f519 in TAO_Marshal_Object::perform_skip (tc=0x80,
> stream=0xb55fea10)
>     at Marshal.cpp:108
> #7  0x00480290 in TAO_Marshal_Struct::skip (this=0xb55fe370, tc=0xbd8f3350,
>     stream=0xb55fea10)
>     at /view/alex-1/vobs/thirdParty/TAO/ACE_wrappers/TAO/tao/Typecode.i:185
> #8  0x0047f4f3 in TAO_Marshal_Object::perform_skip (tc=0x80,
> stream=0xb55fea10)
>     at Marshal.cpp:103
> #9  0x00488409 in operator>> (cdr=..., x=...)
>     at /view/alex-1/vobs/thirdParty/TAO/ACE_wrappers/TAO/tao/Typecode.i:185
> #10 0x002dbcf9 in PushConsumer::push_skel (_tao_server_request=...,
>     _tao_servant=0x7b029b48, _tao_servant_upcall=0xb55fe5c0)
>     at CosEventCommS.cpp:709
> #11 0x00309fac in ProxyPushConsumer::push_skel (req=..., obj=0xbd8f2760,
>     context=0xb55fe5c0) at CosEventChannelAdminS.i:34
> #12 0x00852368 in TAO_ServantBase::synchronous_upcall_dispatch (this=0x1,
>     req=..., servant_upcall=0xb55fe5c0, derived_this=0x7b029b48)
>     at Servant_Base.cpp:231
> #13 0x002fa3bb in ProxyPushConsumer::_dispatch (this=0xbd8f2760, req=...,
>     servant_upcall=0xb55fe5c0) at CosEventChannelAdminS.cpp:838
> #14 0x0081a3b4 in TAO_Object_Adapter::dispatch_servant (this=0x200, key=...,
>     req=..., forward_to=Cannot access memory at address 0x200
> ) at Object_Adapter.i:180
> #15 0x0081b3da in TAO_Object_Adapter::dispatch (this=0x8be11f8, key=...,
>     request=..., forward_to=...)
>     at /view/alex-1/vobs/thirdParty/TAO/ACE_wrappers/TAO/tao/Object.i:246
> #16 0x0051b727 in TAO_Adapter_Registry::dispatch (this=0x8bd6700, key=...,
>     request=..., forward_to=...)
>     at /view/alex-1/vobs/thirdParty/TAO/ACE_wrappers/TAO/tao/Object.i:246
> #17 0x00534ede in TAO_Request_Dispatcher::dispatch (this=0x8bdb080,
>     orb_core=0x8bd65a0, request=..., forward_to=Cannot access memory at
> address 0x200
> ) at ORB_Core.i:170
> #18 0x0046c73f in TAO_GIOP_Message_Base::process_request (this=0x7bf18c08,
>     transport=0x7d21a000, cdr=..., output=..., parser=0x5b8978)
>     at ORB_Core.i:176
> #19 0x0046c265 in TAO_GIOP_Message_Base::process_request_message (
>     this=0x7bf18c08, transport=0x7d21a000, qd=0xbfefaf00)
>     at GIOP_Message_Base.cpp:425
> #20 0x0044e8f9 in TAO_Transport::process_parsed_messages (this=0x7d21a000,
>     qd=0xbfefaf00, rh=...) at Transport.cpp:1790
> ---Type <return> to continue, or q <return> to quit---
> #21 0x0044ea3e in TAO_Transport::process_queue_head (this=0x7d21a000,
> rh=...)
>     at Transport.cpp:1909
> #22 0x0044db1b in TAO_Transport::handle_input (this=0x7d21a000, rh=...,
>     max_wait_time=0xb55ff2a0) at Resume_Handle.inl:27
> #23 0x00453e10 in TAO_Connection_Handler::svc_i (this=0x7d219f8c)
>     at
> /view/alex-1/vobs/thirdParty/TAO/ACE_wrappers/TAO/tao/Connection_Handler.inl:19
> #24 0x00454e51 in TAO_Thread_Per_Connection_Handler::svc (this=0x7d21a210)
>     at Thread_Per_Connection_Handler.cpp:68
> #25 0x009ba07f in ACE_Task_Base::svc_run (args=0x7d21a210) at Task.cpp:204
> #26 0x0096447e in ACE_Thread_Adapter::invoke_i (this=0xbd8f2760)
>     at Thread_Adapter.cpp:151
> #27 0x009643e9 in ACE_Thread_Adapter::invoke (this=0x7bef38b8)
>     at Thread_Adapter.cpp:94
> #28 0x009296ce in ace_thread_adapter (args=0x200)
>     at Base_Thread_Adapter.cpp:122
> 
> 
> backtrace3:
> 
> #0  0x00c3fb65 in memcpy () from /lib/libc.so.6
> #1  0x0041c49e in operator>> (cdr=..., x=...) at
> /view/alex-1/vobs/thirdParty/TAO/ACE_wrappers/ace/OS_String.inl:62
> #2  0x001dfcf9 in PushConsumer::push_skel (_tao_server_request=...,
> _tao_servant=0x385cbdb8, _tao_servant_upcall=0xb53fe5c0)
>     at CosEventCommS.cpp:709
> #3  0x0020dfac in ProxyPushConsumer::push_skel (req=..., obj=0xbff0d908,
> context=0xb53fe5c0) at CosEventChannelAdminS.i:34
> #4  0x00a06368 in TAO_ServantBase::synchronous_upcall_dispatch
> (this=0x1, req=..., servant_upcall=0xb53fe5c0, derived_this=0x385cbdb8)
>     at Servant_Base.cpp:231
> #5  0x001fe3bb in ProxyPushConsumer::_dispatch (this=0xbff0d908,
> req=..., servant_upcall=0xb53fe5c0) at CosEventChannelAdminS.cpp:838
> #6  0x009ce3b4 in TAO_Object_Adapter::dispatch_servant (this=0xb53fea10,
> key=..., req=..., forward_to=...) at Object_Adapter.i:180
> #7  0x009cf3da in TAO_Object_Adapter::dispatch (this=0x98501f8, key=...,
> request=..., forward_to=...)
>     at /view/alex-1/vobs/thirdParty/TAO/ACE_wrappers/TAO/tao/Object.i:246
> #8  0x004af727 in TAO_Adapter_Registry::dispatch (this=0x9845700,
> key=..., request=..., forward_to=...)
>     at /view/alex-1/vobs/thirdParty/TAO/ACE_wrappers/TAO/tao/Object.i:246
> #9  0x004c8ede in TAO_Request_Dispatcher::dispatch (this=0x984a080,
> orb_core=0x98455a0, request=..., forward_to=...) at ORB_Core.i:170
> #10 0x0040073f in TAO_GIOP_Message_Base::process_request
> (this=0x3e444288, transport=0x3e43f918, cdr=..., output=...,
> parser=0x54c978)
>     at ORB_Core.i:176
> #11 0x00400265 in TAO_GIOP_Message_Base::process_request_message
> (this=0x3e444288, transport=0x3e43f918, qd=0xbfffd978)
>     at GIOP_Message_Base.cpp:425
> #12 0x003e28f9 in TAO_Transport::process_parsed_messages
> (this=0x3e43f918, qd=0xbfffd978, rh=...) at Transport.cpp:1790
> #13 0x003e2a3e in TAO_Transport::process_queue_head (this=0x3e43f918,
> rh=...) at Transport.cpp:1909
> #14 0x003e1b1b in TAO_Transport::handle_input (this=0x3e43f918, rh=...,
> max_wait_time=0xb53ff2a0) at Resume_Handle.inl:27
> #15 0x003e7e10 in TAO_Connection_Handler::svc_i (this=0x3e43f8dc)
>     at
> /view/alex-1/vobs/thirdParty/TAO/ACE_wrappers/TAO/tao/Connection_Handler.inl:19
> #16 0x003e8e51 in TAO_Thread_Per_Connection_Handler::svc
> (this=0x3e43e958) at Thread_Per_Connection_Handler.cpp:68
> #17 0x0066807f in ACE_Task_Base::svc_run (args=0x3e43e958) at Task.cpp:204
> #18 0x0061247e in ACE_Thread_Adapter::invoke_i (this=0xbff0d908) at
> Thread_Adapter.cpp:151
> #19 0x006123e9 in ACE_Thread_Adapter::invoke (this=0x41875f50) at
> Thread_Adapter.cpp:94
> #20 0x005d76ce in ace_thread_adapter (args=0xb53fea10) at
> Base_Thread_Adapter.cpp:122
> #21 0x00d60832 in start_thread () from /lib/libpthread.so.0
> #22 0x00ca00ae in clone () from /lib/libc.so.6
> 
> 
> 
> We could see that same code base which is compiled in 64bit is not
> giving any core. Can you give the reason for this kind of behavior and
> is there any solution for this ? can we get any immediate fix or
> wirkaround for the issue ?
> 
> Please let us know if you need any other information.
> 
> Regards,
> Sriram
> 
> 
> _______________________________________________
> ace-bugs mailing list
> ace-bugs at list.isis.vanderbilt.edu
> http://list.isis.vanderbilt.edu/cgi-bin/mailman/listinfo/ace-bugs
> 



More information about the ace-bugs mailing list