<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=https://github.com/llvm/llvm-project/issues/54731>54731</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            [OpenMP] libomptarget Segmentation fault
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            bug
      </td>
    </tr>

    <tr>
      <th>Assignees</th>
      <td>
            jdoerfert
      </td>
    </tr>

    <tr>
      <th>Reporter</th>
      <td>
          ye-luo
      </td>
    </tr>
</table>

<pre>
    Reproducer
https://github.com/ye-luo/miniqmc testing commit 2f7f17fefb9f38719ecbfe36fb8b47c8a5392c5d

```
cmake -DCMAKE_CXX_COMPILER=/soft/compilers/llvm/main-20220329/bin/clang++ -DENABLE_OFFLOAD=ON -DUSE_OBJECT_TARGET=ON -DOFFLOAD_ARCH=sm_80 -DQMC_MIXED_PRECISION=ON ..
make -j32 miniqmc_sync_move
OMP_NUM_THREADS=32 ./bin/miniqmc_sync_move
```
The failure is sporadic indicating a race.

My 20220328 build e619c07d168dff1d27f90cef84222a68064c35ea always pass the run.
20220329 build 1fe4b968c5fad5959ab9d371cc3324d9c7062eb3 starts to see the failure.

```
Thread 28 "miniqmc_sync_mo" received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fff497f4780 (LWP 5758)]
0x00007ffff0b8749c in targetDataEnd(ident_t*, DeviceTy&, int, void**, void**, long*, long*, void**, void**, AsyncInfoTy&, bool) ()
   from /soft/compilers/llvm/main-20220329/lib/libomptarget.so
(gdb) bt
#0  0x00007ffff0b8749c in targetDataEnd(ident_t*, DeviceTy&, int, void**, void**, long*, long*, void**, void**, AsyncInfoTy&, bool) ()
   from /soft/compilers/llvm/main-20220329/lib/libomptarget.so
#1  0x00007ffff0b8b650 in target(ident_t*, DeviceTy&, void*, int, void**, void**, long*, long*, void**, void**, int, int, int, AsyncInfoTy&) () from /soft/compilers/llvm/main-20220329/lib/libomptarget.so
#2  0x00007ffff0b81998 in __tgt_target_teams_mapper () from /soft/compilers/llvm/main-20220329/lib/libomptarget.so
#3  0x0000000000457add in qmcplusplus::DistanceTableBA<float, 3u, 39>::evaluate(qmcplusplus::ParticleSet&) ()
#4  0x000000000044da90 in qmcplusplus::VirtualParticleSet::makeMoves(int, qmcplusplus::ParticleAttrib<qmcplusplus::TinyVector<float, 3u>, std::allocator<qmcplusplus::TinyVector<float, 3u> > > const&, bool, int) ()
#5  0x000000000040d283 in qmcplusplus::NonLocalPP<float>::evaluate(qmcplusplus::ParticleSet const&, qmcplusplus::WaveFunction&) ()
#6  0x000000000040a58e in omp_outlined. ()
#7  0x00007ffff0e54493 in __kmp_invoke_microtask () from /soft/compilers/llvm/main-20220329/lib/libomp.so
#8  0x00007ffff0dd6479 in __kmp_fork_call () from /soft/compilers/llvm/main-20220329/lib/libomp.so
#9  0x00007ffff0dc6be5 in __kmpc_fork_call () from /soft/compilers/llvm/main-20220329/lib/libomp.so
#10 0x000000000040a1a2 in omp_outlined. ()
#11 0x00007ffff0e54493 in __kmp_invoke_microtask () from /soft/compilers/llvm/main-20220329/lib/libomp.so
#12 0x00007ffff0ddb877 in __kmp_invoke_task_func () from /soft/compilers/llvm/main-20220329/lib/libomp.so
#13 0x00007ffff0dda81d in __kmp_launch_thread () from /soft/compilers/llvm/main-20220329/lib/libomp.so
#14 0x00007ffff0e34b3d in __kmp_launch_worker(void*) () from /soft/compilers/llvm/main-20220329/lib/libomp.so
#15 0x00007ffff07416ea in start_thread () from /lib64/libpthread.so.0
#16 0x00007ffff0459a8f in clone () from /lib64/libc.so.6
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJztV0tz4jgQ_jVwUYWS5feBAwEyk92QsIF53FyyHqCJsFhbZoZ_Py3beeBkMjVVSe1lKWNZcqv7669bbik3_Di-FfvS8JqJcoBnAzzZWruvBv5kQC7g2ii7rfMRMzvoHMWZrg087FSh_t0xZEVlVbFB8HqnLCIyll4shcxT6SexlwqWS-FHMk_yIGYJDf2UsJC3hrp7hLur6bIdvRPobDZdTP6eZ9OvX7PpzWJ5eTW_HfgzsFwZaaEBg3ulRVnBs9YHB25HVXFGMCHYJyn0c1U4QU2LzYCcwwVa59eT86t5dnNxcXUzmYHGm2sY_bSCofO_5tN1tp7cfpiv7190ctnkdvoRxqpdlmAY_mcxzRaXX-ezbHk7n16uLm-u2xmjUetE68M3n6COqKw6FizbmYNoBcCl7PrTIlt_vJ1PZiuYDbKjB9C_mNWjar0VSFKl61IgVaFqb0rKFUOqgDtt4kJRSZkYPeV7cUQdSQnKa6U5EpGXMhxzL0q4lB4nsUwxEzIJCCE0SnAUMD8UFFH9nR4rtKdVhSwYL-uiU31Pe6fRkyLI0yhhoaQ8TMOU5in3Y48x3ycBT1mMIyJyH1WWlhaUGVQJ0ejsHBq9kiLrbSkoR4B_QEiPKhhBpWBCHQRHldoUVKPV5YfV_MPnAZmildjsRGGBHFOAqVrbe0Ph-eq7smzrWAM4nQ38I5ZSBmksgxhCPyDJ1ZclCuMwGUCOhbN2Mv6B4eckJc6TOEhdDBC4thF2Ri2dFxxmKg6WM0jeiUMyEwfFxPo4IJHrqsK65mAUbwQmz3vauETuP742Y-JIuSykeTCTG6MBuXPEOdCgRwjJ0uzQHy0urfL2DqKto6PKdFSSZMNzZyW39yM-Ruh_lk5Z8r0-J3kU4kdOfkfGgxfvxEun9LTpk3VP0puTQ_rkeGmaOHKyzG6Ak2ZCZgXdVdmO7veifC8k_j2S9heEMeXcIYHPzl7Xlfu7culPZgq-ZwWEiOZanMPIVGpDG978urmnA3_eyooD1TW1AkA_07OEj6JiWqxcEkT9TARIQQ9SwGmKX4T0WZW2pvqpxmbcVagFFJbKZVkb2l_CmFhbAkP-9JnEWhXHz4JZU_Z8BS_hobK8laNaG6hIjdifKEH3f2aKyp6szi4jn1ET9qjBnCT-i9Rcm-IKUOnl8sHuHwbnBNYzwS_0IC7qgrla83IYoz5WGibCYYU8zExttSoEH_VnxacrQ4RBkPrtyriDeao4mDuR7RQrjaXV3dssi6cLIjkFwHkUxOkjAGnKuwx41W9vOe1ZZlEuwgfL7D1Ne7gfK4-S38bK8_7jWHmkFyuovPEzAM52JiFX3wGA3wNAE48_AtAUrG4z22633t56cMq_H-T-c-vfIW3g9EOShwL4RmXtBEp4AiUOvAi21ACl2QP_ggFQEwVtu28lQOUIPyqNTpQGsNNOpFPKoMiLV7Qxpyfqba-HfOzz1E_p0CqrxRg2xTd7USyWsNNFT8vjC_voYV3q8StHx44t15zBefMbfPChq6qqdjXoIgxi3xtux0nCsUdjCZGLwpDkkhA4nERelOM85kk01DQXunLQYKuf17CRIYBuqMZNCAIIgodhGzWKZERDzH2JcZJIgQcBFhAqPXIIRqbcDMtxAwZ0VPBSQ-2uHl_CEQcOD0J0hr5xI0opStuZo7XdmnLcnoeHjRfjxoWfZy6YQg">