[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