<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/93017>93017</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
clang crashes on valid code at -O1 and above on x86_64-linux-gnu: Assertion `Val && "isa<> used on a null pointer"' failed
</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>
```
[514] % clangtk -v
clang version 19.0.0git (https://github.com/llvm/llvm-project.git e5936b245e9af0cea69a7e4eae22a05b7ffcf5a3)
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
[515] %
[515] % clangtk -O1 -w small.c
clang-19: /local/suz-local/software/clangbuild/llvm-project/llvm/include/llvm/Support/Casting.h:109: static bool llvm::isa_impl_cl<To, const From*>::doit(const From*) [with To = llvm::UndefValue; From = llvm::Constant]: Assertion `Val && "isa<> used on a null pointer"' failed.
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/20240522-clangtk-m64-O3-Weverything-pipe-fPIC-build-120609/delta -fcoverage-compilation-dir=/local/suz-local/software/emitesting/bugs/20240522-clangtk-m64-O3-Weverything-pipe-fPIC-build-120609/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 -O1 -w -ferror-limit 19 -fgnuc-version=4.2.1 -fskip-odr-check-in-gmf -fcolor-diagnostics -faddrsig -D__GCC_HAVE_DWARF2_CFI_ASM=1 -o /tmp/small-e990a2.o -x c small.c
1. <eof> parser at end of file
2. Optimizer
#0 0x000056275ba594cf llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/local/suz-local/software/local/clang-trunk/bin/clang-19+0x409a4cf)
#1 0x000056275ba569f4 SignalHandler(int) Signals.cpp:0:0
#2 0x00007f0cce9b6420 __restore_rt (/lib/x86_64-linux-gnu/libpthread.so.0+0x14420)
#3 0x00007f0cce3bd00b raise /build/glibc-e2p3jK/glibc-2.31/signal/../sysdeps/unix/sysv/linux/raise.c:51:1
#4 0x00007f0cce39c859 abort /build/glibc-e2p3jK/glibc-2.31/stdlib/abort.c:81:7
#5 0x00007f0cce39c729 get_sysdep_segment_value /build/glibc-e2p3jK/glibc-2.31/intl/loadmsgcat.c:509:8
#6 0x00007f0cce39c729 _nl_load_domain /build/glibc-e2p3jK/glibc-2.31/intl/loadmsgcat.c:970:34
#7 0x00007f0cce3adfd6 (/lib/x86_64-linux-gnu/libc.so.6+0x33fd6)
#8 0x000056275b648f39 llvm::InstCombinerImpl::foldCmpLoadFromIndexedGlobal(llvm::LoadInst*, llvm::GetElementPtrInst*, llvm::GlobalVariable*, llvm::CmpInst&, llvm::ConstantInt*) (/local/suz-local/software/local/clang-trunk/bin/clang-19+0x3c89f39)
#9 0x000056275b649420 llvm::InstCombinerImpl::foldICmpInstWithConstantNotInt(llvm::ICmpInst&) (/local/suz-local/software/local/clang-trunk/bin/clang-19+0x3c8a420)
#10 0x000056275b66ec1f llvm::InstCombinerImpl::visitICmpInst(llvm::ICmpInst&) (/local/suz-local/software/local/clang-trunk/bin/clang-19+0x3cafc1f)
#11 0x000056275b5cfa50 llvm::InstCombinerImpl::run() (/local/suz-local/software/local/clang-trunk/bin/clang-19+0x3c10a50)
#12 0x000056275b5d1322 combineInstructionsOverFunction(llvm::Function&, llvm::InstructionWorklist&, llvm::AAResults*, llvm::AssumptionCache&, llvm::TargetLibraryInfo&, llvm::TargetTransformInfo&, llvm::DominatorTree&, llvm::OptimizationRemarkEmitter&, llvm::BlockFrequencyInfo*, llvm::BranchProbabilityInfo*, llvm::ProfileSummaryInfo*, llvm::LoopInfo*, llvm::InstCombineOptions const&) (.isra.0) InstructionCombining.cpp:0:0
#13 0x000056275b5d25ed llvm::InstCombinePass::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) (/local/suz-local/software/local/clang-trunk/bin/clang-19+0x3c135ed)
#14 0x000056275bce1ea6 llvm::detail::PassModel<llvm::Function, llvm::InstCombinePass, llvm::AnalysisManager<llvm::Function>>::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) (/local/suz-local/software/local/clang-trunk/bin/clang-19+0x4322ea6)
#15 0x000056275b4191cd llvm::PassManager<llvm::Function, llvm::AnalysisManager<llvm::Function>>::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) (/local/suz-local/software/local/clang-trunk/bin/clang-19+0x3a5a1cd)
#16 0x0000562759036716 llvm::detail::PassModel<llvm::Function, llvm::PassManager<llvm::Function, llvm::AnalysisManager<llvm::Function>>, llvm::AnalysisManager<llvm::Function>>::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) (/local/suz-local/software/local/clang-trunk/bin/clang-19+0x1677716)
#17 0x000056275b417add llvm::ModuleToFunctionPassAdaptor::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) (/local/suz-local/software/local/clang-trunk/bin/clang-19+0x3a58add)
#18 0x0000562759038946 llvm::detail::PassModel<llvm::Module, llvm::ModuleToFunctionPassAdaptor, llvm::AnalysisManager<llvm::Module>>::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) (/local/suz-local/software/local/clang-trunk/bin/clang-19+0x1679946)
#19 0x000056275b41596d llvm::PassManager<llvm::Module, llvm::AnalysisManager<llvm::Module>>::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) (/local/suz-local/software/local/clang-trunk/bin/clang-19+0x3a5696d)
#20 0x000056275bcf36c8 (anonymous namespace)::EmitAssemblyHelper::RunOptimizationPipeline(clang::BackendAction, std::unique_ptr<llvm::raw_pwrite_stream, std::default_delete<llvm::raw_pwrite_stream>>&, std::unique_ptr<llvm::ToolOutputFile, std::default_delete<llvm::ToolOutputFile>>&, clang::BackendConsumer*) BackendUtil.cpp:0:0
#21 0x000056275bcf6a45 (anonymous namespace)::EmitAssemblyHelper::EmitAssembly(clang::BackendAction, std::unique_ptr<llvm::raw_pwrite_stream, std::default_delete<llvm::raw_pwrite_stream>>, clang::BackendConsumer*) BackendUtil.cpp:0:0
#22 0x000056275bcf7116 clang::EmitBackendOutput(clang::DiagnosticsEngine&, clang::HeaderSearchOptions const&, clang::CodeGenOptions const&, clang::TargetOptions const&, clang::LangOptions const&, llvm::StringRef, llvm::Module*, clang::BackendAction, llvm::IntrusiveRefCntPtr<llvm::vfs::FileSystem>, std::unique_ptr<llvm::raw_pwrite_stream, std::default_delete<llvm::raw_pwrite_stream>>, clang::BackendConsumer*) (/local/suz-local/software/local/clang-trunk/bin/clang-19+0x4338116)
#23 0x000056275c354469 clang::BackendConsumer::HandleTranslationUnit(clang::ASTContext&) (/local/suz-local/software/local/clang-trunk/bin/clang-19+0x4995469)
#24 0x000056275e0e626c clang::ParseAST(clang::Sema&, bool, bool) (/local/suz-local/software/local/clang-trunk/bin/clang-19+0x672726c)
#25 0x000056275c3548f8 clang::CodeGenAction::ExecuteAction() (/local/suz-local/software/local/clang-trunk/bin/clang-19+0x49958f8)
#26 0x000056275c5e4bc9 clang::FrontendAction::Execute() (/local/suz-local/software/local/clang-trunk/bin/clang-19+0x4c25bc9)
#27 0x000056275c569d2e clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) (/local/suz-local/software/local/clang-trunk/bin/clang-19+0x4baad2e)
#28 0x000056275c6cf346 clang::ExecuteCompilerInvocation(clang::CompilerInstance*) (/local/suz-local/software/local/clang-trunk/bin/clang-19+0x4d10346)
#29 0x0000562758c2fffc cc1_main(llvm::ArrayRef<char const*>, char const*, void*) (/local/suz-local/software/local/clang-trunk/bin/clang-19+0x1270ffc)
#30 0x0000562758c291fa ExecuteCC1Tool(llvm::SmallVectorImpl<char const*>&, llvm::ToolContext const&) driver.cpp:0:0
#31 0x0000562758c2cbce clang_main(int, char**, llvm::ToolContext const&) (/local/suz-local/software/local/clang-trunk/bin/clang-19+0x126dbce)
#32 0x0000562758b2978b main (/local/suz-local/software/local/clang-trunk/bin/clang-19+0x116a78b)
#33 0x00007f0cce39e083 __libc_start_main /build/glibc-e2p3jK/glibc-2.31/csu/../csu/libc-start.c:342:3
#34 0x0000562758c28c8e _start (/local/suz-local/software/local/clang-trunk/bin/clang-19+0x1269c8e)
clangtk: error: unable to execute command: Aborted
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 e5936b245e9af0cea69a7e4eae22a05b7ffcf5a3)
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-9882da.c
clangtk: note: diagnostic msg: /tmp/small-9882da.sh
clangtk: note: diagnostic msg:
********************
[516] %
[516] % cat small.c
int a, b[2], c;
static int *d[2] = {b, &b[1]};
int main() {
d[a] && (c && 0);
return 0;
}
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzsWltv27iz_zTKC0FDoi6WHvLg2HEbnO4_QZNtHw2KHNncSKSWpNxkP_0BKTm2HLdJu8nBnsUf6EWmZji3H4dDaqgxYi0BzoP0IkgXZ7SzG6XP_9qA5EquTXdWKv54HmTh8CdcBOEsSC_SKAnSBQpIilhN5dreI7zt3_rfaAvaCCVRVEzCSbgWFgUk31jbmiCeBWQZkOVa2E1XTphqArKs6-3uP9xq9QcwO3FckBZxVpIkhYJWIQOaFXQKCVAghIZpOa0qVqU0DkjRi7-jeg02iGfoIc9WWYI7eS_VN4lrIbsHvJbdQLfRQDlqFIfaUbfKiIf-1ZU0ltY18IXQ7pXTSzFaB2Rpur_w07Oq7Deq4eC1tx1b3cn7gCxLIfsJLzpRc8SUrMS6n_CCGgPaCiVNT7JUneSIUckFpxbQh_kciV4P6sgGPTqjnThROv8xFpDlYOXeOrKMwneYM3r7OYeI3UINzAJ_E_3mT5o1XW2F44pnaBLEF0ESNllyJPJHRB7m6Q7mp8aeoH8dIfwNmYbW9YQdLAMcFa8DkKcuHUyOFsF-aQjJ6o7DfuC2a1ulHcWcGivkerIJ4lkUepHGUisYKpWqkaePZ0E8E4auRNPWK1YH8fxOBWTuYGksWmq3DGdBfNlTciVsQPLxS1KgIL34JuwG3SkUxIuDqX-XHKovtO4giC88xxHB3E1FpQ3ShVNwtlsAKMjCL7RGAckCkqGAEGFoEM-D-BJ1BjhSElEku7pGrRLSgg4ICcgUVVTUwCe9u28-Xc5uL5HpykZYRFHZrZEG5x9kFfq5xOOcbUwHJiBLRCVHg-uR3QBimpoNKim7t5oycB5sNbRaMTBOW6M63Q87TmqMYoI6qOlOIsO0aO2g8q2l7B7xrmmdZn4onARhcaPVWtMGUb3uGpDW_N0ctBuLCoQZixC2WrQ1fDdBIgyNsFiVfyDs1ONCI4oR5sLQsgZcaQCEWQ1UY2osLqFSGrDzCUiOcEOFxJWoAUvawG5ZINxocEq6oGOfd1ErGMKtYLiGLdSI9D-Ewa0AhJtK0wbwLurxQioJCFcNtRsMWkuFcFW1mCnpYmGDeKEkwpVUWLs0JeQaO1qEG49j3TGrNKa1oAYMwlUnvwnJsXVWmSBeEISt3z4wazvnHpwlCNtOgh9YgwTtNOZQdus1aPdKyHUQL9a8RLjy45ipphV9BsPc7SCLl4PnHA5-EbuYdWsHPRKSJEwJwUOawU2W4OsYf4Ut6Ee7cea1ogVc3VzNsU8eOCJhFhYBWXKoLUW4YmoLmq7hH6WVhn6VOEV-Gdn9huDHXP4vEL462C0Glt3K7d-9Us4Tk8edpDUW5tFYaN5M15eEfMeIH5C-uDuS5WTy_J8TtM-lwYN7YM-l7rek43l-zP3zInZbLK5Aa6VxLVyad0Gv1rJjeCg3g3iRTMgkQrgy96LFimvMNsDusZB43VR-QdRKYy7oWipjBXN5gHKujVgjvFitPsznq4-zL5erxdfZ5yVZzZdXq9ntb0G8iBBWTjHbtC7mLqthKIqQkolC-AGxcQEQuVwexHNQldvKWqoNaEQtcjlSVcglyJ6SOMrr1opG_AW6H0MBiUMUPoRhGKYZmaYlTYuEVQcbqnk0_cONFtL63eSu35LyPZGm31bKWA208Rusq7Cs38hJ_jZ7SkAuwockLGjCqqcq3KkfHamfFVWCbsVa0vojlbx2G3k-aNMPmwlr3WYY-r9PE5FhomkVMgZFmSUkRKuVBmOVhpW2O2P8IjgB6VqUrfX1_sSoSeg1jpKEhCN945GYuORhWCJNhQHk019fnK1rUTIMpI3_-J-nn2QSuxVmvBW7tWUeDYfW5cxOiod-YOu1kZ376aeesCCepZEr3PaaJGNNCpanBaKl8pa-ThPLe294Li8kd0KmeyHpsZApKdAa7KrXe2Vg7aqP1dbVdK-VK6StPW4ob8ya0V506mvSfC87OyV7JeuVY1xx5SqIvyeymDoQxcle5nQsk_KKZ68ADnOQyTxk4rji2Qgy-QjiWZJXcXGwQt1Bcq6aUkjQV01b96OVqvm8aT8pyl2ZfCU5PAD_UKvSYedg7ToKN4UvvecH834Ae1mDi86N1acp_GxfqBautnn2et60PVt2ND7U6FfS7ur9N00TMcuLKi5GPiyOfFi41f0aH14NVnwVdrNT_D-q1_3Ai1eHxr6DQfQwj7i0N07bWQYsql40aCuMsHtV_-_0pxWLqpH-47ydsoqmLwdEd9Jr9vYKRiFNxw4mYwV5FBOCWK_S1VDnCyXN9Rb0spP-x8il-8Ej_B9wf1X6vhYn1shs9hlMV1vzbFXNjOma1jHPKdvAM87-auqTKDXVj1eyUt-huNNUmkrp5iTNQjVCUqv0nYbnMoYywtf5n6Gh-v6yEdYfmo8oL2rF7pca_uxAskGdI4MuNJVsc6NVSUtRC3ua6kYrV8vcdk3zZNcRySel2pMvDsB07T1n-vuIPdgnwmjq9uwCHUSn5xFy_bxicAiJjxBCUuCnpd5QYw4R_AqQzCStH40wv1FJ1-5cOj_BFF--03qN4hT4aDkkI2MZRECzA3U5WCqGVeqs_a2_8Tyl9PdC4530Sz7YXSf9v3BuEhMCNBs5Nx05N4mKiB0iyTv0R6r--70W05RGbAzJ7NBrRRhn0-gtIPlu3v73RynKptNpNMb29AjbU8oPsf2b4l0Nd2qnmvP-jNPWKn3a8J7hp8weWN4PmjnlY2jmR9DMi-TnoLmzcv5KV_2CL76HrH-cg6NsWhTJGFXFEarSIntNxjzl1n-Zt2KaZkU2giMZHxZYFWcsd2KpVPKxUZ1BkjZgWn-vU_RauopuZgw0Zf34EeoWhvX4uZOH5d-NaKEWEgKS9zePfU3X39LPnhKmsbx_00nxZwer1o59oum3VftNCwur3T3SAROHina1XXGowcILjEOyzV4j9k6p-rqzbWeXosfFa2QecR0KfO4Dd2jsGlca-6PuMPq7FfXJqpJER7HKaJL-aqwOx_9xAXoLZ5EjZ02jKDuc1jlgmKQP2NgLi_0F7aVcexQfR_EjUA76Fqhmm-eHhxHpXHH4APIFqv709QLRJyrXp0j2br21Wsj1Z6hO7RHDCehH8T4swa3ujNjCZ6jm_rJnFL9tNRxdHNZv_cX5EL5_JGTeuliP82hc0JDRsY_FaZJkxY_06mHk76L9mbv_PPa7FEdgnN3ezZW08PA-lzBJUaRJVoxMGR3qIISMZOzQlBuqDcxu78aK3kJDBzyWStX7_99a5WxKpiRjI5XTY-_nVX5iEQ5A75PAA7DOwg7773B_5HybV_lI0dHphKWQlGwEk6V2wX5akoeavo-OjKQlG8d_OtYxKziBsTObVtTgb3-pZHDan9836l1wXFLKCYzsGJXbLGNVnIy3gV7jvTnboUNgrP0zc98lpfAojMfVLBlVszkjVVUxxFi0aqgYl5szremjy_rxnG2o3m0Os116HI2ROdoqwd_FjIhMw6oarc3xp8SckSKqKNr5fh7d-SRxYMxtQ-v6CzCrhjveEzYd310qVQ9ZcnSHx7XYgj5ZJIw_EeaMsJINKN_5138f7L3nnTV7ndC39mjGSzYCdjyqb_KSFNO8RMN3qzeVHWV0mpcj2UdfKgsI8xitVrUo2cpYqu3qZz6gMdPtPln2j_6ln8d_SosT4v7di0-OopazHFAv-O0dX7B87_ih5ySIZ8j3AbiHTtKyBmQVgh7PiKmmoZL7LrNSaQv8-9x9t2o1JMcd69BbhnjnJ-6_6zrbOgMIb_0YABIH2ar4b_frr3e_HkRGKldyztC-QwM1pucbAPg3_vQzHDYMzu7uZvOP6O7jJVpef_p0_fXqPx_Q8urT5S26u_bDF79_QJ8vb64_3wW7Nr2bUw1_uXGJ57tNf08EGpDvggOOqH2a8nUeGDefFHlOOB01nP7aDGbz82F4q2CkF2mUnWiyfRpj1I4ba4S0iPrSNkgvSJAu_AYRxBf966Hz1VEFZMYHGt-MGkwvSkcckMzxRo53unjidCzDtuP3kOkwjpCbhfYKDU2qOds9-2-T8ROpBttpicKnISehf9h10Z_x85gXcUHP4DyaRlk8TdJpcrY5jwmEGa_iNC0gDSmLMhpXSRFP8zxKUhKfifNd-10UJiRNJlmSTUmWpyzmVVSWSZCE0FBRT1wqmSi9PvOdrOdFHEbTs5qWUBvf7E_I0I3mnHOmz33q8S1-SVgLY81-BitsDed9YvPdr2CQkmhLa-GWNQdEre_P8tgv1Rbc62fdFG_Y84vOOl2f_3pTr_fG_wYAAP__g_EtZQ">