<html>
    <head>
      <base href="https://bugs.llvm.org/">
    </head>
    <body><span class="vcard"><a class="email" href="mailto:grokos@us.ibm.com" title="grokos@us.ibm.com">grokos@us.ibm.com</a>
</span> changed
          <a class="bz_bug_link 
          bz_status_REOPENED "
   title="REOPENED - Reduction across teams hangs at __kmpc_end_reduce()"
   href="https://bugs.llvm.org/show_bug.cgi?id=30890">bug 30890</a>
          <br>
             <table border="1" cellspacing="0" cellpadding="8">
          <tr>
            <th>What</th>
            <th>Removed</th>
            <th>Added</th>
          </tr>

         <tr>
           <td style="text-align:right;">Status</td>
           <td>RESOLVED
           </td>
           <td>REOPENED
           </td>
         </tr>

         <tr>
           <td style="text-align:right;">Resolution</td>
           <td>FIXED
           </td>
           <td>---
           </td>
         </tr></table>
      <p>
        <div>
            <b><a class="bz_bug_link 
          bz_status_REOPENED "
   title="REOPENED - Reduction across teams hangs at __kmpc_end_reduce()"
   href="https://bugs.llvm.org/show_bug.cgi?id=30890#c3">Comment # 3</a>
              on <a class="bz_bug_link 
          bz_status_REOPENED "
   title="REOPENED - Reduction across teams hangs at __kmpc_end_reduce()"
   href="https://bugs.llvm.org/show_bug.cgi?id=30890">bug 30890</a>
              from <span class="vcard"><a class="email" href="mailto:grokos@us.ibm.com" title="grokos@us.ibm.com">grokos@us.ibm.com</a>
</span></b>
        <pre>I re-checked today with the same code posted when I first reported the bug and
the problem persists.

Running the simple program:

#include <omp.h>

int main() {
  int nthreads = 0;

  #pragma omp target teams num_teams(4) map(tofrom: nthreads) \
              if(target:0) reduction(+:nthreads)
  {
    nthreads = omp_get_num_threads();
  }

  return 0;
}

threads spin forever. This is the backtrace from gdb when execution hangs:

#0  0x00003fffb7b4e6f0 in __pthread_cond_wait (cond=0x1005cd80,
mutex=0x1005ce00) at pthread_cond_wait.c:187
#1  0x00003fffb7cbab4c in __kmp_suspend_template<kmp_flag_64> (th_gtid=0,
flag=0x3fffffffe890)
    at
/localhd/grokos/llvm/src/projects/openmp/runtime/src/z_Linux_util.cpp:1479
#2  0x00003fffb7cba748 in __kmp_suspend_64 (th_gtid=0, flag=0x3fffffffe890) at
/localhd/grokos/llvm/src/projects/openmp/runtime/src/z_Linux_util.cpp:1530
#3  0x00003fffb7c89d04 in kmp_flag_64::suspend (this=0x3fffffffe890, th_gtid=0)
at /localhd/grokos/llvm/src/projects/openmp/runtime/src/kmp_wait_release.h:629
#4  0x00003fffb7c8871c in __kmp_wait_template<kmp_flag_64>
(this_thr=0x1005c800, flag=0x3fffffffe890, final_spin=0, itt_sync_obj=0x0)
    at
/localhd/grokos/llvm/src/projects/openmp/runtime/src/kmp_wait_release.h:387
#5  0x00003fffb7c89898 in kmp_flag_64::wait (this=0x3fffffffe890,
this_thr=0x1005c800, final_spin=0, itt_sync_obj=0x0)
    at
/localhd/grokos/llvm/src/projects/openmp/runtime/src/kmp_wait_release.h:640
#6  0x00003fffb7c823dc in __kmp_hyper_barrier_gather (bt=bs_reduction_barrier,
this_thr=0x1005c800, gtid=0, tid=0,
    reduce=0x10000d00 <.omp.reduction.reduction_func>, itt_sync_obj=0x0) at
/localhd/grokos/llvm/src/projects/openmp/runtime/src/kmp_barrier.cpp:541
#7  0x00003fffb7c81504 in __kmp_barrier (bt=bs_reduction_barrier, gtid=0,
is_split=1, reduce_size=8, reduce_data=0x3fffffffec40,
    reduce=0x10000d00 <.omp.reduction.reduction_func>) at
/localhd/grokos/llvm/src/projects/openmp/runtime/src/kmp_barrier.cpp:1320
#8  0x00003fffb7c3a3fc in __kmpc_reduce (loc=0x1001fb08, global_tid=0,
num_vars=1, reduce_size=8, reduce_data=0x3fffffffec40,
    reduce_func=0x10000d00 <.omp.reduction.reduction_func>, lck=0x100200c0
<.gomp_critical_user_.reduction.var>)
    at
/localhd/grokos/llvm/src/projects/openmp/runtime/src/kmp_csupport.cpp:3529
#9  0x0000000010000c24 in .omp_outlined. ()</pre>
        </div>
      </p>


      <hr>
      <span>You are receiving this mail because:</span>

      <ul>
          <li>You are on the CC list for the bug.</li>
      </ul>
    </body>
</html>