[omniORB] Purify: Invalid pointer read/write
suzuki@wni.co.jp
suzuki@wni.co.jp
Mon, 08 Feb 1999 23:25:37 +0900
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).
>
>