Troubleshooting Unexpected Unmatched Annotations in the Correctness Report


When running Intel Advisor Correctness tool analysis, you see unmatched problems reported that are caused by unmatched annotations execution that you did not expect.


The Correctness Report window lists the problems and messages reported by Correctness tool analysis in the Problems and Messages pane. You may see some unexpected problems related to unmatched annotations, such as the following problem types: Dangling Lock, Missing Begin Site, Missing Begin Task, Missing End Site, Missing End Task, or Orphaned Task. For example, within a parallel site, there is no annotation to mark the end of the parallel site for all possible the code execution paths.

Possible causes include placing annotations inside macros, or placing parallel sites and their related annotations outside the project .

Also, if your sources contain huge source files that contain annotations, be aware that only the first 8 MB of each file will be parsed for annotations (for performance reasons). This could possibly cause mismatched annotations messages.

Possible Correction Strategies

Do the following:

  1. Use the Correctness tool to view the code region(s) causing the problem. Investigate whether some sites or tasks may have multiple exit points and whether end annotations cover all exit points. For example, code that returns or branches around an end annotation, or throws an exception. If you suspect the problem is caused by inserting annotations inside macros, remove the annotations from the macros and add them to the final location in the sources - similar to the way breakpoints do not work in macros. Rebuild your target and run the Correctness tool again.

  2. If your sources include huge source files that contain annotations (more than 8 MB per file) , consider breaking each huge source file into several source files.

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