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

Document information


More support for:

Rational Purify
Runtime

Software version:

2003.06

Operating system(s):

Solaris

Reference #:

1118280

Modified date:

2011-06-11

Translate my page

Machine Translation

Content navigation