| Issue |
177462
|
| Summary |
[clang] occasional frontend crashes on version 22.1.0-rc1
|
| Labels |
clang
|
| Assignees |
|
| Reporter |
xarblu
|
Since I started using LLVM 22.1.0-rc1 my custom Linux kernel builds started occasionally crashing clang.
Some builds complete perfectly fine but those that fail seem to always crash on `fs/bcachefs/data/ec/init.c` with an error like the following:
```
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: clang-22 -Wp,-MMD,fs/bcachefs/data/ec/.init.o.d -nostdinc -I/var/tmp/portage/sys-kernel/cachyos-kernel-6.19_rc6/work/linux-6.18/arch/x86/include -I./arch/x86/include/generated -I/var/tmp/portage/sys-kernel/cachyos-kernel-6.19_rc6/work/linux-6.18/include -I./include -I/var/tmp/portage/sys-kernel/cachyos-kernel-6.19_rc6/work/linux-6.18/arch/x86/include/uapi -I./arch/x86/include/generated/uapi -I/var/tmp/portage/sys-kernel/cachyos-kernel-6.19_rc6/work/linux-6.18/include/uapi -I./include/generated/uapi -include /var/tmp/portage/sys-kernel/cachyos-kernel-6.19_rc6/work/linux-6.18/include/linux/compiler-version.h -include /var/tmp/portage/sys-kernel/cachyos-kernel-6.19_rc6/work/linux-6.18/include/linux/kconfig.h -include /var/tmp/portage/sys-kernel/cachyos-kernel-6.19_rc6/work/linux-6.18/include/linux/compiler_types.h -D__KERNEL__ --target=x86_64-linux-gnu -fintegrated-as -Werror=ignored-optimization-argument -Werror=option-ignored -fmacro-prefix-map=/var/tmp/portage/sys-kernel/cachyos-kernel-6.19_rc6/work/linux-6.18/= -std=gnu11 -fshort-wchar -funsigned-char -fno-common -fno-PIE -fno-strict-aliasing -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -mno-avx -mno-sse4a -fcf-protection=branch -fno-jump-tables -m64 -falign-loops=1 -mno-80387 -mno-fp-ret-in-387 -mstack-alignment=8 -mskip-rax-setup -march=x86-64-v3 -mno-red-zone -mcmodel=kernel -mstack-protector-guard-reg=gs -mstack-protector-guard-symbol=__ref_stack_chk_guard -Wno-sign-compare -fno-asynchronous-unwind-tables -mretpoline-external-thunk -mindirect-branch-cs-prefix -mfunction-return=thunk-extern -mharden-sls=all -fpatchable-function-entry=11,11 -fno-delete-null-pointer-checks -O3 -fstack-protector-strong -ftrivial-auto-var-init=zero -fno-stack-clash-protection -pg -mfentry -DCC_USING_NOP_MCOUNT -DCC_USING_FENTRY -fno-lto -flto=thin -fsplit-lto-unit -fvisibility=hidden -fsanitize=kcfi -fsanitize-kcfi-arity -falign-functions=16 -fstrict-flex-arrays=3 -fms-extensions -fno-strict-overflow -fno-stack-check -fno-builtin-wcslen -Wall -Wextra -Wundef -Werror=implicit-function-declaration -Werror=implicit-int -Werror=return-type -Wno-format-security -Wno-trigraphs -Wno-frame-address -Wno-address-of-packed-member -Wmissing-declarations -Wmissing-prototypes -Wframe-larger-than=2048 -Wno-gnu -Wno-microsoft-anon-tag -Wno-format-overflow-non-kprintf -Wno-format-truncation-non-kprintf -Wno-default-const-init-unsafe -Wno-pointer-sign -Wcast-function-type -Wno-unterminated-string-initialization -Wimplicit-fallthrough -Werror=date-time -Wenum-conversion -Wunused -Wno-unused-but-set-variable -Wno-unused-const-variable -Wno-format-overflow -Wno-override-init -Wno-pointer-to-enum-cast -Wno-tautological-constant-out-of-range-compare -Wno-unaligned-access -Wno-enum-compare-conditional -Wno-missing-field-initializers -Wno-type-limits -Wno-shift-negative-value -Wno-enum-enum-conversion -Wno-sign-compare -Wno-unused-parameter -Wno-psabi -I/var/tmp/portage/sys-kernel/cachyos-kernel-6.19_rc6/work/linux-6.18/fs/bcachefs -I/var/tmp/portage/sys-kernel/cachyos-kernel-6.19_rc6/work/linux-6.18/fs/bcachefs -Ifs/bcachefs -DMODULE -DKBUILD_BASENAME=\"init\" -DKBUILD_MODNAME=\"bcachefs\" -D__KBUILD_MODNAME=bcachefs -c -o fs/bcachefs/data/ec/init.o /var/tmp/portage/sys-kernel/cachyos-kernel-6.19_rc6/work/linux-6.18/fs/bcachefs/data/ec/init.c
1. <eof> parser at end of file
2. Optimizer
3. Running pass "require<globals-aa>,function(invalidate<aa>),require<profile-summary>,cgscc(devirt<4>(inline,function-attrs<skip-non-recursive-function-attrs>,argpromotion,openmp-opt-cgscc,function<eager-inv;no-rerun>(sroa<modify-cfg>,early-cse<memssa>,speculative-execution<only-if-divergent-target>,jump-threading,correlated-propagation,simplifycfg<bonus-inst-threshold=1;no-forward-switch-cond;switch-range-to-icmp;no-switch-to-arithmetic;no-switch-to-lookup;keep-loops;no-hoist-common-insts;no-hoist-loads-stores-with-cond-faulting;no-sink-common-insts;speculate-blocks;simplify-cond-branch;no-speculate-unpredictables>,instcombine<max-iterations=1;no-verify-fixpoint>,aggressive-instcombine,libcalls-shrinkwrap,tailcallelim,simplifycfg<bonus-inst-threshold=1;no-forward-switch-cond;switch-range-to-icmp;no-switch-to-arithmetic;no-switch-to-lookup;keep-loops;no-hoist-common-insts;no-hoist-loads-stores-with-cond-faulting;no-sink-common-insts;speculate-blocks;simplify-cond-branch;no-speculate-unpredictables>,reassociate,constraint-elimination,loop-mssa(loop-instsimplify,loop-simplifycfg,licm<no-allowspeculation>,loop-rotate<header-duplication;prepare-for-lto>,licm<allowspeculation>,simple-loop-unswitch<nontrivial;trivial>),simplifycfg<bonus-inst-threshold=1;no-forward-switch-cond;switch-range-to-icmp;no-switch-to-arithmetic;no-switch-to-lookup;keep-loops;no-hoist-common-insts;no-hoist-loads-stores-with-cond-faulting;no-sink-common-insts;speculate-blocks;simplify-cond-branch;no-speculate-unpredictables>,instcombine<max-iterations=1;no-verify-fixpoint>,loop(loop-idiom,indvars,extra-simple-loop-unswitch-passes,loop-deletion,loop-unroll-full),sroa<modify-cfg>,vector-combine,mldst-motion<no-split-footer-bb>,gvn<>,sccp,bdce,instcombine<max-iterations=1;no-verify-fixpoint>,jump-threading,correlated-propagation,adce,memcpyopt,dse,move-auto-init,loop-mssa(licm<allowspeculation>),coro-elide,simplifycfg<bonus-inst-threshold=1;no-forward-switch-cond;switch-range-to-icmp;switch-to-arithmetic;no-switch-to-lookup;keep-loops;hoist-common-insts;no-hoist-loads-stores-with-cond-faulting;sink-common-insts;speculate-blocks;simplify-cond-branch;no-speculate-unpredictables>,instcombine<max-iterations=1;no-verify-fixpoint>),function-attrs,function(require<should-not-run-function-passes>))),function(invalidate<should-not-run-function-passes>),cgscc(devirt<4>())" on module "/var/tmp/portage/sys-kernel/cachyos-kernel-6.19_rc6/work/linux-6.18/fs/bcachefs/data/ec/init.c"
4. Running pass "cgscc(devirt<4>(inline,function-attrs<skip-non-recursive-function-attrs>,argpromotion,openmp-opt-cgscc,function<eager-inv;no-rerun>(sroa<modify-cfg>,early-cse<memssa>,speculative-execution<only-if-divergent-target>,jump-threading,correlated-propagation,simplifycfg<bonus-inst-threshold=1;no-forward-switch-cond;switch-range-to-icmp;no-switch-to-arithmetic;no-switch-to-lookup;keep-loops;no-hoist-common-insts;no-hoist-loads-stores-with-cond-faulting;no-sink-common-insts;speculate-blocks;simplify-cond-branch;no-speculate-unpredictables>,instcombine<max-iterations=1;no-verify-fixpoint>,aggressive-instcombine,libcalls-shrinkwrap,tailcallelim,simplifycfg<bonus-inst-threshold=1;no-forward-switch-cond;switch-range-to-icmp;no-switch-to-arithmetic;no-switch-to-lookup;keep-loops;no-hoist-common-insts;no-hoist-loads-stores-with-cond-faulting;no-sink-common-insts;speculate-blocks;simplify-cond-branch;no-speculate-unpredictables>,reassociate,constraint-elimination,loop-mssa(loop-instsimplify,loop-simplifycfg,licm<no-allowspeculation>,loop-rotate<header-duplication;prepare-for-lto>,licm<allowspeculation>,simple-loop-unswitch<nontrivial;trivial>),simplifycfg<bonus-inst-threshold=1;no-forward-switch-cond;switch-range-to-icmp;no-switch-to-arithmetic;no-switch-to-lookup;keep-loops;no-hoist-common-insts;no-hoist-loads-stores-with-cond-faulting;no-sink-common-insts;speculate-blocks;simplify-cond-branch;no-speculate-unpredictables>,instcombine<max-iterations=1;no-verify-fixpoint>,loop(loop-idiom,indvars,extra-simple-loop-unswitch-passes,loop-deletion,loop-unroll-full),sroa<modify-cfg>,vector-combine,mldst-motion<no-split-footer-bb>,gvn<>,sccp,bdce,instcombine<max-iterations=1;no-verify-fixpoint>,jump-threading,correlated-propagation,adce,memcpyopt,dse,move-auto-init,loop-mssa(licm<allowspeculation>),coro-elide,simplifycfg<bonus-inst-threshold=1;no-forward-switch-cond;switch-range-to-icmp;switch-to-arithmetic;no-switch-to-lookup;keep-loops;hoist-common-insts;no-hoist-loads-stores-with-cond-faulting;sink-common-insts;speculate-blocks;simplify-cond-branch;no-speculate-unpredictables>,instcombine<max-iterations=1;no-verify-fixpoint>),function-attrs,function(require<should-not-run-function-passes>)))" on module "/var/tmp/portage/sys-kernel/cachyos-kernel-6.19_rc6/work/linux-6.18/fs/bcachefs/data/ec/init.c"
5. Running pass "jump-threading" on function "check_bucket_to_stripe_ref"
CC drivers/base/module.o
CC [M] drivers/tty/rpmsg_tty.o
CC [M] fs/smb/server/server.o
LD [M] fs/nfs/blocklayout/blocklayoutdriver.o
LD [M] drivers/nfc/st21nfca/st21nfca_hci.o
#0 0x00007fbe42fb62da llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/usr/lib/llvm/22/bin/../lib64/libLLVM.so.22.1+libcxx+0x4bb62da)
#1 0x00007fbe42fb2a8d llvm::sys::RunSignalHandlers() (/usr/lib/llvm/22/bin/../lib64/libLLVM.so.22.1+libcxx+0x4bb2a8d)
#2 0x00007fbe42eaa144 (/usr/lib/llvm/22/bin/../lib64/libLLVM.so.22.1+libcxx+0x4aaa144)
#3 0x00007fbe3e044220 (/usr/lib64/libc.so.6+0x44220)
#4 0x00007fbe43146a27 llvm::Argument::getRange() const (/usr/lib/llvm/22/bin/../lib64/libLLVM.so.22.1+libcxx+0x4d46a27)
#5 0x00007fbe4503f758 llvm::LazyValueInfoImpl::solveBlockValueNonLocal(llvm::Value*, llvm::BasicBlock*) (/usr/lib/llvm/22/bin/../lib64/libLLVM.so.22.1+libcxx+0x6c3f758)
#6 0x00007fbe4503f37c llvm::LazyValueInfoImpl::solveBlockValueImpl(llvm::Value*, llvm::BasicBlock*) (/usr/lib/llvm/22/bin/../lib64/libLLVM.so.22.1+libcxx+0x6c3f37c)
#7 0x00007fbe4503e6e7 llvm::LazyValueInfoImpl::solveBlockValue(llvm::Value*, llvm::BasicBlock*) (/usr/lib/llvm/22/bin/../lib64/libLLVM.so.22.1+libcxx+0x6c3e6e7)
#8 0x00007fbe4503dc2e llvm::LazyValueInfoImpl::solve() (/usr/lib/llvm/22/bin/../lib64/libLLVM.so.22.1+libcxx+0x6c3dc2e)
#9 0x00007fbe45049313 llvm::LazyValueInfoImpl::getValueOnEdge(llvm::Value*, llvm::BasicBlock*, llvm::BasicBlock*, llvm::Instruction*) (/usr/lib/llvm/22/bin/../lib64/libLLVM.so.22.1+libcxx+0x6c49313)
#10 0x00007fbe4504b78a llvm::LazyValueInfo::getConstantOnEdge(llvm::Value*, llvm::BasicBlock*, llvm::BasicBlock*, llvm::Instruction*) (/usr/lib/llvm/22/bin/../lib64/libLLVM.so.22.1+libcxx+0x6c4b78a)
#11 0x00007fbe446cbe24 llvm::JumpThreadingPass::computeValueKnownInPredecessorsImpl(llvm::Value*, llvm::BasicBlock*, llvm::SmallVectorImpl<std::__1::pair<llvm::Constant*, llvm::BasicBlock*>>&, llvm::jumpthreading::ConstantPreference, llvm::SmallPtrSet<llvm::Value*, 4u>&, llvm::Instruction*) (/usr/lib/llvm/22/bin/../lib64/libLLVM.so.22.1+libcxx+0x62cbe24)
#12 0x00007fbe446cc265 llvm::JumpThreadingPass::computeValueKnownInPredecessorsImpl(llvm::Value*, llvm::BasicBlock*, llvm::SmallVectorImpl<std::__1::pair<llvm::Constant*, llvm::BasicBlock*>>&, llvm::jumpthreading::ConstantPreference, llvm::SmallPtrSet<llvm::Value*, 4u>&, llvm::Instruction*) (/usr/lib/llvm/22/bin/../lib64/libLLVM.so.22.1+libcxx+0x62cc265)
#13 0x00007fbe446ce9ec llvm::JumpThreadingPass::processThreadableEdges(llvm::Value*, llvm::BasicBlock*, llvm::jumpthreading::ConstantPreference, llvm::Instruction*) (/usr/lib/llvm/22/bin/../lib64/libLLVM.so.22.1+libcxx+0x62ce9ec)
#14 0x00007fbe446cbabc llvm::JumpThreadingPass::processBlock(llvm::BasicBlock*) (/usr/lib/llvm/22/bin/../lib64/libLLVM.so.22.1+libcxx+0x62cbabc)
#15 0x00007fbe446caa4a llvm::JumpThreadingPass::runImpl(llvm::Function&, llvm::AnalysisManager<llvm::Function>*, llvm::TargetLibraryInfo*, llvm::TargetTransformInfo*, llvm::LazyValueInfo*, llvm::AAResults*, std::__1::unique_ptr<llvm::DomTreeUpdater, std::__1::default_delete<llvm::DomTreeUpdater>>, llvm::BlockFrequencyInfo*, llvm::BranchProbabilityInfo*) (/usr/lib/llvm/22/bin/../lib64/libLLVM.so.22.1+libcxx+0x62caa4a)
#16 0x00007fbe446ca517 llvm::JumpThreadingPass::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) (/usr/lib/llvm/22/bin/../lib64/libLLVM.so.22.1+libcxx+0x62ca517)
#17 0x00007fbe431ea3eb llvm::PassManager<llvm::Function, llvm::AnalysisManager<llvm::Function>>::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) (/usr/lib/llvm/22/bin/../lib64/libLLVM.so.22.1+libcxx+0x4dea3eb)
#18 0x00007fbe44f182bf llvm::CGSCCToFunctionPassAdaptor::run(llvm::LazyCallGraph::SCC&, llvm::AnalysisManager<llvm::LazyCallGraph::SCC, llvm::LazyCallGraph&>&, llvm::LazyCallGraph&, llvm::CGSCCUpdateResult&) (/usr/lib/llvm/22/bin/../lib64/libLLVM.so.22.1+libcxx+0x6b182bf)
#19 0x00007fbe44f140cc llvm::PassManager<llvm::LazyCallGraph::SCC, llvm::AnalysisManager<llvm::LazyCallGraph::SCC, llvm::LazyCallGraph&>, llvm::LazyCallGraph&, llvm::CGSCCUpdateResult&>::run(llvm::LazyCallGraph::SCC&, llvm::AnalysisManager<llvm::LazyCallGraph::SCC, llvm::LazyCallGraph&>&, llvm::LazyCallGraph&, llvm::CGSCCUpdateResult&) (/usr/lib/llvm/22/bin/../lib64/libLLVM.so.22.1+libcxx+0x6b140cc)
#20 0x00007fbe44f16af6 llvm::DevirtSCCRepeatedPass::run(llvm::LazyCallGraph::SCC&, llvm::AnalysisManager<llvm::LazyCallGraph::SCC, llvm::LazyCallGraph&>&, llvm::LazyCallGraph&, llvm::CGSCCUpdateResult&) (/usr/lib/llvm/22/bin/../lib64/libLLVM.so.22.1+libcxx+0x6b16af6)
#21 0x00007fbe44f15b0d llvm::ModuleToPostOrderCGSCCPassAdaptor::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) (/usr/lib/llvm/22/bin/../lib64/libLLVM.so.22.1+libcxx+0x6b15b0d)
#22 0x00007fbe431e9025 llvm::PassManager<llvm::Module, llvm::AnalysisManager<llvm::Module>>::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) (/usr/lib/llvm/22/bin/../lib64/libLLVM.so.22.1+libcxx+0x4de9025)
#23 0x00007fbe44a478ae llvm::ModuleInlinerWrapperPass::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) (/usr/lib/llvm/22/bin/../lib64/libLLVM.so.22.1+libcxx+0x66478ae)
#24 0x00007fbe431e9025 llvm::PassManager<llvm::Module, llvm::AnalysisManager<llvm::Module>>::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) (/usr/lib/llvm/22/bin/../lib64/libLLVM.so.22.1+libcxx+0x4de9025)
#25 0x00007fbe4b0944da (/usr/lib/llvm/22/bin/../lib64/libclang-cpp.so.22.1+libcxx+0x30944da)
#26 0x00007fbe4b08b314 clang::emitBackendOutput(clang::CompilerInstance&, clang::CodeGenOptions&, llvm::StringRef, llvm::Module*, clang::BackendAction, llvm::IntrusiveRefCntPtr<llvm::vfs::FileSystem>, std::__1::unique_ptr<llvm::raw_pwrite_stream, std::__1::default_delete<llvm::raw_pwrite_stream>>, clang::BackendConsumer*) (/usr/lib/llvm/22/bin/../lib64/libclang-cpp.so.22.1+libcxx+0x308b314)
#27 0x00007fbe4b441639 clang::BackendConsumer::HandleTranslationUnit(clang::ASTContext&) (/usr/lib/llvm/22/bin/../lib64/libclang-cpp.so.22.1+libcxx+0x3441639)
#28 0x00007fbe495ece59 clang::ParseAST(clang::Sema&, bool, bool) (/usr/lib/llvm/22/bin/../lib64/libclang-cpp.so.22.1+libcxx+0x15ece59)
#29 0x00007fbe4bdfa37f clang::FrontendAction::Execute() (/usr/lib/llvm/22/bin/../lib64/libclang-cpp.so.22.1+libcxx+0x3dfa37f)
#30 0x00007fbe4bd2f4a0 clang::Co<truncated>Please see the issue for the entire body.
_______________________________________________
llvm-bugs mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs