Skip to main content

Memory corruption occurs when using memcpy and Purify on some Sun machines.


Technote (troubleshooting)


Problem(Abstract)

Memory corruption occurs when using memcpy and IBM® Rational® Purify® on some Solaris® machines. Some characters or data are replaced with ASCII character 255, which in most fonts looks like a lower-case y with an umlaut (two dots) over it: ÿ.

Cause

This problem occurs when the version of memcpy that comes from libc_psr.so.1 has been instrumented.

Resolving the problem

The library itself is an auxiliary library, meaning that it is optional, and provides optimised, sometimes hand-coded functional replacements for many memory functions defined in libc.so.1, including the memcpy function.

The version of memcpy from libc_psr.so.1 is not supported with Purify.

To resolve this issue, follow these steps:

  1. Specify the -PROCESS_DT_AUX_ENTRIES=false switch either on the Purify command
    line or in the PURIFYOPTIONS environment variable.
  2. After specifying the switch, rebuild the binary under test with Purify to ensure that the libc library has been instrumented correctly without auxiliary dependencies.

The - PROCESS_DT_AUX_ENTRIES=false switch creates an instrumented application that makes no reference at all to libc_psr.so.1.



Historical Number

172742601

Rate this page:

(0 users)Average rating

Copyright and trademark information

IBM, the IBM logo and ibm.com are trademarks of International Business Machines Corp., registered in many jurisdictions worldwide. Other product and service names might be trademarks of IBM or other companies. A current list of IBM trademarks is available on the Web at "Copyright and trademark information" at www.ibm.com/legal/copytrade.shtml.

Rate this page:


(0 users)Average rating

Add comments

Document information

Rational Purify

Runtime


Software version:
2003.06


Operating system(s):
Solaris


Reference #:
1118280


Modified date:
2011-06-11

Translate my page

Content navigation