Intel® VTune™ Amplifier XE and Intel® VTune™ Amplifier for Systems Help

Issues and Limitations

Running time is attributed to the next instruction (200108041)

To collect the data about time-consuming running regions of the target, the Intel® VTune™ Amplifier interrupts executing target threads and attributes the time to the context IP address.

Due to the collection mechanism, the captured IP address points to an instruction AFTER the one that is actually consuming most of the time. This leads to the running time being attributed to the next instruction (or, rarely to one of the subsequent instructions) in the Assembly view. In rare cases, this can also lead to wrong attribution of running time in the source - the time may be erroneously attributed to the source line AFTER the actual hot line.

In case the inline mode is ON and the program has small functions inlined at the hotspots, this can cause the running time to be attributed to a wrong function since the next instruction can belong to a different function in tightly inlined code.

An application that allocates massive chunks of memory may fail to work under VTune Amplifier (200083850)

If a 32-bit application allocates massive chunks of memory (close to 2 GB) in the heap, it may fail to launch under the VTune Amplifier while running fine on its own. This happens because the VTune Amplifier requires additional memory when profiling an application. The workaround could be in using larger address space (for example, converting the project to 64-bit).

Hardware event-based analysis may crash certain Intel® Core™ i7 processor-based systems when deep sleep states are enabled (200149603)

On some Intel® Core™ i7 processor-based (code named Nehalem) systems with C-states enabled, sampling may cause system hanging due to a known hardware issue (see errata AAJ134 in http://download.intel.com/design/processor/specupdt/320836.pdf). To avoid this, disable the “Cn(ACPI Cn) report to OS” BIOS option before sampling with the VTune Amplifier on Intel Core i7 processor-based systems.

Instruction set reference document is not positioned on description of proper instruction. (200091200)

The reference information for assembly instructions can be opened in any PDF viewer, but only Adobe Acrobat Reader* supports positioning the instruction reference document on the required page. To ensure correct functionality of this feature, you are recommended to install the latest available version of Adobe Acrobat Reader.

VTune Amplifier does not support profiling an application launched under debugger (200092508)

The Basic Hotspots, Concurrency, Lock and Waits, Memory Access with object tracking and Disk I/O analysis types provide incorrect results when analyzing an application launched under a debugger. VTune Amplifier does not detect whether a debugger is attached to a profiled application. Make sure that no debugging tools are attached to the application that is profiled with the VTune Amplifier.

Timeline pane displays incorrect concurrency and thread states for a paused region in the Concurrency and Locks and Waits analyses. (200204715)

Concurrency and thread state data may be incorrect in the Timeline pane for a region corresponding to the time when data collection was paused. Ignore the timeline data in a paused region during result analysis.

Only one stack frame is shown in Java code if IBM* J9* JVM is used (200227950)

Currently Java stack unwinding is not supported for IBM* J9* JVM.

Results not collected for processes terminated with TerminateProcess() (200108689)

No results are displayed for any process being profiled that is terminated by a different process calling TerminateProcess(). Instead, a different method should be used to terminate the process.

Do not use -ipo option with Intel compiler version earlier than 13.0. (200260765)

If using the Intel® compiler version earlier than 13.0, to get performance data on inline functions, use the additional option -inline-debug-info, but avoid using the /Qipo option. Currently this option disables generating the inline debug information in the compiler. Note that the Intel compiler integrated into the Microsoft Visual Studio* IDE uses the -ipo by default in the Release configuration.

Java source line may be shown incorrectly for Oracle JDK 6u25 x64 (200167001)

Drilling down to Java source code from VTune Amplifier XE results may show incorrect source line. The issue occurs with Java applications built with Oracle JDK 6u25 x64. This is the JDK problem, refer to issues JDK-7051767 and JDK-7047624 in Oracle bug database.

The problem is caused by slow network access. To improve performance use local directory for result storage.

Call stack can’t be unwound via no return functions (200263851)

If analyzed application contains functions without ret instruction (for example, calling exit()), unwinding call stack to its caller and higher may fail (no stack frames shown).

Attaching the VTune Amplifier to a process may take some time (200276420)

Your target application may complete before the data collection starts, so the VTune Amplifier may report an error. Increase the duration of your test application if necessary.

Command "status" is not supported for hardware event-based analysis types (200281661)

Command line option "$ amplxe-cl -command status" is currently supported only for user-mode sampling and tracing based analysis types, but not for EBS analysis types.

Hardware event-based analysis may cause unpredictable system behavior on processors based on Intel® microarchitecture code named Sandy Bridge (200285401)

On processors based on Intel microarchitecture code name Sandy Bridge, hardware event-based sampling may cause unpredictable system behavior due to a known hardware issue (see erratum BK105 in http://www.intel.com/content/dam/www/public/us/en/documents/specification-updates/2nd-gen-core-family-mobile-specification-update.pdf). To avoid this, you are not recommended to run General Exploration or Custom Hardware event-based analysis with precise events on these systems unless a BIOS workaround for the erratum is provided.

VTune Amplifier may detect which timer source to use incorrectly on Intel® Xeon® processor E5-XXXX processors (200287361)

In User-mode Sampling and Tracing based analysis (Hotspots, Concurrency, Locks and Waits), the following message may be displayed in command line or Debug Window:

Warning: Cannot load data file `<path>\data.0\18385-18389.0.trace' (SampleCallback: timestamps aren't ascended!).

To work around the problem collect results from command line using the -run-pass-thru option:

amplxe-cl -collect hotspots -run-pass-thru=-timestamp=sys -- <application>

Hardware event-based analysis does not work if more than 128 events are gathered simultaneously (200293868)

Decrease number of PMU events in analysis settings to resolve it.

Results should be closed before comparing them (200236090)

VTune Amplifier does not support opening the same result twice. Due to that limitation it is not possible to compare (via the Compare button) results if one of them is already opened. You should close results first then compare them.

ITT API task or frame is not shown in results if its end occurs when collector is inactive (200331811)

When ITT task or frame end notification occurs after collection was paused, or detach or stop command issued, the frame or task is not displayed in the result.

An application may experience the stack overflow exception when running under the VTune Amplifier (200249394)

An application allocating massive chunks of memory on a thread stack may experience the stack overflow exception and fail when running under the VTune Amplifier, while running flawlessly on its own. This happens because the VTune Amplifier requires additional space on an application thread stack for profiling needs. To work around this problem, consider using larger thread stack space.

VTune Amplifier for Systems target executables do not work on Yocto Project 1.5 x64 due to different paths to ld (200507491)

Error message: "-sh: ./amplxe-runss: No such file or directory". Usually ld is located in /lib64/ld-linux-x86-64.so.2 but on Yocto 1.5 x64 it is located in /lib/ld-linux-x86-64.so.2. The workaround is to create /lib64/ld-linux-x86-64.so.2 as a symlink to /lib/ld-linux-x86-64.so.2.

Security-enhanced Linux* is not supported (200155374)

Security-enhanced Linux settings (SELinux) are currently not supported by the VTune Amplifier and need to be either disabled or set to permissive for a successful tool suite installation. If your Linux distribution has SELinux enabled the following error message will be issued by the installer: "Your system is protected with Security-enhanced Linux (SELinux). We currently support only "Permissive" mode, which is not found on the system. To rectify this issue, you may either disable SELinux by - setting the line "SELINUX=disabled" in your /etc/sysconfig/selinux file - adding "selinux=0" kernel argument in lilo.conf or grub.conf files or make SELinux mode adjustment by - setting the line "SELINUX=permissive" in your /etc/sysconfig/selinux file or ask your system administrator to make SELinux mode adjustment. You may need to reboot your system after changing the system parameters. More information about SELinux can be found at http://www.nsa.gov/selinux/".

VTune Amplifier user mode collection may fail to run on Ubuntu* (200197563)

VTune Amplifier may fail to collect data for Hotspots, Concurrency, and Locks and Waits analysis types on the Ubuntu operating system. Once a collection is started, the message appears in the output: "Failed to start profiling because the scope of ptrace() system call application is limited. To enable profiling, please set /proc/sys/kernel/yama/ptrace_scope to 0. See the Release Notes for instructions on enabling it permanently."

To workaround this problem for the current session, set contents of the /proc/sys/kernel/yama/ptrace_scope sysctl file to 0.

To make this change permanent, set kernel.yama.ptrace_scope value to 0 at /etc/sysctl.d/10-ptrace.conf file using root permissions and reboot the machine.

Concurrency analysis may provide incorrect Wait time data if Linux futexes are used (200163557)

In certain cases, custom synchronization constructions based on Linux futexes are not detected by the VTune Amplifier. System libraries may also use such constructions. To ensure Wait time correctness in the Concurrency analysis, use syscall(SYS_futex, ...) API in your code.

VTune Amplifier may cause KVM guest virtual machine to crash (200384245)

In some cases, when you run Event-Based Sampling analysis on a host machine, a guest KVM virtual machine may experience kernel panic. This happens only if precise events are used, for example, with General Exploration analysis type. Upgrade KVM to a newer version, there is a KVM patch that fixes the problem.

VTune Amplifier GUI may not have scrollbars on Ubuntu* OS (200534347)

On Ubuntu 12.04 and newer with the overlay scrollbars style, there may be no scrollbars available in the VTune Amplifier GUI. To get them shown, change the scrollbar style by invoking the command below before running amplxe-gui:

Symbols are not resolved for binaries remapped with hugtlbfs utility (200244405)

hugetlbfs remaps segments from executable file to its temporary file system or to anonymous memory regions. VTune Amplifier can’t map those segments to the original executable.

Workaround for this problem is to rename the original executable to the one that hugetlb exposes, i.e. the module name that you see in VTune Amplifier results.

my_exe (original executable) -> my_exe_32_2 (file name on hugetlb file system in case of sharing between processes)

my_exe (original executable) -> libhugetlbfs.tmp.<random hash> (memory region name in case of anonymous mappings) 

Running other PMU-based tools simultaneously with hardware event-based sampling collection is not supported (200166101)

The Sampling Driver requires exclusive use of the PMU resources. Running multiple PMU based tools will cause incorrect results and/or system instability.

Hotspots, Concurrency and Locks and Waits analysis types may not work on executables that do not depend on the libpthread.so.0 library (200208975)

There is currently a limitation in the product regarding profiling application targets where the executable does not depend on the libpthread.so.0 library. The message "Link libpthread.so to the application statically and restart profiling" appears when profiling an application where program image does not depend on libpthread.so.0 but then it dlopen()-s a shared library which does depend on libpthread.so.0. The collector is not able to follow the program execution and module load/unload so the collection results are likely to be misleading. A workaround is to set "LD_PRELOAD=libpthread.so.0" before running the collection.

Opening results significantly delayed on Linux systems configured with "large pages" (200215471)

To work around this issue make sure that you have hugectl utility and libhugetlbfs library on the system. VTune Amplifier can be started this way:

hugectrl --heap <amplxe install dir>/bin32/amplxe-gui

LD_PRELOAD=libhugetlbfs.so <amplxe install dir>/bin64/amplxe-gui

Help TOC is truncated in some Linux browsers (200272063)

When using certain HTML browsers to view the VTune Amplifier documentation, if the Contents tab width appears truncated and hides some of the topic titles:

Decreasing sampling interval for user-mode sampling and tracing collection may lead to wrong CPU usage data (200296537)

User-mode analysis technology is based on OS timers which cannot tick faster than HZ value configured during kernel compilation. Sampling interval should not be less than HZ value.

User-mode sampling and tracing collection may cause an error when profiling COI/SCIF application on Intel® Xeon Phi™ processor (200234639)

If you get a COI buffer error with User-mode sampling and tracing collection, use hardware event-based analysis instead.

Collection fails with error "No CONFIG_PERF_EVENTS=y kernel support configured" (200372350)

Driverless EBS collection on Linux can fail with the error: "No CONFIG_PERF_EVENTS=y kernel support configured" even having the kernel config has been set. This is a known Linux kernel issue that is resolved in kernel version 4.1. There is a simple patch that provides a workaround: http://halobates.de/ivb-allow-mem-load-uops

User tasks, events and frames marked with ITT APIs may not be shown if target application is finished by Ctrl+C (200304207)

Use another method to stop application, or VTune Amplifier "stop" command.

When installing on a Xen* virtual machine, it may happen that installation script exits claiming CPU is unsupported (200294340)

To skip the check for CPU model, add --ignore-cpu parameter to install script command line:

./install.sh --ignore-cpu

VTune Amplifier help does not open from GUI on some Linux systems (200377881)

On some Linux systems, like Wind River Linux, default ways to open web browser may not work. You may export environment variable ‘BROWSER’ (before starting VTune Amplifier) with the path to web browser to get VTune Amplifier help working.

For example:

>export BROWSER=/usr/bin/firefox

VTune Amplifier user APIs are not supported for static binaries (200279211)

To use ITT and JIT APIs with software based collectors (Hotspots, Concurrency, Locks and Waits) user needs to link their application dynamically. Otherwise ITT and JIT API notifications will be missing in the result.

Event-based sampling driver fails to build on Yocto Project 1.6 Intel x86_86 BSPs due to missing CONFIG_COMPAT #define in linux kernel headers (200359539)

Sampling driver fails to build on Yocto x86_64 BSPs images that do not have “CONFIG_COMPAT=y” setting (https://bugzilla.yoctoproject.org/show_bug.cgi?id=6777)

To resolve the issue, you need to re-build the image with the option manually.

Change kernel configuration according to http://www.yoctoproject.org/docs/1.6.1/kernel-dev/kernel-dev.html#changing-the-configuration:

  1. Create the compat.cfg file in meta-yocto-bsp/recipes-kernel/linux/files/ directory with content:

    CONFIG_IA32_EMULATION=y

    CONFIG_COMPAT=y

  2. Add the following strings to meta-yocto-bsp/recipes-kernel/linux/linux-yocto_3.10.bbappend

    FILESEXTRAPATHS_prepend := "${THISDIR}/files:"

    SRC_URI += file://compat.cfg

  3. Clean and build a modified kernel according to http://www.yoctoproject.org/docs/1.6.1/dev-manual/dev-manual.html#patching-the-kernel and http://www.yoctoproject.org/docs/1.6.1/dev-manual/dev-manual.html#build-the-modified-qemu-kernel-image:

    $ bitbake linux-yocto -c cleansstate

    $ bitbake -k linux-yocto

  4. Build image:

    $ bitbake core-image-sato

VTune Amplifier XE data collection on Intel® Xeon Phi™ coprocessor (codename: Knights Corner) currently is limited to hardware event-based sampling data collected from target units (200179057)

No information on function call stacks is recorded during collection. However, you may mistake partial call chains appearing in result Groups for real call stack information. These partial chains are the result of inline function information in debug symbol tables and can be ignored.

VTune Amplifier XE may report less data than expected on Intel Xeon Phi coprocessor due to power management settings (200343917)

VTune Amplifier may show less data than expected when profiling an Intel Xeon Phi application. E.g. results may contain data collected only on a few CPUs, data collected only on a short period of time, etc. This issue does not occur on Intel® Xeon Phi™ Coprocessor 5110P. The problem is caused by interoperability with system power management.

As a workaround you can disable power management for the Intel Xeon Phi coprocessor card:

  1. In configuration file /etc/mpss/mic0.conf if exists, otherwise in /etc/sysconfig/mic/mic0.conf, change PowerManagement "cpufreq_on;corec6_on;pc3_on;pc6_on" to PowerManagement "cpufreq_on;corec6_off;pc3_off;pc6_off".

  2. Issue the following commands:

    sudo service micras stop

    sudo service mpss unload

    sudo micctrl --resetconfig

    sudo service mpss start

  3. Start VTune Amplifier profiling again.