User Guide

Contents

Error Message: Symbol File Is Not Found

This is a Linux* only message.
Intel® VTune™
Profiler
may display the error message about missing symbol file during user-mode sampling and tracing collection. For example:
/opt/intel/vtune_profiler/bin64/vtune -collect hotspots -r test1 - my_test_exe vtune: Warning: Symbol file is not found. vtune: The call stack passing through the module [vdso] may be incorrect. vtune: Using result path '/home/user/test1' vtune: Executing actions 75 % Generating a report ----------------------------------------------------- Summary ----------------------------------------------------- Elapsed Time: 6.354 CPU Time: 6.210 ... vtune: Executing actions 100 % done

Cause and Solution

VTune
Profiler
notifies you that there is a module
[vdso]
that cannot be resolved for symbols (the square brackets are used for that purpose) and therefore the call stack may be incorrect. In some cases it might be a
[vsyscall]
module.
You may check that the
vdso
module is in a dynamic dependency list:
ldd -d my_test_exe linux-vdso.so.1 => (0x00002aaaaaac6000) libtbb.so.2 => /opt/intel/tbb/tbb40_233oss/lib/libtbb.so.2 (0x00002aaaaabc7000) libstdc++.so.6 => /usr/intel/pkgs/gcc/4.5.2/lib64/libstdc++.so.6 (0x00002aaaaadf5000) libm.so.6 => /lib64/libm.so.6 (0x00002aaaab117000) libgcc_s.so.1 => /usr/intel/pkgs/gcc/4.5.2/lib64/libgcc_s.so.1 (0x00002aaaab26c000) libc.so.6 => /lib64/libc.so.6 (0x00002aaaab481000) librt.so.1 => /lib64/librt.so.1 (0x00002aaaab6c2000) libdl.so.2 => /lib64/libdl.so.2 (0x00002aaaab7cb000) libpthread.so.0 => /lib64/libpthread.so.0 (0x00002aaaab8cf000) /lib64/ld-linux-x86-64.so.2 (0x00002aaaaaaab000)
You can safely ignore this message if you see a reference to the
[vdso]
. It means that the kernel dynamically made some temporary memory allocations by loading some executable code into memory space. The fact that
VTune
Profiler
throws this message indicates that some Hotspot samples were taken when that code was running. During the post-processing time the
VTune
Profiler
's collector could not find the
vdso
anymore. The module
linux-vdso.so.1
(
linux-vsyscall.so.1
or
linux-gate.so.1
on earlier Linux kernels) is a Virtual Dynamic Shared Object (VDSO) that resides in the address space of the program. This is a virtual library that contains a complex logic providing user applications with a fast access to system functions, depending on a CPU microarchitecture, either via an interrupt mechanism or via the fast system calls mechanism (for modern CPUs).

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