<html>
    <head>
      <base href="https://llvm.org/bugs/" />
    </head>
    <body><table border="1" cellspacing="0" cellpadding="8">
        <tr>
          <th>Bug ID</th>
          <td><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW --- - Tasking Deadlock or Segfault in OpenMP Runtime on Power8"
   href="https://llvm.org/bugs/show_bug.cgi?id=27167">27167</a>
          </td>
        </tr>

        <tr>
          <th>Summary</th>
          <td>Tasking Deadlock or Segfault in OpenMP Runtime on Power8
          </td>
        </tr>

        <tr>
          <th>Product</th>
          <td>OpenMP
          </td>
        </tr>

        <tr>
          <th>Version</th>
          <td>unspecified
          </td>
        </tr>

        <tr>
          <th>Hardware</th>
          <td>Other
          </td>
        </tr>

        <tr>
          <th>OS</th>
          <td>Linux
          </td>
        </tr>

        <tr>
          <th>Status</th>
          <td>NEW
          </td>
        </tr>

        <tr>
          <th>Severity</th>
          <td>normal
          </td>
        </tr>

        <tr>
          <th>Priority</th>
          <td>P
          </td>
        </tr>

        <tr>
          <th>Component</th>
          <td>Runtime Library
          </td>
        </tr>

        <tr>
          <th>Assignee</th>
          <td>unassignedbugs@nondot.org
          </td>
        </tr>

        <tr>
          <th>Reporter</th>
          <td>matt.davis@pgroup.com
          </td>
        </tr>

        <tr>
          <th>CC</th>
          <td>llvm-bugs@lists.llvm.org
          </td>
        </tr>

        <tr>
          <th>Classification</th>
          <td>Unclassified
          </td>
        </tr></table>
      <p>
        <div>
        <pre>Created <span class=""><a href="attachment.cgi?id=16142" name="attach_16142" title="Test case that hangs">attachment 16142</a> <a href="attachment.cgi?id=16142&action=edit" title="Test case that hangs">[details]</a></span>
Test case that hangs

I am running into a runtime hang when executing the attached OpenMP test case
with clang 3.8.0

I have a feeling this has to do with tasking.  Additionally, one of our other
engineers here can get this to segfault, but I have not been able to.  I
usually have to execute this test in a for-loop:
    for i in `seq 1000`; do ./a.out; done

Environment:
OMP_NUM_THREADS=2

Build line:
clang -fopenmp omp_task_lock.c

Clang
clang version 3.8.0 
Target: powerpc64le-unknown-linux-gnu
Thread model: posix
InstalledDir: /home/sw/thirdparty/llvm/linuxpower/3.8-openmp/bin
Found candidate GCC installation: /usr/lib/gcc/powerpc64le-linux-gnu/4.8
Found candidate GCC installation: /usr/lib/gcc/powerpc64le-linux-gnu/4.8.4
Found candidate GCC installation: /usr/lib/gcc/powerpc64le-linux-gnu/4.9
Found candidate GCC installation: /usr/lib/gcc/powerpc64le-linux-gnu/4.9.3
Selected GCC installation: /usr/lib/gcc/powerpc64le-linux-gnu/4.8
Candidate multilib: .;@m64
Selected multilib: .;@m64
Found CUDA installation: /usr/local/cuda

System:
Linux tuleta14 3.16.0-62-generic #83~14.04.1-Ubuntu SMP Fri Feb 26 22:52:11 UTC
2016 ppc64le ppc64le ppc64le GNU/Linux

When I get the runtime to hang I get the following stack trace:

(gdb) info threads
  Id   Target Id         Frame 
  3    Thread 0x3fff803af1a0 (LWP 148370) "a.out" 0x00003fff8059eb74 in
__pthread_cond_timedwait (cond=0x3fff8067e800 <__kmp_wait_cv>,
mutex=0x3fff8067c080 <__kmp_wait_mx>, abstime=0x3fff803ae600) at
pthread_cond_timedwait.c:199
  2    Thread 0x3fff8037f2a0 (LWP 148371) "a.out" 0x00003fff80615128 in
__kmp_execute_tasks_64 () from /3.8-openmp/lib/libomp.so
* 1    Thread 0x3fff806843f0 (LWP 148369) "a.out" 0x00003fff806144dc in
__kmp_execute_tasks_32 () from /3.8-openmp/lib/libomp.so
(gdb) bt
#0  0x00003fff806144dc in __kmp_execute_tasks_32 () from
/3.8-openmp/lib/libomp.so
#1  0x00003fff80617400 in __kmp_task_team_wait () from
/3.8-openmp/lib/libomp.so
#2  0x00003fff80635984 in __kmp_barrier () from /3.8-openmp/lib/libomp.so
#3  0x00003fff805f31ac in __kmpc_barrier () from /3.8-openmp/lib/libomp.so
#4  0x0000000010000c38 in .omp_outlined. ()
#5  0x00003fff806229d8 in __kmp_invoke_microtask () from
/3.8-openmp/lib/libomp.so
#6  0x00003fff806021ec in __kmp_invoke_task_func () from
/3.8-openmp/lib/libomp.so
#7  0x00003fff806031e4 in __kmp_fork_call () from /3.8-openmp/lib/libomp.so
#8  0x00003fff805f29f4 in __kmpc_fork_call () from /3.8-openmp/lib/libomp.so
#9  0x0000000010000a44 in test_omp_task_private ()
#10 0x0000000010000f18 in test ()
#11 0x0000000010000e68 in main ()</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>