https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81591

--- Comment #9 from Jakub Sistek <sistek at seznam dot cz> ---
Created attachment 41953
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=41953&action=edit
an enhanced version of the example producing an error

Hi Jakub,

sorry for my late response, I was on vacation :-)

Thanks a lot for looking into it. Yes, your proposal seems to fix the issue for
the example given before.

Nevertheless, we are still observing some issues in the PLASMA library, and I
have been able to reproduce them in the slightly extended example attached to
this comment.

The bug is not completely reproducible, sometimes, it pops out, other times the
code works.

I build the GOMP library with
#define _LIBGOMP_CHECKING_ 1
and run the executable by
OMP_NUM_THREADS=4 OMP_MAX_TASK_PRIORITY=10 ./nested_omp_tasks

In approximately half of my runs, I get:
libgomp: Attempt to downgrade missing task 0x7fe91c000900

If I do not run with the LIBGOMP_CHECKING, the code segfaults around line 940
of task.c, where the list becomes NULL, yet is accessed on line 942 inside the
call to priority_list_downgrade_task.

The other half of runs works just fine, so it is probably somehow related to
the rate in which tasks get executed.

This issue seems to be somehow related to the extra 
#pragma omp taskwait
inside the parallel region.
If this is not there, the code seems to work fine.

I hope you can reproduce the problem.

Thanks a lot and best wishes,

Jakub

Reply via email to