[omniORB] Purify: Invalid pointer read/write

Harald Hopfes harald.hopfes@vs.dasa.de
Mon, 08 Feb 1999 13:46:03 +0100


Hello!

When applying Purify to our program, we get the Errors shown
further down.
We are using OmniORB 2.6.0. Could someone tell me if these errors
are fixed in the omniORB 2.7.0 release?
Could it be a bug in the template implementation of the Sun
Compiler 4.2 ?

Thank you!

Harald

****  Purify instrumented x_purify
  * Purify 4.0 Solaris 2, Copyright (C) 1992-1996 Pure Software
Inc. All rights reserved.
  * For contact information type: "purify -help"
  * For TTY output, use the option "-windows=no"
  * Command-line: x_purify
  * Options settings: -always-use-cache-dir -threads=yes \
    -thread-report-at-exit=yes -max-threads=80 -g++=yes \
    -cache-dir=~/purify_cache -purify \
    -purify-home=~/purify-4.0-solaris2 \
    -real_ild_linker=~/SC4.2/bin/ild -threads=yes \
    -thread_stack_change=0x4000 -mt_safe_malloc=yes
  * Purify checking enabled.

****  Purify instrumented x_purify (pid 18509)  ****
IPW: Invalid pointer write (129 times):
  * This is occurring while in thread 18:
 IOP::TaggedProfile::TaggedProfile(void) [objectRef.cc]
 _VeCtOr_nEw_   [libC.so.5]
 _vector_new_   [rtlib.o]
 static _CORBA_Sequence<IOP::TaggedProfile>::allocbuf(unsigned
long) [seqtemplates.h:186]
 _CORBA_Sequence<IOP::TaggedProfile>::length(unsigned long)
[seqtemplates.h:150]
 _CORBA_Sequence<IOP::TaggedProfile>::operator
<<=(NetBufferedStream&) [bufferedStream.h:735]
  * Writing 4 bytes to 0xed00ec7c on the stack of thread 18.
  * Address 0xed00ec7c is 68 bytes above frame pointer in
function IOP::TaggedProfile::TaggedProfile(void).

****  Purify instrumented x_purify (pid 18509)  ****
IPR: Invalid pointer read (129 times):
  * This is occurring while in thread 18:
 IOP::TaggedProfile::TaggedProfile(void) [seqtemplates.h:186]
 _VeCtOr_nEw_   [libC.so.5]
 _vector_new_   [rtlib.o]
 static _CORBA_Sequence<IOP::TaggedProfile>::allocbuf(unsigned
long) [seqtemplates.h:186]
 _CORBA_Sequence<IOP::TaggedProfile>::length(unsigned long)
[seqtemplates.h:150]
 _CORBA_Sequence<IOP::TaggedProfile>::operator
<<=(NetBufferedStream&) [bufferedStream.h:735]
  * Reading 4 bytes from 0xed00ec7c on the stack of thread 18.
  * Address 0xed00ec7c is 68 bytes above frame pointer in
function IOP::TaggedProfile::TaggedProfile(void).