Intel® Advisor User Guide

ID 766448
Date 3/31/2023
Public

A newer version of this document is available. Customers should click here to go to the newest version.

Document Table of Contents

Missing End Task

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

Problem type: Missing end task

ID

Code Location

Description

1

Task start

Represents the location and associated call stack when the task began execution.

2

Parallel site

If present, represents the location and associated call stack of the beginning of the parallel site that contained the task.

Example

void main()
{
    ANNOTATE_SITE_BEGIN(site_name);
        ANNOTATE_TASK_BEGIN(taskname1);
    ANNOTATE_SITE_END();
}

This example lacks an end-task annotation, ANNOTATE_TASK_END().

NOTE:

An error also occurs if your code branches around a single ANNOTATE_TASK_END() annotation.

Possible Correction Strategies

Always execute an ANNOTATE_TASK_BEGIN(taskname) annotation before executing an ANNOTATE_SITE_END() annotation. This omission can be caused by throw exceptions, return, break, continue, and goto statements or keywords. All control flow paths out of a site need to use the ANNOTATE_TASK_END() annotations.