[omniORB] purify question
Richard Hardgrave
hardgrav@ttd.teradyne.com
Wed, 27 Jun 2001 13:17:29 -0500 (CDT)
Hello,
I'm running omniORB3.0.3 on an SPARC Ultra1 with Solaris 2.5.1.
I instrumented a servant in my CORBA architecture with purify-4.1-solaris2.
The purify log shows me that this uninitialized memory read occurs twice
every time I run the process. I believe it is only happening at initialization
time because I do not get additional complaints in the log if I run more of
the servants method invocations.
**** Purify instrumented ./ES_Mgr_Srv_pure (pid 25874) ****
UMR: Uninitialized memory read:
* This is occurring while in:
static IOP::iorToEncapStr(const unsigned char*, const
_CORBA_Unbounded_Sequence<IOP::TaggedProfile>*) [libomniORB3.so.0.3]
static omniURI::objectToString(CORBA::Object*) [libomniORB3.so.0.3]
main [ES_Mgr_Srv.cc:1168]
_start [crt1.o]
* Reading 1 byte from 0x124b93 in the heap.
* Address 0x124b93 is 67 bytes into a malloc'd block at 0x124b50 of 128 bytes.
* This block was allocated from:
malloc [rtlib.o]
__0OnWuI [libC.so.5]
operator new(unsigned int) [rtlib.o]
MemBufferedStream::grow(unsigned int) [libomniORB3.so.0.3]
static IOP::iorToEncapStr(const unsigned char*, const
_CORBA_Unbounded_Sequence<IOP::TaggedProfile>*) [libomniORB3.so.0.3]
static omniURI::objectToString(CORBA::Object*) [libomniORB3.so.0.3]
At ORBtraceLevel 20, I also get the following output:
omniORB: strand Ripper: start.
omniORB: scavenger : start.
omniORB: gateKeeper is tcpwrapGK 1.0 - based on tcp_wrappers_7.6
omniORB: Initialising omniDynamic library.
omniORB: Initialising incoming rope factories.
omniORB: strand Rope::incrRefCount: old value = 0
omniORB: Starting incoming rope factories.
omniORB: tcpSocketMTfactory Rendezvouser: start.
omniORB: tcpSocketMTfactory Rendezvouser: block on accept()
omniORB: Activating: root<0>
omniORB: Creating ref to local: root<0>
target id : IDL:TosES/ES_Mgr:1.0
most derived id: IDL:TosES/ES_Mgr:1.0
IDL object TosES::ES_Mgr IOR =
'IOR:000000000000001549444c3a546f7345532f45535f4d67723a312e300000000000000001000000000000002e00010000000
0000f3133312e3130312e32302e3231380033d39300000000000efe3b3a1107836500000000000000'
omniORB: Ref to: root<0> -- deleted.
omniORB: scavenger : scanning connections
omniORB: scavenger : scanning connections
The client & servant applications appear to work, for the moment,
but, should I be seeing that "root<0> -- deleted" message? Or,
is this just a T_var I defined going out of context?
I'm rather much following the coding example from echo/eg2_impl.cc.
Richard