Lars Immisch
2006-11-20 05:32:35 UTC
Dear all, Dear Duncan,
I have an old application that I have just ported to omniORB-4.1.0-rc2.
One of my immediate test cases fails, however:
When the process exits after the ORB has been initialized, I get a SEGV in:
omni::TypeCode_collector::countInternalRefs(omni::TypeCode_base*)
A valgrind log is attached.
Up to this point, not much has happened. Basically, the pieces relevant
to omniORB were:
orb = CORBA::ORB_init(argc, argv);
CORBA::Object_var obj(orb->resolve_initial_references("RootPOA"));
PortableServer::POA_var poa(PortableServer::POA::_narrow(obj.in()));
// Activate POA manager
PortableServer::POAManager_var mgr(poa->the_POAManager());
mgr->activate();
obj = orb->resolve_initial_references("omniINSPOA");
PortableServer::POA_var ins_poa(PortableServer::POA::_narrow(obj));
mgr = ins_poa->the_POAManager();
mgr->activate();
This happens both on RedHat AS 4 and Debian testing.
I'll check if the error also occurs with the latest stable release (4.0.7).
The valgrind output is:
==1681== Memcheck, a memory error detector.
==1681== Copyright (C) 2002-2006, and GNU GPL'd, by Julian Seward et al.
==1681== Using LibVEX rev 1658, a library for dynamic binary translation.
==1681== Copyright (C) 2004-2006, and GNU GPL'd, by OpenWorks LLP.
==1681== Using valgrind-3.2.1-Debian, a dynamic binary instrumentation
framework.
==1681== Copyright (C) 2000-2006, and GNU GPL'd, by Julian Seward et al.
==1681== For more details, rerun with: -v
==1681==
--1681-- DWARF2 CFI reader: unhandled CFI instruction 0:50
--1681-- DWARF2 CFI reader: unhandled CFI instruction 0:50
--1681-- DWARF2 CFI reader: unhandled CFI instruction 0:50
--1681-- DWARF2 CFI reader: unhandled CFI instruction 0:50
==1681== Syscall param socketcall.sendto(msg) points to uninitialised
byte(s)
==1681== at 0x462082C: sendto (in /lib/tls/libc-2.3.6.so)
==1681== by 0x463E3CE: getifaddrs (in /lib/tls/libc-2.3.6.so)
==1681== by 0x415D1C7: omni::tcpTransportImpl::initialise() (in
/usr/local/lib/libomniORB4.so.1.0)
==1681== by 0x410BFD7: omni::omni_giopEndpoint_initialiser::attach()
(in /usr/local/lib/libomniORB4.so.1.0)
==1681== by 0x40A2C5C: CORBA::ORB_init(int&, char**, char const*,
char const* (*) [2]) (in /usr/local/lib/libomniORB4.so.1.0)
==1681== by 0x8052B7B: main (actor.cpp:245)
==1681== Address 0xBEA7F219 is on thread 1's stack
==1681==
==1681== Syscall param socketcall.sendto(msg) points to uninitialised
byte(s)
==1681== at 0x462082C: sendto (in /lib/tls/libc-2.3.6.so)
==1681== by 0x463E3F0: getifaddrs (in /lib/tls/libc-2.3.6.so)
==1681== by 0x415D1C7: omni::tcpTransportImpl::initialise() (in
/usr/local/lib/libomniORB4.so.1.0)
==1681== by 0x410BFD7: omni::omni_giopEndpoint_initialiser::attach()
(in /usr/local/lib/libomniORB4.so.1.0)
==1681== by 0x40A2C5C: CORBA::ORB_init(int&, char**, char const*,
char const* (*) [2]) (in /usr/local/lib/libomniORB4.so.1.0)
==1681== by 0x8052B7B: main (actor.cpp:245)
==1681== Address 0xBEA7F219 is on thread 1's stack
==1681==
==1681== Invalid read of size 4
==1681== at 0x42EA897:
omni::TypeCode_collector::countInternalRefs(omni::TypeCode_base*) (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42EA924:
omni::TypeCode_collector::countInternalRefs(omni::TypeCode_base*) (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42EA924:
omni::TypeCode_collector::countInternalRefs(omni::TypeCode_base*) (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42EA9DD:
omni::TypeCode_collector::releaseRef(omni::TypeCode_base*) (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42ECF67: CORBA::release(CORBA::TypeCode*) (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42ED95E: CORBA::TypeCode_member::~TypeCode_member() (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42EFFC2: omni::TypeCode_sequence::~TypeCode_sequence()
(in /usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42EAA06:
omni::TypeCode_collector::releaseRef(omni::TypeCode_base*) (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42ECF67: CORBA::release(CORBA::TypeCode*) (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42ED95E: CORBA::TypeCode_member::~TypeCode_member() (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42F342E: omni::TypeCode_alias::~TypeCode_alias() (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42EAA06:
omni::TypeCode_collector::releaseRef(omni::TypeCode_base*) (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== Address 0x46B6F30 is 32 bytes inside a block of size 68 free'd
==1681== at 0x401BCBC: operator delete(void*) (vg_replace_malloc.c:244)
==1681== by 0x42F346F: omni::TypeCode_alias::~TypeCode_alias() (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42EAA06:
omni::TypeCode_collector::releaseRef(omni::TypeCode_base*) (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42ECF67: CORBA::release(CORBA::TypeCode*) (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42ED95E: CORBA::TypeCode_member::~TypeCode_member() (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42F3C42: omni::TypeCode_union::~TypeCode_union() (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42EAA06:
omni::TypeCode_collector::releaseRef(omni::TypeCode_base*) (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42ECF67: CORBA::release(CORBA::TypeCode*) (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42F3AF7: omni::TypeCode_struct::~TypeCode_struct() (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42EAA06:
omni::TypeCode_collector::releaseRef(omni::TypeCode_base*) (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42F03D6: omni::TypeCode_indirect::~TypeCode_indirect()
(in /usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42EAA06:
omni::TypeCode_collector::releaseRef(omni::TypeCode_base*) (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681==
==1681== Invalid read of size 1
==1681== at 0x42EA89A:
omni::TypeCode_collector::countInternalRefs(omni::TypeCode_base*) (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42EA924:
omni::TypeCode_collector::countInternalRefs(omni::TypeCode_base*) (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42EA924:
omni::TypeCode_collector::countInternalRefs(omni::TypeCode_base*) (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42EA9DD:
omni::TypeCode_collector::releaseRef(omni::TypeCode_base*) (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42ECF67: CORBA::release(CORBA::TypeCode*) (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42ED95E: CORBA::TypeCode_member::~TypeCode_member() (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42EFFC2: omni::TypeCode_sequence::~TypeCode_sequence()
(in /usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42EAA06:
omni::TypeCode_collector::releaseRef(omni::TypeCode_base*) (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42ECF67: CORBA::release(CORBA::TypeCode*) (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42ED95E: CORBA::TypeCode_member::~TypeCode_member() (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42F342E: omni::TypeCode_alias::~TypeCode_alias() (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42EAA06:
omni::TypeCode_collector::releaseRef(omni::TypeCode_base*) (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== Address 0x46B6F25 is 21 bytes inside a block of size 68 free'd
==1681== at 0x401BCBC: operator delete(void*) (vg_replace_malloc.c:244)
==1681== by 0x42F346F: omni::TypeCode_alias::~TypeCode_alias() (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42EAA06:
omni::TypeCode_collector::releaseRef(omni::TypeCode_base*) (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42ECF67: CORBA::release(CORBA::TypeCode*) (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42ED95E: CORBA::TypeCode_member::~TypeCode_member() (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42F3C42: omni::TypeCode_union::~TypeCode_union() (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42EAA06:
omni::TypeCode_collector::releaseRef(omni::TypeCode_base*) (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42ECF67: CORBA::release(CORBA::TypeCode*) (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42F3AF7: omni::TypeCode_struct::~TypeCode_struct() (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42EAA06:
omni::TypeCode_collector::releaseRef(omni::TypeCode_base*) (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42F03D6: omni::TypeCode_indirect::~TypeCode_indirect()
(in /usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42EAA06:
omni::TypeCode_collector::releaseRef(omni::TypeCode_base*) (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681==
==1681== Invalid read of size 4
==1681== at 0x42EA8A0:
omni::TypeCode_collector::countInternalRefs(omni::TypeCode_base*) (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42EA924:
omni::TypeCode_collector::countInternalRefs(omni::TypeCode_base*) (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42EA924:
omni::TypeCode_collector::countInternalRefs(omni::TypeCode_base*) (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42EA9DD:
omni::TypeCode_collector::releaseRef(omni::TypeCode_base*) (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42ECF67: CORBA::release(CORBA::TypeCode*) (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42ED95E: CORBA::TypeCode_member::~TypeCode_member() (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42EFFC2: omni::TypeCode_sequence::~TypeCode_sequence()
(in /usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42EAA06:
omni::TypeCode_collector::releaseRef(omni::TypeCode_base*) (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42ECF67: CORBA::release(CORBA::TypeCode*) (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42ED95E: CORBA::TypeCode_member::~TypeCode_member() (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42F342E: omni::TypeCode_alias::~TypeCode_alias() (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42EAA06:
omni::TypeCode_collector::releaseRef(omni::TypeCode_base*) (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== Address 0x46B6F40 is 48 bytes inside a block of size 68 free'd
==1681== at 0x401BCBC: operator delete(void*) (vg_replace_malloc.c:244)
==1681== by 0x42F346F: omni::TypeCode_alias::~TypeCode_alias() (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42EAA06:
omni::TypeCode_collector::releaseRef(omni::TypeCode_base*) (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42ECF67: CORBA::release(CORBA::TypeCode*) (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42ED95E: CORBA::TypeCode_member::~TypeCode_member() (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42F3C42: omni::TypeCode_union::~TypeCode_union() (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42EAA06:
omni::TypeCode_collector::releaseRef(omni::TypeCode_base*) (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42ECF67: CORBA::release(CORBA::TypeCode*) (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42F3AF7: omni::TypeCode_struct::~TypeCode_struct() (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42EAA06:
omni::TypeCode_collector::releaseRef(omni::TypeCode_base*) (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42F03D6: omni::TypeCode_indirect::~TypeCode_indirect()
(in /usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42EAA06:
omni::TypeCode_collector::releaseRef(omni::TypeCode_base*) (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681==
==1681== Invalid write of size 1
==1681== at 0x42EA8A3:
omni::TypeCode_collector::countInternalRefs(omni::TypeCode_base*) (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42EA924:
omni::TypeCode_collector::countInternalRefs(omni::TypeCode_base*) (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42EA924:
omni::TypeCode_collector::countInternalRefs(omni::TypeCode_base*) (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42EA9DD:
omni::TypeCode_collector::releaseRef(omni::TypeCode_base*) (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42ECF67: CORBA::release(CORBA::TypeCode*) (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42ED95E: CORBA::TypeCode_member::~TypeCode_member() (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42EFFC2: omni::TypeCode_sequence::~TypeCode_sequence()
(in /usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42EAA06:
omni::TypeCode_collector::releaseRef(omni::TypeCode_base*) (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42ECF67: CORBA::release(CORBA::TypeCode*) (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42ED95E: CORBA::TypeCode_member::~TypeCode_member() (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42F342E: omni::TypeCode_alias::~TypeCode_alias() (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42EAA06:
omni::TypeCode_collector::releaseRef(omni::TypeCode_base*) (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== Address 0x46B6F25 is 21 bytes inside a block of size 68 free'd
==1681== at 0x401BCBC: operator delete(void*) (vg_replace_malloc.c:244)
==1681== by 0x42F346F: omni::TypeCode_alias::~TypeCode_alias() (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42EAA06:
omni::TypeCode_collector::releaseRef(omni::TypeCode_base*) (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42ECF67: CORBA::release(CORBA::TypeCode*) (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42ED95E: CORBA::TypeCode_member::~TypeCode_member() (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42F3C42: omni::TypeCode_union::~TypeCode_union() (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42EAA06:
omni::TypeCode_collector::releaseRef(omni::TypeCode_base*) (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42ECF67: CORBA::release(CORBA::TypeCode*) (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42F3AF7: omni::TypeCode_struct::~TypeCode_struct() (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42EAA06:
omni::TypeCode_collector::releaseRef(omni::TypeCode_base*) (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42F03D6: omni::TypeCode_indirect::~TypeCode_indirect()
(in /usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42EAA06:
omni::TypeCode_collector::releaseRef(omni::TypeCode_base*) (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681==
==1681== Invalid read of size 4
==1681== at 0x42EA8B1:
omni::TypeCode_collector::countInternalRefs(omni::TypeCode_base*) (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42EA924:
omni::TypeCode_collector::countInternalRefs(omni::TypeCode_base*) (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42EA924:
omni::TypeCode_collector::countInternalRefs(omni::TypeCode_base*) (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42EA9DD:
omni::TypeCode_collector::releaseRef(omni::TypeCode_base*) (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42ECF67: CORBA::release(CORBA::TypeCode*) (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42ED95E: CORBA::TypeCode_member::~TypeCode_member() (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42EFFC2: omni::TypeCode_sequence::~TypeCode_sequence()
(in /usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42EAA06:
omni::TypeCode_collector::releaseRef(omni::TypeCode_base*) (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42ECF67: CORBA::release(CORBA::TypeCode*) (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42ED95E: CORBA::TypeCode_member::~TypeCode_member() (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42F342E: omni::TypeCode_alias::~TypeCode_alias() (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42EAA06:
omni::TypeCode_collector::releaseRef(omni::TypeCode_base*) (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== Address 0x46B6F10 is 0 bytes inside a block of size 68 free'd
==1681== at 0x401BCBC: operator delete(void*) (vg_replace_malloc.c:244)
==1681== by 0x42F346F: omni::TypeCode_alias::~TypeCode_alias() (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42EAA06:
omni::TypeCode_collector::releaseRef(omni::TypeCode_base*) (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42ECF67: CORBA::release(CORBA::TypeCode*) (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42ED95E: CORBA::TypeCode_member::~TypeCode_member() (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42F3C42: omni::TypeCode_union::~TypeCode_union() (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42EAA06:
omni::TypeCode_collector::releaseRef(omni::TypeCode_base*) (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42ECF67: CORBA::release(CORBA::TypeCode*) (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42F3AF7: omni::TypeCode_struct::~TypeCode_struct() (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42EAA06:
omni::TypeCode_collector::releaseRef(omni::TypeCode_base*) (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42F03D6: omni::TypeCode_indirect::~TypeCode_indirect()
(in /usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42EAA06:
omni::TypeCode_collector::releaseRef(omni::TypeCode_base*) (in
/usr/local/lib/libomniDynamic4.so.1.0)
vex x86->IR: unhandled instruction bytes: 0xF4 0xBE 0x38 0x4
==1681==
==1681== Invalid read of size 1
==1681== at 0x43E3D0D: (within /usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42EA924:
omni::TypeCode_collector::countInternalRefs(omni::TypeCode_base*) (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42EA924:
omni::TypeCode_collector::countInternalRefs(omni::TypeCode_base*) (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42EA9DD:
omni::TypeCode_collector::releaseRef(omni::TypeCode_base*) (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42ECF67: CORBA::release(CORBA::TypeCode*) (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42ED95E: CORBA::TypeCode_member::~TypeCode_member() (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42EFFC2: omni::TypeCode_sequence::~TypeCode_sequence()
(in /usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42EAA06:
omni::TypeCode_collector::releaseRef(omni::TypeCode_base*) (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42ECF67: CORBA::release(CORBA::TypeCode*) (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42ED95E: CORBA::TypeCode_member::~TypeCode_member() (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42F342E: omni::TypeCode_alias::~TypeCode_alias() (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42EAA06:
omni::TypeCode_collector::releaseRef(omni::TypeCode_base*) (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== Address 0xA281CC2 is not stack'd, malloc'd or (recently) free'd
==1681==
==1681== Process terminating with default action of signal 11 (SIGSEGV)
==1681== Access not within mapped region at address 0xA281CC2
==1681== at 0x43E3D0D: (within /usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42EA924:
omni::TypeCode_collector::countInternalRefs(omni::TypeCode_base*) (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42EA924:
omni::TypeCode_collector::countInternalRefs(omni::TypeCode_base*) (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42EA9DD:
omni::TypeCode_collector::releaseRef(omni::TypeCode_base*) (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42ECF67: CORBA::release(CORBA::TypeCode*) (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42ED95E: CORBA::TypeCode_member::~TypeCode_member() (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42EFFC2: omni::TypeCode_sequence::~TypeCode_sequence()
(in /usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42EAA06:
omni::TypeCode_collector::releaseRef(omni::TypeCode_base*) (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42ECF67: CORBA::release(CORBA::TypeCode*) (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42ED95E: CORBA::TypeCode_member::~TypeCode_member() (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42F342E: omni::TypeCode_alias::~TypeCode_alias() (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42EAA06:
omni::TypeCode_collector::releaseRef(omni::TypeCode_base*) (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681==
==1681== ERROR SUMMARY: 9 errors from 8 contexts (suppressed: 29 from 1)
==1681== malloc/free: in use at exit: 65,378 bytes in 2,339 blocks.
==1681== malloc/free: 3,188 allocs, 849 frees, 91,960 bytes allocated.
==1681== For counts of detected errors, rerun with: -v
==1681== searching for pointers to 2,339 not-freed blocks.
==1681== checked 9,005,540 bytes.
==1681==
==1681== LEAK SUMMARY:
==1681== definitely lost: 0 bytes in 0 blocks.
==1681== possibly lost: 943 bytes in 25 blocks.
==1681== still reachable: 64,435 bytes in 2,314 blocks.
==1681== suppressed: 0 bytes in 0 blocks.
==1681== Reachable blocks (those to which a pointer was found) are not
shown.
==1681== To see them, rerun with: --show-reachable=yes
Killed
Kind regards,
Lars Immisch
I have an old application that I have just ported to omniORB-4.1.0-rc2.
One of my immediate test cases fails, however:
When the process exits after the ORB has been initialized, I get a SEGV in:
omni::TypeCode_collector::countInternalRefs(omni::TypeCode_base*)
A valgrind log is attached.
Up to this point, not much has happened. Basically, the pieces relevant
to omniORB were:
orb = CORBA::ORB_init(argc, argv);
CORBA::Object_var obj(orb->resolve_initial_references("RootPOA"));
PortableServer::POA_var poa(PortableServer::POA::_narrow(obj.in()));
// Activate POA manager
PortableServer::POAManager_var mgr(poa->the_POAManager());
mgr->activate();
obj = orb->resolve_initial_references("omniINSPOA");
PortableServer::POA_var ins_poa(PortableServer::POA::_narrow(obj));
mgr = ins_poa->the_POAManager();
mgr->activate();
This happens both on RedHat AS 4 and Debian testing.
I'll check if the error also occurs with the latest stable release (4.0.7).
The valgrind output is:
==1681== Memcheck, a memory error detector.
==1681== Copyright (C) 2002-2006, and GNU GPL'd, by Julian Seward et al.
==1681== Using LibVEX rev 1658, a library for dynamic binary translation.
==1681== Copyright (C) 2004-2006, and GNU GPL'd, by OpenWorks LLP.
==1681== Using valgrind-3.2.1-Debian, a dynamic binary instrumentation
framework.
==1681== Copyright (C) 2000-2006, and GNU GPL'd, by Julian Seward et al.
==1681== For more details, rerun with: -v
==1681==
--1681-- DWARF2 CFI reader: unhandled CFI instruction 0:50
--1681-- DWARF2 CFI reader: unhandled CFI instruction 0:50
--1681-- DWARF2 CFI reader: unhandled CFI instruction 0:50
--1681-- DWARF2 CFI reader: unhandled CFI instruction 0:50
==1681== Syscall param socketcall.sendto(msg) points to uninitialised
byte(s)
==1681== at 0x462082C: sendto (in /lib/tls/libc-2.3.6.so)
==1681== by 0x463E3CE: getifaddrs (in /lib/tls/libc-2.3.6.so)
==1681== by 0x415D1C7: omni::tcpTransportImpl::initialise() (in
/usr/local/lib/libomniORB4.so.1.0)
==1681== by 0x410BFD7: omni::omni_giopEndpoint_initialiser::attach()
(in /usr/local/lib/libomniORB4.so.1.0)
==1681== by 0x40A2C5C: CORBA::ORB_init(int&, char**, char const*,
char const* (*) [2]) (in /usr/local/lib/libomniORB4.so.1.0)
==1681== by 0x8052B7B: main (actor.cpp:245)
==1681== Address 0xBEA7F219 is on thread 1's stack
==1681==
==1681== Syscall param socketcall.sendto(msg) points to uninitialised
byte(s)
==1681== at 0x462082C: sendto (in /lib/tls/libc-2.3.6.so)
==1681== by 0x463E3F0: getifaddrs (in /lib/tls/libc-2.3.6.so)
==1681== by 0x415D1C7: omni::tcpTransportImpl::initialise() (in
/usr/local/lib/libomniORB4.so.1.0)
==1681== by 0x410BFD7: omni::omni_giopEndpoint_initialiser::attach()
(in /usr/local/lib/libomniORB4.so.1.0)
==1681== by 0x40A2C5C: CORBA::ORB_init(int&, char**, char const*,
char const* (*) [2]) (in /usr/local/lib/libomniORB4.so.1.0)
==1681== by 0x8052B7B: main (actor.cpp:245)
==1681== Address 0xBEA7F219 is on thread 1's stack
==1681==
==1681== Invalid read of size 4
==1681== at 0x42EA897:
omni::TypeCode_collector::countInternalRefs(omni::TypeCode_base*) (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42EA924:
omni::TypeCode_collector::countInternalRefs(omni::TypeCode_base*) (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42EA924:
omni::TypeCode_collector::countInternalRefs(omni::TypeCode_base*) (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42EA9DD:
omni::TypeCode_collector::releaseRef(omni::TypeCode_base*) (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42ECF67: CORBA::release(CORBA::TypeCode*) (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42ED95E: CORBA::TypeCode_member::~TypeCode_member() (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42EFFC2: omni::TypeCode_sequence::~TypeCode_sequence()
(in /usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42EAA06:
omni::TypeCode_collector::releaseRef(omni::TypeCode_base*) (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42ECF67: CORBA::release(CORBA::TypeCode*) (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42ED95E: CORBA::TypeCode_member::~TypeCode_member() (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42F342E: omni::TypeCode_alias::~TypeCode_alias() (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42EAA06:
omni::TypeCode_collector::releaseRef(omni::TypeCode_base*) (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== Address 0x46B6F30 is 32 bytes inside a block of size 68 free'd
==1681== at 0x401BCBC: operator delete(void*) (vg_replace_malloc.c:244)
==1681== by 0x42F346F: omni::TypeCode_alias::~TypeCode_alias() (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42EAA06:
omni::TypeCode_collector::releaseRef(omni::TypeCode_base*) (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42ECF67: CORBA::release(CORBA::TypeCode*) (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42ED95E: CORBA::TypeCode_member::~TypeCode_member() (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42F3C42: omni::TypeCode_union::~TypeCode_union() (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42EAA06:
omni::TypeCode_collector::releaseRef(omni::TypeCode_base*) (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42ECF67: CORBA::release(CORBA::TypeCode*) (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42F3AF7: omni::TypeCode_struct::~TypeCode_struct() (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42EAA06:
omni::TypeCode_collector::releaseRef(omni::TypeCode_base*) (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42F03D6: omni::TypeCode_indirect::~TypeCode_indirect()
(in /usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42EAA06:
omni::TypeCode_collector::releaseRef(omni::TypeCode_base*) (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681==
==1681== Invalid read of size 1
==1681== at 0x42EA89A:
omni::TypeCode_collector::countInternalRefs(omni::TypeCode_base*) (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42EA924:
omni::TypeCode_collector::countInternalRefs(omni::TypeCode_base*) (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42EA924:
omni::TypeCode_collector::countInternalRefs(omni::TypeCode_base*) (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42EA9DD:
omni::TypeCode_collector::releaseRef(omni::TypeCode_base*) (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42ECF67: CORBA::release(CORBA::TypeCode*) (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42ED95E: CORBA::TypeCode_member::~TypeCode_member() (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42EFFC2: omni::TypeCode_sequence::~TypeCode_sequence()
(in /usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42EAA06:
omni::TypeCode_collector::releaseRef(omni::TypeCode_base*) (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42ECF67: CORBA::release(CORBA::TypeCode*) (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42ED95E: CORBA::TypeCode_member::~TypeCode_member() (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42F342E: omni::TypeCode_alias::~TypeCode_alias() (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42EAA06:
omni::TypeCode_collector::releaseRef(omni::TypeCode_base*) (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== Address 0x46B6F25 is 21 bytes inside a block of size 68 free'd
==1681== at 0x401BCBC: operator delete(void*) (vg_replace_malloc.c:244)
==1681== by 0x42F346F: omni::TypeCode_alias::~TypeCode_alias() (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42EAA06:
omni::TypeCode_collector::releaseRef(omni::TypeCode_base*) (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42ECF67: CORBA::release(CORBA::TypeCode*) (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42ED95E: CORBA::TypeCode_member::~TypeCode_member() (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42F3C42: omni::TypeCode_union::~TypeCode_union() (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42EAA06:
omni::TypeCode_collector::releaseRef(omni::TypeCode_base*) (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42ECF67: CORBA::release(CORBA::TypeCode*) (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42F3AF7: omni::TypeCode_struct::~TypeCode_struct() (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42EAA06:
omni::TypeCode_collector::releaseRef(omni::TypeCode_base*) (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42F03D6: omni::TypeCode_indirect::~TypeCode_indirect()
(in /usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42EAA06:
omni::TypeCode_collector::releaseRef(omni::TypeCode_base*) (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681==
==1681== Invalid read of size 4
==1681== at 0x42EA8A0:
omni::TypeCode_collector::countInternalRefs(omni::TypeCode_base*) (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42EA924:
omni::TypeCode_collector::countInternalRefs(omni::TypeCode_base*) (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42EA924:
omni::TypeCode_collector::countInternalRefs(omni::TypeCode_base*) (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42EA9DD:
omni::TypeCode_collector::releaseRef(omni::TypeCode_base*) (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42ECF67: CORBA::release(CORBA::TypeCode*) (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42ED95E: CORBA::TypeCode_member::~TypeCode_member() (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42EFFC2: omni::TypeCode_sequence::~TypeCode_sequence()
(in /usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42EAA06:
omni::TypeCode_collector::releaseRef(omni::TypeCode_base*) (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42ECF67: CORBA::release(CORBA::TypeCode*) (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42ED95E: CORBA::TypeCode_member::~TypeCode_member() (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42F342E: omni::TypeCode_alias::~TypeCode_alias() (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42EAA06:
omni::TypeCode_collector::releaseRef(omni::TypeCode_base*) (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== Address 0x46B6F40 is 48 bytes inside a block of size 68 free'd
==1681== at 0x401BCBC: operator delete(void*) (vg_replace_malloc.c:244)
==1681== by 0x42F346F: omni::TypeCode_alias::~TypeCode_alias() (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42EAA06:
omni::TypeCode_collector::releaseRef(omni::TypeCode_base*) (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42ECF67: CORBA::release(CORBA::TypeCode*) (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42ED95E: CORBA::TypeCode_member::~TypeCode_member() (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42F3C42: omni::TypeCode_union::~TypeCode_union() (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42EAA06:
omni::TypeCode_collector::releaseRef(omni::TypeCode_base*) (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42ECF67: CORBA::release(CORBA::TypeCode*) (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42F3AF7: omni::TypeCode_struct::~TypeCode_struct() (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42EAA06:
omni::TypeCode_collector::releaseRef(omni::TypeCode_base*) (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42F03D6: omni::TypeCode_indirect::~TypeCode_indirect()
(in /usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42EAA06:
omni::TypeCode_collector::releaseRef(omni::TypeCode_base*) (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681==
==1681== Invalid write of size 1
==1681== at 0x42EA8A3:
omni::TypeCode_collector::countInternalRefs(omni::TypeCode_base*) (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42EA924:
omni::TypeCode_collector::countInternalRefs(omni::TypeCode_base*) (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42EA924:
omni::TypeCode_collector::countInternalRefs(omni::TypeCode_base*) (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42EA9DD:
omni::TypeCode_collector::releaseRef(omni::TypeCode_base*) (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42ECF67: CORBA::release(CORBA::TypeCode*) (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42ED95E: CORBA::TypeCode_member::~TypeCode_member() (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42EFFC2: omni::TypeCode_sequence::~TypeCode_sequence()
(in /usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42EAA06:
omni::TypeCode_collector::releaseRef(omni::TypeCode_base*) (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42ECF67: CORBA::release(CORBA::TypeCode*) (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42ED95E: CORBA::TypeCode_member::~TypeCode_member() (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42F342E: omni::TypeCode_alias::~TypeCode_alias() (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42EAA06:
omni::TypeCode_collector::releaseRef(omni::TypeCode_base*) (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== Address 0x46B6F25 is 21 bytes inside a block of size 68 free'd
==1681== at 0x401BCBC: operator delete(void*) (vg_replace_malloc.c:244)
==1681== by 0x42F346F: omni::TypeCode_alias::~TypeCode_alias() (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42EAA06:
omni::TypeCode_collector::releaseRef(omni::TypeCode_base*) (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42ECF67: CORBA::release(CORBA::TypeCode*) (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42ED95E: CORBA::TypeCode_member::~TypeCode_member() (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42F3C42: omni::TypeCode_union::~TypeCode_union() (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42EAA06:
omni::TypeCode_collector::releaseRef(omni::TypeCode_base*) (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42ECF67: CORBA::release(CORBA::TypeCode*) (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42F3AF7: omni::TypeCode_struct::~TypeCode_struct() (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42EAA06:
omni::TypeCode_collector::releaseRef(omni::TypeCode_base*) (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42F03D6: omni::TypeCode_indirect::~TypeCode_indirect()
(in /usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42EAA06:
omni::TypeCode_collector::releaseRef(omni::TypeCode_base*) (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681==
==1681== Invalid read of size 4
==1681== at 0x42EA8B1:
omni::TypeCode_collector::countInternalRefs(omni::TypeCode_base*) (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42EA924:
omni::TypeCode_collector::countInternalRefs(omni::TypeCode_base*) (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42EA924:
omni::TypeCode_collector::countInternalRefs(omni::TypeCode_base*) (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42EA9DD:
omni::TypeCode_collector::releaseRef(omni::TypeCode_base*) (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42ECF67: CORBA::release(CORBA::TypeCode*) (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42ED95E: CORBA::TypeCode_member::~TypeCode_member() (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42EFFC2: omni::TypeCode_sequence::~TypeCode_sequence()
(in /usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42EAA06:
omni::TypeCode_collector::releaseRef(omni::TypeCode_base*) (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42ECF67: CORBA::release(CORBA::TypeCode*) (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42ED95E: CORBA::TypeCode_member::~TypeCode_member() (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42F342E: omni::TypeCode_alias::~TypeCode_alias() (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42EAA06:
omni::TypeCode_collector::releaseRef(omni::TypeCode_base*) (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== Address 0x46B6F10 is 0 bytes inside a block of size 68 free'd
==1681== at 0x401BCBC: operator delete(void*) (vg_replace_malloc.c:244)
==1681== by 0x42F346F: omni::TypeCode_alias::~TypeCode_alias() (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42EAA06:
omni::TypeCode_collector::releaseRef(omni::TypeCode_base*) (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42ECF67: CORBA::release(CORBA::TypeCode*) (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42ED95E: CORBA::TypeCode_member::~TypeCode_member() (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42F3C42: omni::TypeCode_union::~TypeCode_union() (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42EAA06:
omni::TypeCode_collector::releaseRef(omni::TypeCode_base*) (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42ECF67: CORBA::release(CORBA::TypeCode*) (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42F3AF7: omni::TypeCode_struct::~TypeCode_struct() (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42EAA06:
omni::TypeCode_collector::releaseRef(omni::TypeCode_base*) (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42F03D6: omni::TypeCode_indirect::~TypeCode_indirect()
(in /usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42EAA06:
omni::TypeCode_collector::releaseRef(omni::TypeCode_base*) (in
/usr/local/lib/libomniDynamic4.so.1.0)
vex x86->IR: unhandled instruction bytes: 0xF4 0xBE 0x38 0x4
==1681==
==1681== Invalid read of size 1
==1681== at 0x43E3D0D: (within /usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42EA924:
omni::TypeCode_collector::countInternalRefs(omni::TypeCode_base*) (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42EA924:
omni::TypeCode_collector::countInternalRefs(omni::TypeCode_base*) (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42EA9DD:
omni::TypeCode_collector::releaseRef(omni::TypeCode_base*) (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42ECF67: CORBA::release(CORBA::TypeCode*) (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42ED95E: CORBA::TypeCode_member::~TypeCode_member() (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42EFFC2: omni::TypeCode_sequence::~TypeCode_sequence()
(in /usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42EAA06:
omni::TypeCode_collector::releaseRef(omni::TypeCode_base*) (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42ECF67: CORBA::release(CORBA::TypeCode*) (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42ED95E: CORBA::TypeCode_member::~TypeCode_member() (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42F342E: omni::TypeCode_alias::~TypeCode_alias() (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42EAA06:
omni::TypeCode_collector::releaseRef(omni::TypeCode_base*) (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== Address 0xA281CC2 is not stack'd, malloc'd or (recently) free'd
==1681==
==1681== Process terminating with default action of signal 11 (SIGSEGV)
==1681== Access not within mapped region at address 0xA281CC2
==1681== at 0x43E3D0D: (within /usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42EA924:
omni::TypeCode_collector::countInternalRefs(omni::TypeCode_base*) (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42EA924:
omni::TypeCode_collector::countInternalRefs(omni::TypeCode_base*) (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42EA9DD:
omni::TypeCode_collector::releaseRef(omni::TypeCode_base*) (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42ECF67: CORBA::release(CORBA::TypeCode*) (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42ED95E: CORBA::TypeCode_member::~TypeCode_member() (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42EFFC2: omni::TypeCode_sequence::~TypeCode_sequence()
(in /usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42EAA06:
omni::TypeCode_collector::releaseRef(omni::TypeCode_base*) (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42ECF67: CORBA::release(CORBA::TypeCode*) (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42ED95E: CORBA::TypeCode_member::~TypeCode_member() (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42F342E: omni::TypeCode_alias::~TypeCode_alias() (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681== by 0x42EAA06:
omni::TypeCode_collector::releaseRef(omni::TypeCode_base*) (in
/usr/local/lib/libomniDynamic4.so.1.0)
==1681==
==1681== ERROR SUMMARY: 9 errors from 8 contexts (suppressed: 29 from 1)
==1681== malloc/free: in use at exit: 65,378 bytes in 2,339 blocks.
==1681== malloc/free: 3,188 allocs, 849 frees, 91,960 bytes allocated.
==1681== For counts of detected errors, rerun with: -v
==1681== searching for pointers to 2,339 not-freed blocks.
==1681== checked 9,005,540 bytes.
==1681==
==1681== LEAK SUMMARY:
==1681== definitely lost: 0 bytes in 0 blocks.
==1681== possibly lost: 943 bytes in 25 blocks.
==1681== still reachable: 64,435 bytes in 2,314 blocks.
==1681== suppressed: 0 bytes in 0 blocks.
==1681== Reachable blocks (those to which a pointer was found) are not
shown.
==1681== To see them, rerun with: --show-reachable=yes
Killed
Kind regards,
Lars Immisch