Dependencies Problem and Message Types Reference

The Intel® Advisor Dependencies analysis identifies various data sharing problems and messages. This reference section describes these problems and messages, and offers possible correction strategies.

Problem Type Name Severity and Cause

Dangling Lock

Error. Occurs when a task does not release a lock before the task ends.

Data Communication

Error. Occurs when a task writes a value that a different task reads. If not fixed prior to conversion to parallel code, a Data Communication problem could result in a data race.

Data Communication, Child Task

Error. Occurs when a task writes a value that a different (child) task reads. If not fixed prior to conversion to parallel code, a Data Communication problem could result in a data race.

Inconsistent Lock Use

Warning. Occurs when a task execution accesses a memory location more than once, under the control of different locks.

Lock Hierarchy Violation

Warning. Occurs when two or more locks are acquired in a different order in two task executions, potentially leading to a deadlock when the program's tasks execute in parallel.

Memory Reuse

Error. Occurs when two tasks write to a shared memory location. That is, a task writes to a variable with a new value but does not read the same value generated by a prior task. If not fixed prior to conversion to parallel code, this Memory Reuse problem could result in a data race.

Memory Reuse, Child Task

Error. Occurs when two tasks write to a shared memory location, where a parent task overwrites a variable with a new value that was read by a previously executed child task in the same site. If not fixed prior to conversion to parallel code, this Memory Reuse, Child Task problem could result in a data race.

Memory Watch

Remark. Occurs when a task accesses a memory location marked by an ANNOTATE_OBSERVE_USES annotation. In this case, this problem provides informational feedback only and no action is required. This is useful for finding uses of specified memory locations while a task is executing.

Missing End Site

Error. Occurs when a site-begin annotation is executed but the corresponding site-end annotation is not executed before the thread or application exits.

Missing End Task

Error. Occurs when a task-begin annotation is executed but the corresponding task-end annotation is not executed before the site, thread, or application exits.

Missing Start Site

Error. Occurs when an end-site annotation is executed but there is no active site.

Missing Start Task

Error. Occurs when an end task annotation is executed but there is no active task.

No tasks in parallel site

Warning. Occurs when a parallel site was executed but no task annotations were executed in the dynamic extent of the active parallel site.

One task instance in parallel site

Warning. Occurs when a parallel site was executed but annotations for only one task instance were executed in the dynamic extent of the active parallel site. This may be the expected behavior, or it may indicate an error in the placement of annotations or a data set that is not well suited for parallelism.

Orphaned Task

Error. Occurs when a task-begin annotation is executed that is not within an active parallel site.

Parallel Site Information

Remark. Occurs when execution enters a parallel site. This confirms that your program and its data are executing the annotations you inserted during execution of the Dependencies tool analysis. In this case, this message provides informational feedback only and no action is required.

Thread Information

Remark. In this case, this message provides informational feedback and no action is required.

Unhandled Application Exception

Error. Occurs when an unhandled exception is detected that causes the application program to crash.

For more complete information about compiler optimizations, see our Optimization Notice.