<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/54197>54197</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
"*** stack smashing detected ***" with updated SLPVectorizer
</td>
</tr>
<tr>
<th>Labels</th>
<td>
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
mikaelholmen
</td>
</tr>
</table>
<pre>
llvm commit: 738042711bc
Reproduce with:
build-all-builtins/bin/clang -finline-hint-functions -fstack-protector-all -fwrapv -std=c99 -fsanitize=undefined -O3 'vla_sum_4.c' -fsanitize=undefined -l gcc_s -o 'vla_sum_4.out'
./vla_sum_4.out
This results in:
*** stack smashing detected ***: ./vla_sum_4.out terminated
======= Backtrace: =========
/lib64/libc.so.6(__fortify_fail+0x37)[0x7fc20889c697]
/lib64/libc.so.6(+0x118652)[0x7fc20889c652]
./vla_sum_4.out[0x42b618]
./vla_sum_4.out[0x42b92d]
./vla_sum_4.out[0x42bb45]
/lib64/libc.so.6(__libc_start_main+0xf5)[0x7fc2087a6555]
./vla_sum_4.out[0x402d25]
======= Memory map: ========
00400000-0043f000 r-xp 00000000 fd:01 51014653 /repo/uabelho/master-github/llvm/vla_sum_4.out
0063f000-00640000 r--p 0003f000 fd:01 51014653 /repo/uabelho/master-github/llvm/vla_sum_4.out
00640000-00643000 rw-p 00040000 fd:01 51014653 /repo/uabelho/master-github/llvm/vla_sum_4.out
00643000-00f84000 rw-p 00000000 00:00 0
023ce000-023ef000 rw-p 00000000 00:00 0 [heap]
7fc208784000-7fc208948000 r-xp 00000000 fd:00 33598593 /usr/lib64/libc-2.17.so
7fc208948000-7fc208b47000 ---p 001c4000 fd:00 33598593 /usr/lib64/libc-2.17.so
7fc208b47000-7fc208b4b000 r--p 001c3000 fd:00 33598593 /usr/lib64/libc-2.17.so
7fc208b4b000-7fc208b4d000 rw-p 001c7000 fd:00 33598593 /usr/lib64/libc-2.17.so
7fc208b4d000-7fc208b52000 rw-p 00000000 00:00 0
7fc208b52000-7fc208b54000 r-xp 00000000 fd:00 34860521 /usr/lib64/libdl-2.17.so
7fc208b54000-7fc208d54000 ---p 00002000 fd:00 34860521 /usr/lib64/libdl-2.17.so
7fc208d54000-7fc208d55000 r--p 00002000 fd:00 34860521 /usr/lib64/libdl-2.17.so
7fc208d55000-7fc208d56000 rw-p 00003000 fd:00 34860521 /usr/lib64/libdl-2.17.so
7fc208d56000-7fc208e57000 r-xp 00000000 fd:00 34860522 /usr/lib64/libm-2.17.so
7fc208e57000-7fc209056000 ---p 00101000 fd:00 34860522 /usr/lib64/libm-2.17.so
7fc209056000-7fc209057000 r--p 00100000 fd:00 34860522 /usr/lib64/libm-2.17.so
7fc209057000-7fc209058000 rw-p 00101000 fd:00 34860522 /usr/lib64/libm-2.17.so
7fc209058000-7fc20905f000 r-xp 00000000 fd:00 34860529 /usr/lib64/librt-2.17.so
7fc20905f000-7fc20925e000 ---p 00007000 fd:00 34860529 /usr/lib64/librt-2.17.so
7fc20925e000-7fc20925f000 r--p 00006000 fd:00 34860529 /usr/lib64/librt-2.17.so
7fc20925f000-7fc209260000 rw-p 00007000 fd:00 34860529 /usr/lib64/librt-2.17.so
7fc209260000-7fc209277000 r-xp 00000000 fd:00 33555219 /usr/lib64/libpthread-2.17.so
7fc209277000-7fc209476000 ---p 00017000 fd:00 33555219 /usr/lib64/libpthread-2.17.so
7fc209476000-7fc209477000 r--p 00016000 fd:00 33555219 /usr/lib64/libpthread-2.17.so
7fc209477000-7fc209478000 rw-p 00017000 fd:00 33555219 /usr/lib64/libpthread-2.17.so
7fc209478000-7fc20947c000 rw-p 00000000 00:00 0
7fc20947c000-7fc209491000 r-xp 00000000 fd:00 34815442 /usr/lib64/libgcc_s-4.8.5-20150702.so.1
7fc209491000-7fc209690000 ---p 00015000 fd:00 34815442 /usr/lib64/libgcc_s-4.8.5-20150702.so.1
7fc209690000-7fc209691000 r--p 00014000 fd:00 34815442 /usr/lib64/libgcc_s-4.8.5-20150702.so.1
7fc209691000-7fc209692000 rw-p 00015000 fd:00 34815442 /usr/lib64/libgcc_s-4.8.5-20150702.so.1
7fc209692000-7fc2096b4000 r-xp 00000000 fd:00 34860516 /usr/lib64/ld-2.17.so
7fc20987d000-7fc209882000 rw-p 00000000 00:00 0
7fc2098a2000-7fc2098b3000 rw-p 00000000 00:00 0
7fc2098b3000-7fc2098b4000 r--p 00021000 fd:00 34860516 /usr/lib64/ld-2.17.so
7fc2098b4000-7fc2098b5000 rw-p 00022000 fd:00 34860516 /usr/lib64/ld-2.17.so
7fc2098b5000-7fc2098b6000 rw-p 00000000 00:00 0
7ffd12f86000-7ffd12fa8000 rw-p 00000000 00:00 0 [stack]
7ffd12fcc000-7ffd12fce000 r-xp 00000000 00:00 0 [vdso]
ffffffffff600000-ffffffffff601000 r-xp 00000000 00:00 0 [vsyscall]
Abort
This starts happening with 738042711:
Reapply "[SLP] Schedule only sub-graph of vectorizable instructions""
https://reviews.llvm.org/D118538
[vla_sum_4.c.gz](https://github.com/llvm/llvm-project/files/8185799/vla_sum_4.c.gz)
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJy9mEuPozgQgH8NuVhEtrHBHHLoUWtOu9rV7GqvkTEm8Q6PiEf39Pz6LRtCzHQ6yWqSISiAKddXZVcBrqzJ3zZl-VIh1VSV6YPoCSWRwIwmhGQqwM8BfvqiD22TD0qjV9PvQWRsHv-zwZR5KMsytGe9qbuAfs5MDf-qlPUOhYWpS1PrcG_qPiyGWvWmqTto73qpvoagu9eqb1qrBFpfW3l4QWHX50H0rNLUCsra9Oa7hoahzjUo1DkK_4hQQJOXUm67odqytYKrD4VLtFNqC9Rm2akZergeXVmDzcs7np9_702HWt0NZd8hcG85CgGdduScQl0lO_B3h3JtnQMLZgk7xO9IqNdtZWoJkpPC6Pn9jj6B7r6VSlslZ0WmfTLqc2mymI1Hte6adRxQsd0WTdub4m1bSFMG9BP-FiUBTQMOZ0mhKBYiVXGaBPyyIteVEBFz-r47tB27vx9XK8poFhNxXSil-XWhjPFr1m639moL89P220raCIW-BV-ansiYc34NiGlOPeDZufpdV037hip5uDhZTgPGDNsthJOogBPUht8OCE8bKiAXnjBBnGDCYh6hjzcwuNWHBg6DzHS5t2cQjBBf4Q6yd8jssEDCn491jGPHB0NiZxIYEjpDRrN-pSEMHw2JnCGvoyHsl4-I44MhhWC-IePUYGwNgSOa5GmktJOnkS4uyV_dINb2GsLnGGdThDorwvEiZeKjaMEoingqeHpubOxgdO0PmRLSNUkgXXzaCJhoGUus_nAMCaLYvWkjYKZlXgASFd2flvm03JssopL703KPxun1UPJF537swnwzEWNOyY1W5uVZM7kXXvmImyYcY3p3XL7Ecf-R8xAc93HxYhKiB-DiE07z5Orc0Rtx1TnaCBhpKR6dO-Yq_O5LmwAzLfFz9e6-TYCZJvxcfYRvwqd9-EaeaemNtLY_jytOOMr1IueSu-NGwowrFjkXPwDnexfjRc49wDtHOOKSSzkXwaceJbfiDv2-1TI_y0y86GSJn3mY_PgmuRNzxMxMP_8wiR_FXPjpZ-ED_RQ-U9343pxEj_1ScjGHCWfs1ieGW0iGbC3WPKSYcIhhahcZZEF3wIkep3gREfzR9BE408kiNtjj6QvfF186v8J36tGzq99LJL6JfjY2RXL6pkuFuPWbLhXSs1Fk0c39nOjcj_nzSs-8BX_Kt4z5LO7bSM98mf0ci_us-JbxKHJCCzE9A92FFJf6fbjBMssVbbx1llOnlKfbrel-iKPbdL_k4OtRdTFv7i2FQ7_hzCPqAsKq7t46JctyVv-UNe37qpUreXRoLw8HXduilC3jncp8cynLav0CC85D-QYTRwHw129_gm70l9rrfCg1amq41Q1ZuGvlYY-aAr240p35LjO4bequb4exvmcVwD4q3vf9obMc-tmtxl-Mfu3WdtG9btodND0TIngkFiU18O9U21vvvlsvqViqGhfwa9VUp0W8Pdiq4r9gGlwWptS2JimAkKTpYpXv1NJ0BK7yTZSnUSpXvelLvXEe3F7Wgy9ON67DIbdlPARj9880OLpdDW25-d-mm64bnO2ckTRZ7TdUpUoVsBBN4jSDd7EoiJI6EqzQJEqVXJW2wtFtYOxgtFZmQ22qRpgRShIi1hhDjkhBooILwTkLGNaVNOU8FavWVYPDbNh1cLM0XX-ap5XsOrOrtT7ql0O_b9pNZb5KW1cpK12vnM0bZ_B_eBWsTQ">