<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/92685>92685</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
clang crashes at -O{2,3} on x86_64-linux-gnu: Segmentation fault
</td>
</tr>
<tr>
<th>Labels</th>
<td>
clang
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
zhendongsu
</td>
</tr>
</table>
<pre>
It appears to be a very recent regression (e.g., it doesn't reproduce with the latest build from Compiler Explorer).
```
[535] % clangtk -v
clang version 19.0.0git (https://github.com/llvm/llvm-project.git e0217ee7829cf49bc0caa8b814f6acc4c4b0836d)
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /local/suz-local/software/local/clang-trunk/bin
Build config: +assertions
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/10
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/11
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/9
Selected GCC installation: /usr/lib/gcc/x86_64-linux-gnu/11
Candidate multilib: .;@m64
Selected multilib: .;@m64
[536] %
[536] % clangtk -O2 small.c
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace, preprocessed source, and associated run script.
Stack dump:
0. Program arguments: /local/suz-local/software/local/clang-trunk/bin/clang-19 -cc1 -triple x86_64-unknown-linux-gnu -emit-obj -dumpdir a- -disable-free -clear-ast-before-backend -main-file-name small.c -mrelocation-model pic -pic-level 2 -pic-is-pie -mframe-pointer=none -fmath-errno -ffp-contract=on -fno-rounding-math -mconstructor-aliases -funwind-tables=2 -target-cpu x86-64 -tune-cpu generic -debugger-tuning=gdb -fdebug-compilation-dir=/local/suz-local/software/emitesting/bugs/20240519-clangtk-m64-O3-Weverything-pipe-fPIC-build-111542/delta -fcoverage-compilation-dir=/local/suz-local/software/emitesting/bugs/20240519-clangtk-m64-O3-Weverything-pipe-fPIC-build-111542/delta -resource-dir /local/suz-local/software/local/clang-trunk/lib/clang/19 -I /usr/local/include -I /local/suz-local/software/local/include -internal-isystem /local/suz-local/software/local/clang-trunk/lib/clang/19/include -internal-isystem /usr/local/include -internal-isystem /usr/lib/gcc/x86_64-linux-gnu/11/../../../../x86_64-linux-gnu/include -internal-externc-isystem /usr/include/x86_64-linux-gnu -internal-externc-isystem /include -internal-externc-isystem /usr/include -O2 -ferror-limit 19 -fgnuc-version=4.2.1 -fskip-odr-check-in-gmf -fcolor-diagnostics -vectorize-loops -vectorize-slp -faddrsig -D__GCC_HAVE_DWARF2_CFI_ASM=1 -o /tmp/small-48a113.o -x c small.c
1. <eof> parser at end of file
2. Optimizer
#0 0x0000557ed3a9e52f llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/local/suz-local/software/local/clang-trunk/bin/clang-19+0x409552f)
#1 0x0000557ed3a9ba54 SignalHandler(int) Signals.cpp:0:0
#2 0x00007ffae39d7420 __restore_rt (/lib/x86_64-linux-gnu/libpthread.so.0+0x14420)
#3 0x0000557ed342137b llvm::DenseMapBase<llvm::DenseMap<llvm::Value const*, llvm::MDAttachments, llvm::DenseMapInfo<llvm::Value const*, void>, llvm::detail::DenseMapPair<llvm::Value const*, llvm::MDAttachments>>, llvm::Value const*, llvm::MDAttachments, llvm::DenseMapInfo<llvm::Value const*, void>, llvm::detail::DenseMapPair<llvm::Value const*, llvm::MDAttachments>>::at(llvm::Value const*) const (/local/suz-local/software/local/clang-trunk/bin/clang-19+0x3a1837b)
#4 0x0000557ed3421406 llvm::Value::getMetadataImpl(unsigned int) const (/local/suz-local/software/local/clang-trunk/bin/clang-19+0x3a18406)
#5 0x0000557ed2bd090f computeKnownBits(llvm::Value const*, llvm::APInt const&, llvm::KnownBits&, unsigned int, llvm::SimplifyQuery const&) ValueTracking.cpp:0:0
#6 0x0000557ed2bd4e70 ComputeNumSignBitsImpl(llvm::Value const*, llvm::APInt const&, unsigned int, llvm::SimplifyQuery const&) ValueTracking.cpp:0:0
#7 0x0000557ed2bd5f91 ComputeNumSignBits(llvm::Value const*, unsigned int, llvm::SimplifyQuery const&) ValueTracking.cpp:0:0
#8 0x0000557ed2bd6094 llvm::ComputeNumSignBits(llvm::Value const*, llvm::DataLayout const&, unsigned int, llvm::AssumptionCache*, llvm::Instruction const*, llvm::DominatorTree const*, bool) (/local/suz-local/software/local/clang-trunk/bin/clang-19+0x31cd094)
#9 0x0000557ed2b48c70 llvm::ScalarEvolution::getRangeRef(llvm::SCEV const*, llvm::ScalarEvolution::RangeSignHint, unsigned int) (/local/suz-local/software/local/clang-trunk/bin/clang-19+0x313fc70)
#10 0x0000557ed2b49355 llvm::ScalarEvolution::getRangeRef(llvm::SCEV const*, llvm::ScalarEvolution::RangeSignHint, unsigned int) (/local/suz-local/software/local/clang-trunk/bin/clang-19+0x3140355)
#11 0x0000557ed2b4917c llvm::ScalarEvolution::getRangeRef(llvm::SCEV const*, llvm::ScalarEvolution::RangeSignHint, unsigned int) (/local/suz-local/software/local/clang-trunk/bin/clang-19+0x314017c)
#12 0x0000557ed2b4b9a6 llvm::ScalarEvolution::isKnownNonNegative(llvm::SCEV const*) (/local/suz-local/software/local/clang-trunk/bin/clang-19+0x31429a6)
#13 0x0000557ed2b5821d llvm::ScalarEvolution::getGEPExpr(llvm::GEPOperator*, llvm::SmallVectorImpl<llvm::SCEV const*> const&) (/local/suz-local/software/local/clang-trunk/bin/clang-19+0x314f21d)
#14 0x0000557ed2b58401 llvm::ScalarEvolution::createNodeForGEP(llvm::GEPOperator*) (/local/suz-local/software/local/clang-trunk/bin/clang-19+0x314f401)
#15 0x0000557ed2b36455 llvm::ScalarEvolution::createSCEV(llvm::Value*) (.part.0) ScalarEvolution.cpp:0:0
#16 0x0000557ed2b37081 llvm::ScalarEvolution::createSCEVIter(llvm::Value*) (/local/suz-local/software/local/clang-trunk/bin/clang-19+0x312e081)
#17 0x0000557ed2b5c564 llvm::ScalarEvolution::computeSCEVAtScope(llvm::SCEV const*, llvm::Loop const*) (/local/suz-local/software/local/clang-trunk/bin/clang-19+0x3153564)
#18 0x0000557ed2b5ca3a llvm::ScalarEvolution::getSCEVAtScope(llvm::SCEV const*, llvm::Loop const*) (/local/suz-local/software/local/clang-trunk/bin/clang-19+0x3153a3a)
...
#255 0x0000557ed2b5c039 llvm::ScalarEvolution::computeSCEVAtScope(llvm::SCEV const*, llvm::Loop const*) (/local/suz-local/software/local/clang-trunk/bin/clang-19+0x3153039)
clangtk: error: unable to execute command: Segmentation fault
clangtk: error: clang frontend command failed due to signal (use -v to see invocation)
clang version 19.0.0git (https://github.com/llvm/llvm-project.git e0217ee7829cf49bc0caa8b814f6acc4c4b0836d)
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /local/suz-local/software/local/clang-trunk/bin
Build config: +assertions
clangtk: note: diagnostic msg:
********************
PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT:
Preprocessed source(s) and associated run script(s) are located at:
clangtk: note: diagnostic msg: /tmp/small-7b5802.c
clangtk: note: diagnostic msg: /tmp/small-7b5802.sh
clangtk: note: diagnostic msg:
********************
[537] %
[537] % cat small.c
int a[1], b, c, d, e, f;
int main() {
int g, h = 0, i = c = 0;
for (; c < 2; c++)
for (; h < 2; h++)
for (i = 0; i < 1; i++)
;
if (i)
while (1)
return 0;
for (g = 0; g < 2; g++)
for (; g < 7; g++)
for (e = 0; e < 5; e++)
for (d = 0; d < 9; d++)
for (f = 0; f < 10; f++) {
b = a[b];
b = a[b];
}
return 0;
}
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzsWltz3CoS_jXySxdTEpJmRg9-mGvi2iT2xt6cRxdCLQ3HEqgAOU5-_RZobhrfkhyn6uypTSYKA03zfQ3dDWKYMaKSiOdBOg_S5Rnr7Ebp8-8blIWSlenOclV8O7-wwNoWmTZgFeQIDO5RfwONHKUFjZVGY4SSENApjqpRQBcgLBQKjQzoxIm0WhUdR_gq7AbsBqFmFo2FvBN1AaVWDSxU04oaNawe2lpp1AHNRkG4DMLZ9jkOt5_-azpP4zRIlxDQFHjNZGXvgNz3rf67w-mBRdkoHIWVsA7ixtrWBPEsoOuArithN10-4qoJ6Lqu73f_kVarP5HbkeuFIY0miJMpzXiZZDkPOWPTfBol5ZhxnvAkD6fxuAho1g9_w3SFNohn8DAd344T0sk7qb5KUgvZPZBKdlu5jUZWQKMKrJ10q4x46JsupLGsrrFYCu2aHC7FWR3Qtem-k31ZlfYr03jU7LkTqzt5F9B1LmSvcO5tzZUsRdUrnDNjUFuhpOlF1qqTBXAmC1Ewi_BusQDR42BObIujM9oNJ3JnP84Dut6yPLCj6yj8DTqjt9e5nbFrrJFbLN4E32KPrOlqK1yveAajIJ4HSdiMk5MhXxLyy3y8W-ZP1e2X_iUF07C6HvFe7OrDana9AtPljbDAIO8q54pKW-fIP-cGAV0LYzo0AV0DkwUIyeuuQO_MXDOzgZzxO6sZR-f_rfd5jsZgAUZ1uq92PZkxigvmiOtOguFatHbr6deW8TsouqZ1yHxVOArC7EqrSrMGmK66BqU1f9UjdnVRBoTzCIjVoq3xWXcFgo2wROV_AnHwCqGBESCFMCyvkZQaEQivkWnCjCU5lkojcTZBWQBpmJCkFDUSyRrczROQRqMD6RYa8VEAWsGBtIKTGu-xBtp_EYa0AoE0pWYNklYJaVEH8VIqiUDKhtkNQa2lAlKWLeFKurmwQbxUEkgpFdHOaYSsiJMF0nAljdUdt0oTVgtm0AApO_lVyIJYx8oE8ZICsT6YEd52zjxknACxnURfUaFE7RAXmHdVhdo1CVkF8bIqciClryfcB_eeZuHi2fL1yXMGR2OdMrrOu8otPRrSJEyjjGwXPWnGCbmMyR_oUpLdOHqtaJGUVxcL4rMLiaIoTWhA1wXWlgEpubpHzSr8W6HS2HuJA_LLK7sPT77ORaMMyMVR7Np22Xlu3_aD4-w7-XUnWU2E-WYsNm-G9bVBniHxguirsZquR6PHjydkH4-GD67AH4-6FX1Cz8u9f34IH_BJiVorTWrhYryb8bKSHSfbnU8QL5MRHUVASnMnWqIKTfgG-R0RklRN6b2hVpoUglVSGSu4AXKPLiiI70hqpdpBhalbICUrCm1EBWR5e_tusbh9P_uyul3-Mfu8preL9cXt7PpjEC8jIMqhtk3rFoQLeSSZsiiKRwrIA_BhuopcoA_iBaoyiFfQMm1QA7PgAqgqwUXPXpI6ycvWikZ8R93XAQQ0DiF8CMMwTNMJFjHLMKUl-GwWz4J4Zr6ZvnClhbQ-19z0CWt6ENLs660yViNrAjr2e1lpA5q5rePbZJyAzsOHJMzSlJb7HaPHH53gz1mawLWoJKvfM1nUblM83cLpq82Ity5Xhv7fQRPdapqUJcM4KyYJDeH2VqOxSuOttjs63kmeWPK1yFvrd6cjo0ahxxwlCQ2HiOMB4oRG8SQ_svgSpcGPrJ0zg0G8eNwwqPzC6g7B56WAzpzpD20flzNrGd_02X_QtNN1IUv1ir57JYogXg37F2iZqIe6rpjLB7-ELV49GuGfRMw3MDvwmVMdWV9-Y5eJWTSNJ_lwASanCzAJx6eW74sV2o9oWcEsu2jaOqDTTvoDcLHz8N8FOgnHQ9DpMWiaF2EWluB2I53Ff7mN51y4tfCChY9naXZ1Ie2ubTxsO9LmW4aUjyWvRdPWovz2784d7g_aMvBju0B5J2T1TLwZnzBKcBL6I31n8VPXuGDlUGwN_6u8fhf6yQn6tMyiJ9C_gvx3oZueoBuHWXKk_KdxHgUYZtkH9k11P2rmmTFd07oN84LxDT5SeLE9UgglnxtSNUIyq_SNOzEdy-RK1W-fZ-OIF2GWDP0vG1o0mfJJeDxdnNVMr-5V3W3fAPTh4zOTFX7GcmDf68XqyzNcn9TjlbiZer-17mkUemv-ccknR1nbbTPCE_5ZnKb_WP5JGKfpkH90yj-a8H8w_2jCh_zpCf88Y-PXcAvjc8knJT9hxay4x5fM8Bto0IyNhzTiIY10SqPiB6bx3epq9dDqAfx3q6vLFrULTI-n0Z1SvvgjkM9fx7unIe14NQjub26CkkbF0ATJqQmSMHrNBFwjs_hJFbhW-t3q6kVD_A4WSRgNWZzsh-Jx8no86lk4-z9Odwfko5Zp644vGZxoeSLZOignG5l4Ek5_0KAOyoVF_RKcNzUkxXB6YsiTjUzK03HyKvp-_-Dgz-w1V-2Ljn3sGB-Uan-rz6dxOk6GDKenDFnMfsDn_57sWMz27PrnaDS886IxTdNTymGc_U9Pahhne9rbV6ZBPAP_JssVOsnyGsEqwAfknXX7xKZhsnCN11i546h_awsl62r7vKL-FrDUSlqUxU4LlEzUWEDR-TGMf5HiaHYGgdz7OkQQ8n77Zn4I9v-3ij95q3g0M1JZdxqHw-tGaEzfb7ve_8LnyG-2V1-zm5vZ4j3cvF_B-vLDh8s_Lj69g_XFh9U13Fz66vl_3sHn1dXl55v9hdPVU1dXU-Nc4dnrq72ARvD3OVgAs3uVP2aB4ZvSSZ5OQ7p7OfoXNJjNz0_DW01GOk_jyROXl_s6zuzwLbCQFliQzqMgXfpToXtw9yjcw98ilkE8P0g3zEWZqQ9Vk_nulOdaKie8gSBeQuhf5Poi31bEe9lSaR_l4rlvXAD1xYDO_Wd_chxIbg6Smyck97JiP5wffwGRL552OYIjSt9voO7rRtToqqOTUTTaTsun6FSHgasD1uplVr3k5DnJvSwelKPvkvriaZetdHGQLrx05otPDnA0SHnoVvam68v7fkcTnntZt3Jyt3IO1jj8eVUkmCx3VY_Mum_b_wzlrDiPiyzO2BmeR5NoHEXjMEvPNuecl0mZ5FmGPC-m4zKLaRbF7i_imNHyTJzvbgyjME3SdJSWeZinMSvTkvJowoIkxIaJeuRyxkjp6sxfvp9ndDxNz2qWY238r3Yo3V6g0SBdnulzn2P8rWQS1sJYc9Bgha3xvM9g_sIeDTAL5DKYzGlAF3EwWYKS8Ogu4MmcC2edrs9__TcEnsl_AwAA__9B5Sd7">