Hi Rob,
what version exactly do you use? I'm afraid the best would be if you use that from darcs HEAD, at least that's always my recommendation to grab HEAD and try to duplicate the issue on it. The chance is, this is fixed (if you use latest release) for quite some time already...
Thanks, Karel On 03/ 6/18 11:25 PM, Rob Ratcliff wrote:
Hi, I typically use MICO compiled for single threaded operation, but recently I've been testing it with threads enabled. I've noticed that if I fire a continuous sequence of events at eventd that I can make it core dump in the dynamic cast. (My version is off by one line since I added a null check just to see if that fixed it, which it didn't.) I'm not a C++ expert so this may be an easy one for somebody who has worked with dynamic casts more than I have. Thanks, Rob Here's the stack trace: gdb `which eventd` core (gdb) where #0__cxxabiv1::(anonymous namespace)::adjust_pointer<void> ( offset=<error reading variable: Cannot access memory at address 0xfffffffffffffff0>, base=0x6acee0) at ../../../../libstdc++-v3/libsupc++/tinfo.h:68 #1__cxxabiv1::__dynamic_cast (src_ptr=0x6acee0, src_type=0x2aaaabe691b0 <typeinfo for CORBA::ORBCallback>, dst_type=0x2aaaabe69198 <typeinfo for CORBA::ORBAsyncCallback>, src2dst=0) at ../../../../libstdc++-v3/libsupc++/dyncast.cc:55 #20x00002aaaab6e7bdb in CORBA::ORBInvokeRec::~ORBInvokeRec (this=0x6ad2f0, __in_chrg=<optimized out>) at orb.cc:304 #30x00002aaaab6e7cbc in CORBA::ORBInvokeRec::~ORBInvokeRec (this=0x6ad2f0, __in_chrg=<optimized out>) at orb.cc:310 #40x00002aaaab67acf3 in CORBA::release (o=0x6ad2f0) at ../include/mico/object.h:71 #50x00002aaaab6857ff in ObjVar<CORBA::ORBInvokeRec>::release (t=0x6ad2f0) at ../include/mico/template_impl.h:49 #60x00002aaaab683825 in ObjVar<CORBA::ORBInvokeRec>::free (this=0x2aaaae28f770) at ../include/mico/template.h:139 #70x00002aaaab681ec8 in ObjVar<CORBA::ORBInvokeRec>::~ObjVar (this=0x2aaaae28f770, __in_chrg=<optimized out>) at ../include/mico/template.h:74 #80x00002aaaab72901b in MICO::IIOPProxy::handle_invoke_reply (this=0x685230, conn=0x6a6800, in=...) at iop.cc:4821 #90x00002aaaab729716 in MICO::IIOPProxy::handle_input (this=0x685230, conn=0x6a6800, inp=0x6a80c0) at iop.cc:4985 #10 0x00002aaaab729ddf in MICO::IIOPProxy::input_callback (this=0x685230, conn=0x6a6800, inp=0x6a80c0) at iop.cc:5061 #11 0x00002aaaab730f6d in MICO::GIOPConn::input_ready_callback (this=0x6a6800, b=0x6a80c0) at ../include/mico/iop.h:582 #12 0x00002aaaab71f331 in MICO::GIOPConn::input_ready (this=0x6a6800) at iop.cc:2639 #13 0x00002aaaab720e02 in MICO::GIOPConn::do_read (this=0x6a6800, break_after_read=0 '\000') at iop.cc:2968 #14 0x00002aaaab7212c5 in MICO::GIOPConn::callback (this=0x6a6800, ev=CORBA::TransportCallback::Read) at iop.cc:3020 #15 0x00002aaaab70f56b in MICO::SocketTransport::callback (this=0x6a5e30, disp=0x6a6350, ev=CORBA::Dispatcher::Read) at transport.cc:213 #16 0x00002aaaab6c6372 in MICO::SelectDispatcher::handle_fevents (this=0x6a6350, rset=..., wset=..., xset=...) at dispatch.cc:270 #17 0x00002aaaab6c70b8 in MICO::SelectDispatcher::run (this=0x6a6350, infinite=0 '\000') at dispatch.cc:477 #18 0x00002aaaab71d6e4 in MICO::GIOPConnReader::_run (this=0x6a6af0, arg=0x6a6af0) at iop.cc:2256 #19 0x00002aaaab924bd7 in MICOMT::Thread::_thr_startup (this=0x6a6af0, arg=0x6a6af0) at os-thread/pthreads.cc:214 #20 0x00002aaaab924b8f in MICOMT::Thread::ThreadWrapper (arg=0x6a6af0) at os-thread/pthreads.cc:194 #21 0x00002aaaad0bf806 in start_thread () from /lib64/libpthread.so.0 #22 0x00002aaaad3b367d in clone () from /lib64/libc.so.6 Machine generated alternative text: - mico/orb/orb.cc - Eclipse File Edit Source Retactor Navigate Search project Pro]ect Explorer r optypes_cc or_cc ir base_cc ir_ppc_cpp ir-cc ltp address_cc ltp_lor_cc r memcheck_cc r memleaks_cc r memtrace_cc message_cc > messaging_impl_cc > messaging_cc r mt dispatcher_cc mt manager_cc r mtdeöug_cc > mtpollcy impl_cc > mtpollcy_cc > mttypes_cc r operation_cc orb all_cc orb excepts_cc orb_ppc_cpp > orb.cc os-ppc_cpp r os-thread_cc os-unlx_cc os-windows_cc pi_impl_cc pi_cc poa base_cc > poa_impl_cc poa_cc Run Window CosEvent 281 282 283 284 285 286 287 288 289 290 Help impl_c CosEventComm_cc target = Object: : duplicate (o) ; nil ; reg = CORBA: : ORBRequest: _principal Principal: : ( ) ; response expected = TRUE; addr adapter cb = callback; active = TRUE; gui_tcl ClientLiörary_t 2918 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 CORBA : : ORBInvokeRec : : —ORBInvokeRec o if caller needs the object then he CORBA: : release ( 0b') ; CORBA: : release ( target) ; CORBA: : release (_principal) ; / / reg is intentionally omitted here must as it to // For more information see comment next // declaration in orb mica. h duplicate ( ) it may be object allocated reg variable // CORBA: : release ( _ reg) ; CORBA: : release ( Sri) ; #ifdef HAVE THREADS if ( cb { // rrr CORBA: : ORBAsyncca11back• if (tmp cb ! = NULL) { delete cb ; #end i f tmp cb dynamic cast CORBA. 312" void CORBA: : ORBInvokeRec : . free 313 o target) ; allocated on on Notitler_tcl stack ! stack ! 314 { 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 mico/orb/orj CORBA: : release ( CORBA: : release ( CORBA: : release (_principal) ; / / reg is intentionally omitted here as // For more information see comment next // declaration in orb mica. h // CORBA: : release ( _ reg) ; CORBA: : release ( Sri) ; if ( cb) delete cb ; have result = FALSE; type = Request Unknown ; target = O; _principal it to may be object reg variable reg act IV e FALSE ; NORMAL Writaöle Smart Insert 8 304 Computer charon-g0002 C/C++ _ [charon- g0002] outline @ Make Target El Task List orb_pch_h CORBA_h string_h ostream tstream iostream_h tstream_h m Ico/os-net_h mico/impl_h mico/ssl_h mico/watm_h mico/ltp_h mico/template_impl_h mico/util_h mico/dynany_impl_h mico/security/securitylevell _h mico/security/securityIeve12_impI_h mico/security/Auditlntercept_h mico/security/odm_impl_h mico/security/DomainManager_impI_h mico/security/s13pm_impl_h mico/security/securityleve13 impl_h mico/security/transportsecurlty impl_h mico/security/s13tcpip_impl_h mico/security/s13tls impl_h mico/security/s13csi impl_h mico/security/s13ipc_impl_h mico/process_impl_h m Ico/throw_h algorithm mico/memtrace_h •A Mon Mar S. 1258 PM a
-- Karel Gardas kgar...@objectsecurity.com ObjectSecurity Ltd. http://www.objectsecurity.com ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot _______________________________________________ Mico-devel mailing list Mico-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mico-devel