• 2019 Update 3
  • 03/07/2019
  • Public Content
  • Download as PDF
Contents

(LOCAL:MEMORY:INITIALIZATION)
This feature is enabled by default if all processes run under Valgrind*. If that is not the case, it is disabled. If in doubt, check the configuration summary at the beginning of the run to see whether this feature was enabled or not. There are no Intel® Trace Collector error reports with this type; Valgrind's error reports have to be watched instead to find problems related to memory initialization. See the section "Use of uninitialized values" in Valgrind's user guide for details.
If enabled, then Valgrind's tracking of memory definedness is extended to the whole application. For applications which transmit partially initialized data between processes, this avoids two cases:
  • False positive: sending the message with the partially initialized data triggers a valgrind report for send or write system calls at the sender side
  • False negative: at the recipient, valgrind incorrectly assumes that all incoming data is completely initialized and thus will not warn if the uninitialized data influences the control flow in the recipient; normally it would report that
To handle the false positive case Valgrind must have been started with the suppression file provided with Intel® Trace Collector. The
local_memory_valgrind
example (available at https://software.intel.com/en-us/product-code-samples) demonstrates both cases.
Turning this feature off is useful if the application is supposed to be written in such a way that it never transmits uninitialized data. In that case Intel® Trace Collector suppression file should not be used because it would suppress warnings at the sender and the
LOCAL:MEMORY:ILLEGAL_ACCESS
must be disabled as it would cause extra valgrind reports.
See Also

Product and Performance Information

1

Intel's compilers may or may not optimize to the same degree for non-Intel microprocessors for optimizations that are not unique to Intel microprocessors. These optimizations include SSE2, SSE3, and SSSE3 instruction sets and other optimizations. Intel does not guarantee the availability, functionality, or effectiveness of any optimization on microprocessors not manufactured by Intel. Microprocessor-dependent optimizations in this product are intended for use with Intel microprocessors. Certain optimizations not specific to Intel microarchitecture are reserved for Intel microprocessors. Please refer to the applicable product User and Reference Guides for more information regarding the specific instruction sets covered by this notice.

Notice revision #20110804