<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/127395>127395</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[OpenMP] segment fault when run untied task
</td>
</tr>
<tr>
<th>Labels</th>
<td>
new issue
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
LXYan2333
</td>
</tr>
</table>
<pre>
Dear maintainer:
I tried to run the program from the 5.0.1 OpenMP examples:
[https://github.com/OpenMP/Examples/blob/main/tasking/sources/tasking.6.c](https://github.com/OpenMP/Examples/blob/main/tasking/sources/tasking.6.c)
```c
#define LARGE_NUMBER 10000000
double item[LARGE_NUMBER];
extern void process(double) {}; // I add {} to make it a definition
int main() {
#pragma omp parallel
{
#pragma omp single
{
int i;
#pragma omp task untied
// i is firstprivate, item is shared
{
for (i = 0; i < LARGE_NUMBER; i++)
#pragma omp task
process(item[i]);
}
}
}
return 0;
}
```
I compile it with:
```console
$ clang-19 poc_c.c -fopenmp -std=c23 -fsanitize=undefined,address -g
```
run with:
```
LD_PRELOAD=/usr/lib/llvm-19/lib/libomp.so.5 ./a.out
```
the `/usr/lib/llvm-19/lib/libomp.so.5` is provided by apt package `libomp5-19`
However it segment faulted. (it still segment fault without this preload)
In gdb, I can see the stack frame backtrace is extremely long:
```
……
#72230 0x00007ffff7ef8b64 in __kmp_invoke_task () at build-llvm/tools/clang/stage2-bins/runtimes/runtimes-bins/openmp/runtime/src/kmp_tasking.cpp:1917
#72231 0x00007ffff7ef8f6a in __kmp_omp_task () at build-llvm/tools/clang/stage2-bins/runtimes/runtimes-bins/openmp/runtime/src/kmp_tasking.cpp:2088
#72232 0x00007ffff7ef90e9 in __kmpc_omp_task () at build-llvm/tools/clang/stage2-bins/runtimes/runtimes-bins/openmp/runtime/src/kmp_tasking.cpp:2160
#72233 0x0000555555555443 in omp_task_entry. ()
#72234 0x00007ffff7ef8b64 in __kmp_invoke_task () at build-llvm/tools/clang/stage2-bins/runtimes/runtimes-bins/openmp/runtime/src/kmp_tasking.cpp:1917
#72235 0x00007ffff7ef8f6a in __kmp_omp_task () at build-llvm/tools/clang/stage2-bins/runtimes/runtimes-bins/openmp/runtime/src/kmp_tasking.cpp:2088
#72236 0x00007ffff7ef90e9 in __kmpc_omp_task () at build-llvm/tools/clang/stage2-bins/runtimes/runtimes-bins/openmp/runtime/src/kmp_tasking.cpp:2160
#72237 0x0000555555555443 in omp_task_entry. ()
#72238 0x00007ffff7ef8b64 in __kmp_invoke_task () at build-llvm/tools/clang/stage2-bins/runtimes/runtimes-bins/openmp/runtime/src/kmp_tasking.cpp:1917
#72239 0x00007ffff7ef8f6a in __kmp_omp_task () at build-llvm/tools/clang/stage2-bins/runtimes/runtimes-bins/openmp/runtime/src/kmp_tasking.cpp:2088
#72240 0x00007ffff7ef90e9 in __kmpc_omp_task () at build-llvm/tools/clang/stage2-bins/runtimes/runtimes-bins/openmp/runtime/src/kmp_tasking.cpp:2160
#72241 0x0000555555555443 in omp_task_entry. ()
#72242 0x00007ffff7ef8b64 in __kmp_invoke_task () at build-llvm/tools/clang/stage2-bins/runtimes/runtimes-bins/openmp/runtime/src/kmp_tasking.cpp:1917
#72243 0x00007ffff7ef8f6a in __kmp_omp_task () at build-llvm/tools/clang/stage2-bins/runtimes/runtimes-bins/openmp/runtime/src/kmp_tasking.cpp:2088
#72244 0x00007ffff7ef90e9 in __kmpc_omp_task () at build-llvm/tools/clang/stage2-bins/runtimes/runtimes-bins/openmp/runtime/src/kmp_tasking.cpp:2160
#72245 0x0000555555555443 in omp_task_entry. ()
#72246 0x00007ffff7ef8b64 in __kmp_invoke_task () at build-llvm/tools/clang/stage2-bins/runtimes/runtimes-bins/openmp/runtime/src/kmp_tasking.cpp:1917
#72247 0x00007ffff7ef8f6a in __kmp_omp_task () at build-llvm/tools/clang/stage2-bins/runtimes/runtimes-bins/openmp/runtime/src/kmp_tasking.cpp:2088
#72248 0x00007ffff7ef90e9 in __kmpc_omp_task () at build-llvm/tools/clang/stage2-bins/runtimes/runtimes-bins/openmp/runtime/src/kmp_tasking.cpp:2160
#72249 0x0000555555555443 in omp_task_entry. ()
#72250 0x00007ffff7ef8b64 in __kmp_invoke_task () at build-llvm/tools/clang/stage2-bins/runtimes/runtimes-bins/openmp/runtime/src/kmp_tasking.cpp:1917
#72251 0x00007ffff7ef8f6a in __kmp_omp_task () at build-llvm/tools/clang/stage2-bins/runtimes/runtimes-bins/openmp/runtime/src/kmp_tasking.cpp:2088
#72252 0x00007ffff7ef90e9 in __kmpc_omp_task () at build-llvm/tools/clang/stage2-bins/runtimes/runtimes-bins/openmp/runtime/src/kmp_tasking.cpp:2160
#72253 0x0000555555555443 in omp_task_entry. ()
#72254 0x00007ffff7ef8b64 in __kmp_invoke_task () at build-llvm/tools/clang/stage2-bins/runtimes/runtimes-bins/openmp/runtime/src/kmp_tasking.cpp:1917
#72255 0x00007ffff7ef8f6a in __kmp_omp_task () at build-llvm/tools/clang/stage2-bins/runtimes/runtimes-bins/openmp/runtime/src/kmp_tasking.cpp:2088
#72256 0x00007ffff7ef90e9 in __kmpc_omp_task () at build-llvm/tools/clang/stage2-bins/runtimes/runtimes-bins/openmp/runtime/src/kmp_tasking.cpp:2160
#72257 0x0000555555555443 in omp_task_entry. ()
#72258 0x00007ffff7ef8b64 in __kmp_invoke_task () at build-llvm/tools/clang/stage2-bins/runtimes/runtimes-bins/openmp/runtime/src/kmp_tasking.cpp:1917
#72259 0x00007ffff7ef8f6a in __kmp_omp_task () at build-llvm/tools/clang/stage2-bins/runtimes/runtimes-bins/openmp/runtime/src/kmp_tasking.cpp:2088
#72260 0x00007ffff7ef90e9 in __kmpc_omp_task () at build-llvm/tools/clang/stage2-bins/runtimes/runtimes-bins/openmp/runtime/src/kmp_tasking.cpp:2160
#72261 0x0000555555555443 in omp_task_entry. ()
#72262 0x00007ffff7ef8b64 in __kmp_invoke_task () at build-llvm/tools/clang/stage2-bins/runtimes/runtimes-bins/openmp/runtime/src/kmp_tasking.cpp:1917
#72263 0x00007ffff7ef8f6a in __kmp_omp_task () at build-llvm/tools/clang/stage2-bins/runtimes/runtimes-bins/openmp/runtime/src/kmp_tasking.cpp:2088
#72264 0x00007ffff7ef90e9 in __kmpc_omp_task () at build-llvm/tools/clang/stage2-bins/runtimes/runtimes-bins/openmp/runtime/src/kmp_tasking.cpp:2160
#72265 0x0000555555555443 in omp_task_entry. ()
#72266 0x00007ffff7ef8b64 in __kmp_invoke_task () at build-llvm/tools/clang/stage2-bins/runtimes/runtimes-bins/openmp/runtime/src/kmp_tasking.cpp:1917
#72267 0x00007ffff7ef8f6a in __kmp_omp_task () at build-llvm/tools/clang/stage2-bins/runtimes/runtimes-bins/openmp/runtime/src/kmp_tasking.cpp:2088
#72268 0x00007ffff7ef90e9 in __kmpc_omp_task () at build-llvm/tools/clang/stage2-bins/runtimes/runtimes-bins/openmp/runtime/src/kmp_tasking.cpp:2160
#72269 0x0000555555555443 in omp_task_entry. ()
#72270 0x00007ffff7ef8b64 in __kmp_invoke_task () at build-llvm/tools/clang/stage2-bins/runtimes/runtimes-bins/openmp/runtime/src/kmp_tasking.cpp:1917
#72271 0x00007ffff7efcbd6 in __kmp_execute_tasks_template<kmp_flag_64<false, true> > ()
at build-llvm/tools/clang/stage2-bins/runtimes/runtimes-bins/openmp/runtime/src/kmp_tasking.cpp:3496
#72272 __kmp_execute_tasks_64<false, true> () at build-llvm/tools/clang/stage2-bins/runtimes/runtimes-bins/openmp/runtime/src/kmp_tasking.cpp:3609
#72273 0x00007ffff7f0e5c5 in execute_tasks () at openmp/runtime/src/kmp_wait_release.h:878
#72274 __kmp_wait_template<kmp_flag_64<false, true>, true, false, true> () at openmp/runtime/src/kmp_wait_release.h:543
#72275 wait () at openmp/runtime/src/kmp_wait_release.h:885
#72276 0x00007ffff7f08b2f in __kmp_hyper_barrier_release () at build-llvm/tools/clang/stage2-bins/runtimes/runtimes-bins/openmp/runtime/src/kmp_barrier.cpp:1161
#72277 0x00007ffff7f06eef in __kmp_barrier_template<false> () at build-llvm/tools/clang/stage2-bins/runtimes/runtimes-bins/openmp/runtime/src/kmp_barrier.cpp:2012
#72278 __kmp_barrier () at build-llvm/tools/clang/stage2-bins/runtimes/runtimes-bins/openmp/runtime/src/kmp_barrier.cpp:2102
#72279 0x00007ffff7ebe67e in __kmpc_barrier () at build-llvm/tools/clang/stage2-bins/runtimes/runtimes-bins/openmp/runtime/src/kmp_csupport.cpp:846
#72280 0x0000555555555259 in main.omp_outlined ()
#72281 0x00007ffff7f71679 in __kmp_invoke_microtask () at /build/source/openmp/runtime/src/z_Linux_asm.S:1249
#72282 0x00007ffff7ed9e18 in __kmp_invoke_task_func () at build-llvm/tools/clang/stage2-bins/runtimes/runtimes-bins/openmp/runtime/src/kmp_runtime.cpp:7739
#72283 0x00007ffff7ed83e6 in __kmp_launch_thread () at build-llvm/tools/clang/stage2-bins/runtimes/runtimes-bins/openmp/runtime/src/kmp_runtime.cpp:6086
#72284 0x00007ffff7f4a934 in __kmp_launch_worker () at build-llvm/tools/clang/stage2-bins/runtimes/runtimes-bins/openmp/runtime/src/z_Linux_util.cpp:593
#72285 0x00007ffff7d081c4 in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:442
#72286 0x00007ffff7d8885c in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81
(gdb)
```
with address sanitizer:
```
AddressSanitizer:DEADLYSIGNAL
=================================================================
==132550==ERROR: AddressSanitizer: stack-overflow on address 0x7f67ab0cefd0 (pc 0x55d60e851fb3 bp 0x7f67ab0cf030 sp 0x7f67ab0cef00 T6)
#0 0x55d60e851fb3 in .omp_task_entry..3 /home/lxyan/Code/cpp/poc/src/poc_c/poc_c.c:10
#1 0x7f67b3c7ab63 in __kmp_invoke_task build-llvm/tools/clang/stage2-bins/runtimes/runtimes-bins/openmp/runtime/src/kmp_tasking.cpp:1917:9
#2 0x7f67b3c7af69 in __kmp_omp_task build-llvm/tools/clang/stage2-bins/runtimes/runtimes-bins/openmp/runtime/src/kmp_tasking.cpp:2088:5
#3 0x7f67b3c7b0e8 in __kmpc_omp_task build-llvm/tools/clang/stage2-bins/runtimes/runtimes-bins/openmp/runtime/src/kmp_tasking.cpp:2160:9
#4 0x55d60e852394 in .omp_outlined. /home/lxyan/Code/cpp/poc/src/poc_c/poc_c.c:14:1
#5 0x55d60e852394 in .omp_task_entry..3 /home/lxyan/Code/cpp/poc/src/poc_c/poc_c.c:10:1
#6 0x7f67b3c7ab63 in __kmp_invoke_task build-llvm/tools/clang/stage2-bins/runtimes/runtimes-bins/openmp/runtime/src/kmp_tasking.cpp:1917:9
#7 0x7f67b3c7af69 in __kmp_omp_task build-llvm/tools/clang/stage2-bins/runtimes/runtimes-bins/openmp/runtime/src/kmp_tasking.cpp:2088:5
#8 0x7f67b3c7b0e8 in __kmpc_omp_task build-llvm/tools/clang/stage2-bins/runtimes/runtimes-bins/openmp/runtime/src/kmp_tasking.cpp:2160:9
#9 0x55d60e852394 in .omp_outlined. /home/lxyan/Code/cpp/poc/src/poc_c/poc_c.c:14:1
#10 0x55d60e852394 in .omp_task_entry..3 /home/lxyan/Code/cpp/poc/src/poc_c/poc_c.c:10:1
#11 0x7f67b3c7ab63 in __kmp_invoke_task build-llvm/tools/clang/stage2-bins/runtimes/runtimes-bins/openmp/runtime/src/kmp_tasking.cpp:1917:9
#12 0x7f67b3c7af69 in __kmp_omp_task build-llvm/tools/clang/stage2-bins/runtimes/runtimes-bins/openmp/runtime/src/kmp_tasking.cpp:2088:5
#13 0x7f67b3c7b0e8 in __kmpc_omp_task build-llvm/tools/clang/stage2-bins/runtimes/runtimes-bins/openmp/runtime/src/kmp_tasking.cpp:2160:9
#14 0x55d60e852394 in .omp_outlined. /home/lxyan/Code/cpp/poc/src/poc_c/poc_c.c:14:1
……
#298 0x7f67b3c7b0e8 in __kmpc_omp_task build-llvm/tools/clang/stage2-bins/runtimes/runtimes-bins/openmp/runtime/src/kmp_tasking.cpp:2160:9
#299 0x55d60e852394 in .omp_outlined. /home/lxyan/Code/cpp/poc/src/poc_c/poc_c.c:14:1
#300 0x55d60e852394 in .omp_task_entry..3 /home/lxyan/Code/cpp/poc/src/poc_c/poc_c.c:10:1
#301 0x7f67b3c7ab63 in __kmp_invoke_task build-llvm/tools/clang/stage2-bins/runtimes/runtimes-bins/openmp/runtime/src/kmp_tasking.cpp:1917:9
#302 0x7f67b3c7af69 in __kmp_omp_task build-llvm/tools/clang/stage2-bins/runtimes/runtimes-bins/openmp/runtime/src/kmp_tasking.cpp:2088:5
#303 0x7f67b3c7b0e8 in __kmpc_omp_task build-llvm/tools/clang/stage2-bins/runtimes/runtimes-bins/openmp/runtime/src/kmp_tasking.cpp:2160:9
#304 0x55d60e852394 in .omp_outlined. /home/lxyan/Code/cpp/poc/src/poc_c/poc_c.c:14:1
#305 0x55d60e852394 in .omp_task_entry..3 /home/lxyan/Code/cpp/poc/src/poc_c/poc_c.c:10:1
#306 0x7f67b3c7ab63 in __kmp_invoke_task build-llvm/tools/clang/stage2-bins/runtimes/runtimes-bins/openmp/runtime/src/kmp_tasking.cpp:1917:9
#307 0x7f67b3c7af69 in __kmp_omp_task build-llvm/tools/clang/stage2-bins/runtimes/runtimes-bins/openmp/runtime/src/kmp_tasking.cpp:2088:5
SUMMARY: AddressSanitizer: stack-overflow /home/lxyan/Code/cpp/poc/src/poc_c/poc_c.c:10 in .omp_task_entry..3
Thread T6 created by T0 here:
#0 0x55d60e7f6c41 in pthread_create (/home/lxyan/Code/cpp/poc/src/poc_c/a.out+0xb0c41) (BuildId: 233ce7ecad75d478cefc2772283c6a0c8d4aff8e)
#1 0x7f67b3ccbf53 in __kmp_create_worker build-llvm/tools/clang/stage2-bins/runtimes/runtimes-bins/openmp/runtime/src/z_Linux_util.cpp:862:7
==132550==ABORTING
```
The clang version is:
```console
$ clang-19 --version
Debian clang version 19.1.7 (++20250114103228+cd708029e0b2-1~exp1~20250114103334.78)
Target: x86_64-pc-linux-gnu
Thread model: posix
InstalledDir: /usr/lib/llvm-19/bin
```
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJzUW19vqzgW_zTuixVkbP4-9IE2zWyl3rmj3o608xQZOCTeAkbGtOk8zGdf2ZBC0tyrO53dpkS0AWP7_M7xz8fHjs3bVmxqgEvkXyF_ecE7vZXq8u7ff_CaMsYuUpm_XC6BK1xxUWsualCIJYiY6xZrJSDHWmLV1VhvATdKbhSvcKFkZRN8hzgu_tpA_eU3DDteNSW0iCW4rwL5V1utG5OC6ArR1UbobZc6mawQXfXFEF3d7AvSVVrKFNGVgYPoSvP2UdQbRFet7FRmcwxpTuBkyF8iGv1fJdB40CQg_ZWZB8pyKEQN-C65_-Vm_evvX65u7rFL-g8iSS67tAQsNFTIv5rmMpjZFSIJ7DSoGj9JkRu7ZtC2iEZ9QURjjMIrFJq8uFcM32Ke50OyaZSKPxoJmGMLRmgha0QSUWvcKxftq7GIG8U3FceyanDDFS9LKBFJ8MkMrag3JdjX-wzYfkzlosd_WMLYDHe1FpC_Zh5wCyxaXAjV6kaJJ64B0WtrGZPebrmaFpnIwriQCiMaCYzYEhNjCnN7fWB1m4rolb3ik7gmNeKJqYfGEZZFca_UHsXyVfflYKT-W4HuVG2xGFE29ZUa-26TyaoRtvXxs9Db1w41ckjWrbT2RdTDWcnrzcKNcSOzdeZkeFHIBuqqwYtW54gtM8rwomi5aeI_AbFlV_f0yxG95nmuoG3xYvMWium2pxEgktwt17_d39x9TZaILRFdda1CdFUK0znK8qlauPH4LFJZNU4rHR87iK64Izv9Vp7xCObhpytDATEkaJR8EjnkOH3BvNG44dkj39i6-sy-KR-Qwav8Sz7DEyhj3xY2FdQaF7wrNeSOpYvGrRZlefjSGkJ2GuutlQil5Plr976t8SZPDTFvccZr3AJY_9Zqnj3iQvEKcMqzR614BgYy7LSCCsoXXMp6c9LA6IaiiKAkGG8sO0NKGcFkZ1xFWBRFEUIRpYGHRY3X68eqWYv6ST7C2vapoRtzjdNOlPnCWNP4KClL46sseYz30nwDdJGK2qQq0xMrmN7uX_XUGl-YsipDdGUE7z1f1jSIJW7shiNk9xhyEfARshxKnxMvJVE04qVHeGMC8Sve7HMAdnui9IDZANjffzyPGcB7pGuotXpxBsBjOW9-XPJnxqVgblwK38mlaH5ciufFJe_Y9X92Lnnu-7jkHTvgz88lj82MS8eu_9NzyX8nl44d8Ay4FM6MS8eu_9NzKX4fl_z5xd7-zGJvf26xt__O2NufX-ztzyz29ucWe_vvjL39-cXe_sxi72BusXfwztg7mF_sHcws9g7mFnsH74y9g_nF3sHMYu9gbrF38M7YO5xf7B0ex95ZmgcjZNhB1ukec7vWUDUl14DYtXlZlHyzDjzErgtetvZ3L606QOwG27-9cTDGZ1GUefH4m0RIT6r0Hfjnax0WkAmhDkeNgoCf-aZ1DpSYwP2hoGcu9FpBCbwFZ4tYEoVjJw29wT4210-39OstvcY_MOPfw-V7bMTlY_P-_TpG_lhXcGTOKKXFSPbtSwNqnXKlBKh9JR_LhUH4vqe6gTuCD4_ABwAT8HvYk5br2-Oj6XyoAiUuHVWIDsGeFZhLJsCOIv0UghAmI9RZ8GZt1zRS6QFw5I3OLCLHA5SZrIja7oxwzCglO12KGvLjISo69PdF6AZh_GaIqkSm5NE4hejKKv26l-RH-P9c34m62615WznfDJOpN8FwFL7nMbjRyWFyXXR19rFWH9IGo4chm-A-iuHziMFkrCx5V2fbtd4q4Pk5QQckmlDlMJAvPB4z7w3oZ6keP5Lfe350WpQDaj8enX50uIqTk8jNLOhWc6UnJuZqg9gSsWvZaFGJPyHHstN2XLJqOIiu6kaXiK6avtQ6U8A1OBliieeNLiA6HBvyKIr8zIjMSlkDm5jGMZW2L20OjdGxq8WuT3iyuz_qzjzuosAMmMZmprjtBFHvzCO7FSPGbzeYPAu9xfsdL_sNMerk7oukz_Vtkml5kyzv_vh2-8uvyZ3JzZazv_ZauIz6Punvb-7vv94jluATJug3tCzkE6iilM9Y1q_mJLuwCEKekgyKnJjmbDJMdr6fBwQi3y1ShtNmkq0gjOC2OShICH4IxqAW9TtdDuoQNXaOpgmOYc9qKy3_y90LrxFdXcvcPBru01Ujs9euYbdJ7b8tTV0yynMHPCnLQp4G7PTs4jxzCpZMDEOnQIsgPjE_Pc-slCX-iJJNUKYEolOz0vPMRQ-M6U1YRlnsvbJsP8w7_5Bhnvk3yvO_J-9_y-oDmcFcmB3OgtnRPJgdfzCzXXIGaruz8druPNy2OxO_7X6Y4_7uhtxxQI5n4hJo_NFOgZFzeAVGZuMWGJmHX2BkJo6BkY8O6Rg5R1DHyGzCOkY-eWCHSPLt9y9fkvs_fnL2-w9b8jQ_EEke-uWXhwD3ayn2YMsDwVtQ0C9WvJkch0WQea6p8XAZpl9W-dsw-wM69IrsUpJ5rl1NodGVaZzb3FiCMpZBCBnPQz_3wiiDIqOhXcPLAk6yKPd4UURwMJefuOMsLfwJVXuw-1Wyj18biwKKWBIO4_ybJZHk6uv9w-2vv7xdUXrYQn8ACz-BaoWssWh_-sDWYjEUQiRZQip4fVSXGzuuE_ZteIXoFSXUJ67ruYRRm5blIYkIjYGkdOH-BbvG_WuSiTHPCYfl6QeuNqBN2_VLZ4smW9jFtMWm7kbSVTKH0uRqZCt29mhTq3lZQr4Utg9893RWKuqpzhf5JctjFvMLuHRDFocu9Tz3YnuZx5xF3IsYj3jgpZwXuRfkcZRD4AXAggtxaVWgbuAyGlLXcX0Wc1pASiGMKafII1BxUTpGuCPV5kK0bQeXLg1Z7F-UPIWytYdWKa3hGdu3iFLkLy_UpUWcdpsWeaQUrW7HarTQpT3tOhz89JfHh8C2UNvTrJ09qmiPB150qrz8wSHSgcdWbKPkfyDTiK4sJkPTAfTTJf1vAAAA___zT8uv">