[omniORB] Purify: Invalid pointer read/write
Harald Hopfes
harald.hopfes@vs.dasa.de
Mon, 08 Feb 1999 15:46:14 +0100
Hello!
I got the following warning:
Purify or PureCoverage engine: Warning: Unrecognized option
'-mark-wrapped-stacks=yes' ignored.
So it seems that our version is too old (Purify 4.0/Solaris 2.5)
Some other suggestions?
Harald
suzuki@wni.co.jp wrote:
> Older Purify for Solaris have a bug that causes spurious
> detection of IPR/IPW. The problem can be worked around, in our
> environment (Purify 4.1/Solaris 2.6), by adding following options
> to purify command.
> -mark-wrapped-stacks=yes
> Existing instrumented library needs to be reinstrumented
> with this option, too.
> Hope this helps,
>
> -shinji
>
> > Message-Id: <36BEDC8A.C634680A@vs.dasa.de>
> > Date: Mon, 08 Feb 1999 13:46:03 +0100
> > From: Harald Hopfes <harald.hopfes@vs.dasa.de>
> > Organization: DASA
> > X-Mailer: Mozilla 4.5 [en] (WinNT; I)
> > X-Accept-Language: de,en
> > Mime-Version: 1.0
> > To: omniorb-list@uk.research.att.com
> > Subject: [omniORB] Purify: Invalid pointer read/write
> > Content-Transfer-Encoding: 7bit
> > Content-Length: 2235
> >
> > 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).
> >
> >