llvm / llvm-project

The LLVM Project is a collection of modular and reusable compiler and toolchain technologies.
http://llvm.org
Other
28.09k stars 11.59k forks source link

clang 18.1.3 crashes when building intel-media-driver 24.2.0 #88931

Closed nekopsykose closed 5 months ago

nekopsykose commented 5 months ago

with something very long like https://img.ayaya.dev/G1rZTjcJRL7v

run script + pp source (remove .txt extensions):
mhw_vdbox_hcp_hwcmd_g11_X-59d4c7.cpp.txt mhw_vdbox_hcp_hwcmd_g11_X-59d4c7.sh.txt

an attempted minimisation with cvise:

$ cat /tmp/repro.ii                                                                     
struct mhw_vdbox_hcp_g9_glk {
  struct HCP_FQM_STATE_CMD {
    int Quantizermatrix[];
    HCP_FQM_STATE_CMD();
  };
};
void memset(void *__attribute__((pass_dynamic_object_size(0))));
mhw_vdbox_hcp_g9_glk::HCP_FQM_STATE_CMD::HCP_FQM_STATE_CMD() {
  memset(Quantizermatrix);
}
$ clang++ /tmp/repro.ii
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: /usr/bin/clang-18 -cc1 -triple x86_64-chimera-linux-musl -emit-obj -mrelax-all -dumpdir a- -disable-free -clear-ast-before-backend -disable-llvm-verifier -discard-value-names -main-file-name repro.ii -mrelocation-model pic -pic-level 2 -pic-is-pie -mframe-pointer=all -ffp-contract=on -fno-rounding-math -mconstructor-aliases -funwind-tables=2 -target-cpu x86-64 -tune-cpu generic -debugger-tuning=gdb -fdebug-compilation-dir=/home/demon/src/cports -fcoverage-compilation-dir=/home/demon/src/cports -resource-dir /usr/lib/clang/18 -fdeprecated-macro -ferror-limit 19 -stack-protector 2 -fgnuc-version=4.2.1 -fskip-odr-check-in-gmf -fcxx-exceptions -fexceptions -fcolor-diagnostics -faddrsig -D__GCC_HAVE_DWARF2_CFI_ASM=1 -o /tmp/repro-c9f84f.o -x c++-cpp-output /tmp/repro.ii
1.  <eof> parser at end of file
2.  /tmp/repro.ii:8:42: LLVM IR generation of declaration 'mhw_vdbox_hcp_g9_glk::HCP_FQM_STATE_CMD::HCP_FQM_STATE_CMD'
3.  /tmp/repro.ii:8:42: Generating code for declaration 'mhw_vdbox_hcp_g9_glk::HCP_FQM_STATE_CMD::HCP_FQM_STATE_CMD'
4.  /tmp/repro.ii:8:62: LLVM IR generation of compound statement ('{}')
clang++: error: unable to execute command: Segmentation fault (core dumped)
clang++: error: clang frontend command failed due to signal (use -v to see invocation)
clang version 18.1.3
Target: x86_64-chimera-linux-musl
Thread model: posix
InstalledDir: /usr/bin
clang++: note: diagnostic msg: Error generating preprocessed source(s) - no preprocessable inputs.

also on debian, has a nice stacktrace:

cq14# clang++-18 /tmp/repro.ii 
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: /usr/lib/llvm-18/bin/clang -cc1 -triple x86_64-pc-linux-gnu -emit-obj -mrelax-all -dumpdir a- -disable-free -clear-ast-before-backend -disable-llvm-verifier -discard-value-names -main-file-name repro.ii -mrelocation-model pic -pic-level 2 -pic-is-pie -mframe-pointer=all -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=/root -fcoverage-compilation-dir=/root -resource-dir /usr/lib/llvm-18/lib/clang/18 -fdeprecated-macro -ferror-limit 19 -fgnuc-version=4.2.1 -fskip-odr-check-in-gmf -fcxx-exceptions -fexceptions -fcolor-diagnostics -faddrsig -D__GCC_HAVE_DWARF2_CFI_ASM=1 -o /tmp/repro-8c15f6.o -x c++-cpp-output /tmp/repro.ii
1.  <eof> parser at end of file
2.  /tmp/repro.ii:8:42: LLVM IR generation of declaration 'mhw_vdbox_hcp_g9_glk::HCP_FQM_STATE_CMD::HCP_FQM_STATE_CMD'
3.  /tmp/repro.ii:8:42: Generating code for declaration 'mhw_vdbox_hcp_g9_glk::HCP_FQM_STATE_CMD::HCP_FQM_STATE_CMD'
4.  /tmp/repro.ii:8:62: LLVM IR generation of compound statement ('{}')
 #0 0x00007fffed5a924a llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/usr/lib/llvm-18/bin/../lib/libLLVM.so.18.1+0xda924a)
 #1 0x00007fffed5a7274 llvm::sys::RunSignalHandlers() (/usr/lib/llvm-18/bin/../lib/libLLVM.so.18.1+0xda7274)
 #2 0x00007fffed5a990b (/usr/lib/llvm-18/bin/../lib/libLLVM.so.18.1+0xda990b)
 #3 0x00007fffec25a510 (/lib/x86_64-linux-gnu/libc.so.6+0x3c510)
 #4 0x00007ffff5c19255 clang::CodeGen::CodeGenFunction::FindFlexibleArrayMemberField(clang::ASTContext&, clang::RecordDecl const*, llvm::StringRef, unsigned long&) (/usr/lib/llvm-18/bin/../lib/libclang-cpp.so.18.1+0x1c19255)
 #5 0x00007ffff5c195eb clang::CodeGen::CodeGenFunction::emitFlexibleArrayMemberSize(clang::Expr const*, unsigned int, llvm::IntegerType*) (/usr/lib/llvm-18/bin/../lib/libclang-cpp.so.18.1+0x1c195eb)
 #6 0x00007ffff5c18d73 clang::CodeGen::CodeGenFunction::emitBuiltinObjectSize(clang::Expr const*, unsigned int, llvm::IntegerType*, llvm::Value*, bool) (/usr/lib/llvm-18/bin/../lib/libclang-cpp.so.18.1+0x1c18d73)
 #7 0x00007ffff5c18bcd clang::CodeGen::CodeGenFunction::evaluateOrEmitBuiltinObjectSize(clang::Expr const*, unsigned int, llvm::IntegerType*, llvm::Value*, bool) (/usr/lib/llvm-18/bin/../lib/libclang-cpp.so.18.1+0x1c18bcd)
 #8 0x00007ffff5d2ba31 clang::CodeGen::CodeGenFunction::EmitCallArgs(clang::CodeGen::CallArgList&, clang::CodeGen::CodeGenFunction::PrototypeWrapper, llvm::iterator_range<clang::Stmt::CastIterator<clang::Expr, clang::Expr const* const, clang::Stmt const* const>>, clang::CodeGen::CodeGenFunction::AbstractCallee, unsigned int, clang::CodeGen::CodeGenFunction::EvaluationOrder) (/usr/lib/llvm-18/bin/../lib/libclang-cpp.so.18.1+0x1d2ba31)
 #9 0x00007ffff5de85e9 clang::CodeGen::CodeGenFunction::EmitCall(clang::QualType, clang::CodeGen::CGCallee const&, clang::CallExpr const*, clang::CodeGen::ReturnValueSlot, llvm::Value*) (/usr/lib/llvm-18/bin/../lib/libclang-cpp.so.18.1+0x1de85e9)
#10 0x00007ffff5de775b clang::CodeGen::CodeGenFunction::EmitCallExpr(clang::CallExpr const*, clang::CodeGen::ReturnValueSlot) (/usr/lib/llvm-18/bin/../lib/libclang-cpp.so.18.1+0x1de775b)
#11 0x00007ffff5e2dff9 (/usr/lib/llvm-18/bin/../lib/libclang-cpp.so.18.1+0x1e2dff9)
#12 0x00007ffff5e1cfa1 clang::CodeGen::CodeGenFunction::EmitScalarExpr(clang::Expr const*, bool) (/usr/lib/llvm-18/bin/../lib/libclang-cpp.so.18.1+0x1e1cfa1)
#13 0x00007ffff5dca55d clang::CodeGen::CodeGenFunction::EmitIgnoredExpr(clang::Expr const*) (/usr/lib/llvm-18/bin/../lib/libclang-cpp.so.18.1+0x1dca55d)
#14 0x00007ffff5f24cc0 clang::CodeGen::CodeGenFunction::EmitStmt(clang::Stmt const*, llvm::ArrayRef<clang::Attr const*>) (/usr/lib/llvm-18/bin/../lib/libclang-cpp.so.18.1+0x1f24cc0)
#15 0x00007ffff5f25541 clang::CodeGen::CodeGenFunction::EmitSimpleStmt(clang::Stmt const*, llvm::ArrayRef<clang::Attr const*>) (/usr/lib/llvm-18/bin/../lib/libclang-cpp.so.18.1+0x1f25541)
#16 0x00007ffff5f24be1 clang::CodeGen::CodeGenFunction::EmitStmt(clang::Stmt const*, llvm::ArrayRef<clang::Attr const*>) (/usr/lib/llvm-18/bin/../lib/libclang-cpp.so.18.1+0x1f24be1)
#17 0x00007ffff5d3ab42 clang::CodeGen::CodeGenFunction::EmitConstructorBody(clang::CodeGen::FunctionArgList&) (/usr/lib/llvm-18/bin/../lib/libclang-cpp.so.18.1+0x1d3ab42)
#18 0x00007ffff5f8aa0f clang::CodeGen::CodeGenFunction::GenerateCode(clang::GlobalDecl, llvm::Function*, clang::CodeGen::CGFunctionInfo const&) (/usr/lib/llvm-18/bin/../lib/libclang-cpp.so.18.1+0x1f8aa0f)
#19 0x00007ffff5d17950 clang::CodeGen::CodeGenModule::codegenCXXStructor(clang::GlobalDecl) (/usr/lib/llvm-18/bin/../lib/libclang-cpp.so.18.1+0x1d17950)
#20 0x00007ffff60298fe (/usr/lib/llvm-18/bin/../lib/libclang-cpp.so.18.1+0x20298fe)
#21 0x00007ffff5fa5718 clang::CodeGen::CodeGenModule::EmitGlobalDefinition(clang::GlobalDecl, llvm::GlobalValue*) (/usr/lib/llvm-18/bin/../lib/libclang-cpp.so.18.1+0x1fa5718)
#22 0x00007ffff5fa9563 clang::CodeGen::CodeGenModule::EmitGlobal(clang::GlobalDecl) (/usr/lib/llvm-18/bin/../lib/libclang-cpp.so.18.1+0x1fa9563)
#23 0x00007ffff6024fc9 (/usr/lib/llvm-18/bin/../lib/libclang-cpp.so.18.1+0x2024fc9)
#24 0x00007ffff60448dc (/usr/lib/llvm-18/bin/../lib/libclang-cpp.so.18.1+0x20448dc)
#25 0x00007ffff5f7ac12 clang::BackendConsumer::HandleTopLevelDecl(clang::DeclGroupRef) (/usr/lib/llvm-18/bin/../lib/libclang-cpp.so.18.1+0x1f7ac12)
#26 0x00007ffff4b8b0ba clang::ParseAST(clang::Sema&, bool, bool) (/usr/lib/llvm-18/bin/../lib/libclang-cpp.so.18.1+0xb8b0ba)
#27 0x00007ffff69ebb89 clang::FrontendAction::Execute() (/usr/lib/llvm-18/bin/../lib/libclang-cpp.so.18.1+0x29ebb89)
#28 0x00007ffff69634e4 clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) (/usr/lib/llvm-18/bin/../lib/libclang-cpp.so.18.1+0x29634e4)
#29 0x00007ffff6a6751e clang::ExecuteCompilerInvocation(clang::CompilerInstance*) (/usr/lib/llvm-18/bin/../lib/libclang-cpp.so.18.1+0x2a6751e)
#30 0x0000555555567576 cc1_main(llvm::ArrayRef<char const*>, char const*, void*) (/usr/lib/llvm-18/bin/clang+0x13576)
#31 0x0000555555564825 (/usr/lib/llvm-18/bin/clang+0x10825)
#32 0x00005555555639d8 clang_main(int, char**, llvm::ToolContext const&) (/usr/lib/llvm-18/bin/clang+0xf9d8)
#33 0x000055555557179a main (/usr/lib/llvm-18/bin/clang+0x1d79a)
#34 0x00007fffec2456ca (/lib/x86_64-linux-gnu/libc.so.6+0x276ca)
#35 0x00007fffec245785 __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x27785)
#36 0x0000555555561181 _start (/usr/lib/llvm-18/bin/clang+0xd181)
clang++-18: error: unable to execute command: Segmentation fault (core dumped)
clang++-18: error: clang frontend command failed due to signal (use -v to see invocation)
Debian clang version 18.1.3 (1)
Target: x86_64-pc-linux-gnu
Thread model: posix
InstalledDir: /usr/bin
clang++-18: note: diagnostic msg: Error generating preprocessed source(s) - no preprocessable inputs.

clang 17 works fine

llvmbot commented 5 months ago

@llvm/issue-subscribers-clang-codegen

Author: alice (nekopsykose)

with something very long like https://img.ayaya.dev/G1rZTjcJRL7v run script + pp source (remove .txt extensions): [mhw_vdbox_hcp_hwcmd_g11_X-59d4c7.cpp.txt](https://github.com/llvm/llvm-project/files/15000072/mhw_vdbox_hcp_hwcmd_g11_X-59d4c7.cpp.txt) [mhw_vdbox_hcp_hwcmd_g11_X-59d4c7.sh.txt](https://github.com/llvm/llvm-project/files/15000073/mhw_vdbox_hcp_hwcmd_g11_X-59d4c7.sh.txt) an attempted minimisation with cvise: ``` $ cat /tmp/repro.ii struct mhw_vdbox_hcp_g9_glk { struct HCP_FQM_STATE_CMD { int Quantizermatrix[]; HCP_FQM_STATE_CMD(); }; }; void memset(void *__attribute__((pass_dynamic_object_size(0)))); mhw_vdbox_hcp_g9_glk::HCP_FQM_STATE_CMD::HCP_FQM_STATE_CMD() { memset(Quantizermatrix); } $ clang++ /tmp/repro.ii 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: /usr/bin/clang-18 -cc1 -triple x86_64-chimera-linux-musl -emit-obj -mrelax-all -dumpdir a- -disable-free -clear-ast-before-backend -disable-llvm-verifier -discard-value-names -main-file-name repro.ii -mrelocation-model pic -pic-level 2 -pic-is-pie -mframe-pointer=all -ffp-contract=on -fno-rounding-math -mconstructor-aliases -funwind-tables=2 -target-cpu x86-64 -tune-cpu generic -debugger-tuning=gdb -fdebug-compilation-dir=/home/demon/src/cports -fcoverage-compilation-dir=/home/demon/src/cports -resource-dir /usr/lib/clang/18 -fdeprecated-macro -ferror-limit 19 -stack-protector 2 -fgnuc-version=4.2.1 -fskip-odr-check-in-gmf -fcxx-exceptions -fexceptions -fcolor-diagnostics -faddrsig -D__GCC_HAVE_DWARF2_CFI_ASM=1 -o /tmp/repro-c9f84f.o -x c++-cpp-output /tmp/repro.ii 1. <eof> parser at end of file 2. /tmp/repro.ii:8:42: LLVM IR generation of declaration 'mhw_vdbox_hcp_g9_glk::HCP_FQM_STATE_CMD::HCP_FQM_STATE_CMD' 3. /tmp/repro.ii:8:42: Generating code for declaration 'mhw_vdbox_hcp_g9_glk::HCP_FQM_STATE_CMD::HCP_FQM_STATE_CMD' 4. /tmp/repro.ii:8:62: LLVM IR generation of compound statement ('{}') clang++: error: unable to execute command: Segmentation fault (core dumped) clang++: error: clang frontend command failed due to signal (use -v to see invocation) clang version 18.1.3 Target: x86_64-chimera-linux-musl Thread model: posix InstalledDir: /usr/bin clang++: note: diagnostic msg: Error generating preprocessed source(s) - no preprocessable inputs. ``` also on debian, has a nice stacktrace: ``` cq14# clang++-18 /tmp/repro.ii 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: /usr/lib/llvm-18/bin/clang -cc1 -triple x86_64-pc-linux-gnu -emit-obj -mrelax-all -dumpdir a- -disable-free -clear-ast-before-backend -disable-llvm-verifier -discard-value-names -main-file-name repro.ii -mrelocation-model pic -pic-level 2 -pic-is-pie -mframe-pointer=all -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=/root -fcoverage-compilation-dir=/root -resource-dir /usr/lib/llvm-18/lib/clang/18 -fdeprecated-macro -ferror-limit 19 -fgnuc-version=4.2.1 -fskip-odr-check-in-gmf -fcxx-exceptions -fexceptions -fcolor-diagnostics -faddrsig -D__GCC_HAVE_DWARF2_CFI_ASM=1 -o /tmp/repro-8c15f6.o -x c++-cpp-output /tmp/repro.ii 1. <eof> parser at end of file 2. /tmp/repro.ii:8:42: LLVM IR generation of declaration 'mhw_vdbox_hcp_g9_glk::HCP_FQM_STATE_CMD::HCP_FQM_STATE_CMD' 3. /tmp/repro.ii:8:42: Generating code for declaration 'mhw_vdbox_hcp_g9_glk::HCP_FQM_STATE_CMD::HCP_FQM_STATE_CMD' 4. /tmp/repro.ii:8:62: LLVM IR generation of compound statement ('{}') #0 0x00007fffed5a924a llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/usr/lib/llvm-18/bin/../lib/libLLVM.so.18.1+0xda924a) #1 0x00007fffed5a7274 llvm::sys::RunSignalHandlers() (/usr/lib/llvm-18/bin/../lib/libLLVM.so.18.1+0xda7274) #2 0x00007fffed5a990b (/usr/lib/llvm-18/bin/../lib/libLLVM.so.18.1+0xda990b) #3 0x00007fffec25a510 (/lib/x86_64-linux-gnu/libc.so.6+0x3c510) #4 0x00007ffff5c19255 clang::CodeGen::CodeGenFunction::FindFlexibleArrayMemberField(clang::ASTContext&, clang::RecordDecl const*, llvm::StringRef, unsigned long&) (/usr/lib/llvm-18/bin/../lib/libclang-cpp.so.18.1+0x1c19255) #5 0x00007ffff5c195eb clang::CodeGen::CodeGenFunction::emitFlexibleArrayMemberSize(clang::Expr const*, unsigned int, llvm::IntegerType*) (/usr/lib/llvm-18/bin/../lib/libclang-cpp.so.18.1+0x1c195eb) #6 0x00007ffff5c18d73 clang::CodeGen::CodeGenFunction::emitBuiltinObjectSize(clang::Expr const*, unsigned int, llvm::IntegerType*, llvm::Value*, bool) (/usr/lib/llvm-18/bin/../lib/libclang-cpp.so.18.1+0x1c18d73) #7 0x00007ffff5c18bcd clang::CodeGen::CodeGenFunction::evaluateOrEmitBuiltinObjectSize(clang::Expr const*, unsigned int, llvm::IntegerType*, llvm::Value*, bool) (/usr/lib/llvm-18/bin/../lib/libclang-cpp.so.18.1+0x1c18bcd) #8 0x00007ffff5d2ba31 clang::CodeGen::CodeGenFunction::EmitCallArgs(clang::CodeGen::CallArgList&, clang::CodeGen::CodeGenFunction::PrototypeWrapper, llvm::iterator_range<clang::Stmt::CastIterator<clang::Expr, clang::Expr const* const, clang::Stmt const* const>>, clang::CodeGen::CodeGenFunction::AbstractCallee, unsigned int, clang::CodeGen::CodeGenFunction::EvaluationOrder) (/usr/lib/llvm-18/bin/../lib/libclang-cpp.so.18.1+0x1d2ba31) #9 0x00007ffff5de85e9 clang::CodeGen::CodeGenFunction::EmitCall(clang::QualType, clang::CodeGen::CGCallee const&, clang::CallExpr const*, clang::CodeGen::ReturnValueSlot, llvm::Value*) (/usr/lib/llvm-18/bin/../lib/libclang-cpp.so.18.1+0x1de85e9) #10 0x00007ffff5de775b clang::CodeGen::CodeGenFunction::EmitCallExpr(clang::CallExpr const*, clang::CodeGen::ReturnValueSlot) (/usr/lib/llvm-18/bin/../lib/libclang-cpp.so.18.1+0x1de775b) #11 0x00007ffff5e2dff9 (/usr/lib/llvm-18/bin/../lib/libclang-cpp.so.18.1+0x1e2dff9) #12 0x00007ffff5e1cfa1 clang::CodeGen::CodeGenFunction::EmitScalarExpr(clang::Expr const*, bool) (/usr/lib/llvm-18/bin/../lib/libclang-cpp.so.18.1+0x1e1cfa1) #13 0x00007ffff5dca55d clang::CodeGen::CodeGenFunction::EmitIgnoredExpr(clang::Expr const*) (/usr/lib/llvm-18/bin/../lib/libclang-cpp.so.18.1+0x1dca55d) #14 0x00007ffff5f24cc0 clang::CodeGen::CodeGenFunction::EmitStmt(clang::Stmt const*, llvm::ArrayRef<clang::Attr const*>) (/usr/lib/llvm-18/bin/../lib/libclang-cpp.so.18.1+0x1f24cc0) #15 0x00007ffff5f25541 clang::CodeGen::CodeGenFunction::EmitSimpleStmt(clang::Stmt const*, llvm::ArrayRef<clang::Attr const*>) (/usr/lib/llvm-18/bin/../lib/libclang-cpp.so.18.1+0x1f25541) #16 0x00007ffff5f24be1 clang::CodeGen::CodeGenFunction::EmitStmt(clang::Stmt const*, llvm::ArrayRef<clang::Attr const*>) (/usr/lib/llvm-18/bin/../lib/libclang-cpp.so.18.1+0x1f24be1) #17 0x00007ffff5d3ab42 clang::CodeGen::CodeGenFunction::EmitConstructorBody(clang::CodeGen::FunctionArgList&) (/usr/lib/llvm-18/bin/../lib/libclang-cpp.so.18.1+0x1d3ab42) #18 0x00007ffff5f8aa0f clang::CodeGen::CodeGenFunction::GenerateCode(clang::GlobalDecl, llvm::Function*, clang::CodeGen::CGFunctionInfo const&) (/usr/lib/llvm-18/bin/../lib/libclang-cpp.so.18.1+0x1f8aa0f) #19 0x00007ffff5d17950 clang::CodeGen::CodeGenModule::codegenCXXStructor(clang::GlobalDecl) (/usr/lib/llvm-18/bin/../lib/libclang-cpp.so.18.1+0x1d17950) #20 0x00007ffff60298fe (/usr/lib/llvm-18/bin/../lib/libclang-cpp.so.18.1+0x20298fe) #21 0x00007ffff5fa5718 clang::CodeGen::CodeGenModule::EmitGlobalDefinition(clang::GlobalDecl, llvm::GlobalValue*) (/usr/lib/llvm-18/bin/../lib/libclang-cpp.so.18.1+0x1fa5718) #22 0x00007ffff5fa9563 clang::CodeGen::CodeGenModule::EmitGlobal(clang::GlobalDecl) (/usr/lib/llvm-18/bin/../lib/libclang-cpp.so.18.1+0x1fa9563) #23 0x00007ffff6024fc9 (/usr/lib/llvm-18/bin/../lib/libclang-cpp.so.18.1+0x2024fc9) #24 0x00007ffff60448dc (/usr/lib/llvm-18/bin/../lib/libclang-cpp.so.18.1+0x20448dc) #25 0x00007ffff5f7ac12 clang::BackendConsumer::HandleTopLevelDecl(clang::DeclGroupRef) (/usr/lib/llvm-18/bin/../lib/libclang-cpp.so.18.1+0x1f7ac12) #26 0x00007ffff4b8b0ba clang::ParseAST(clang::Sema&, bool, bool) (/usr/lib/llvm-18/bin/../lib/libclang-cpp.so.18.1+0xb8b0ba) #27 0x00007ffff69ebb89 clang::FrontendAction::Execute() (/usr/lib/llvm-18/bin/../lib/libclang-cpp.so.18.1+0x29ebb89) #28 0x00007ffff69634e4 clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) (/usr/lib/llvm-18/bin/../lib/libclang-cpp.so.18.1+0x29634e4) #29 0x00007ffff6a6751e clang::ExecuteCompilerInvocation(clang::CompilerInstance*) (/usr/lib/llvm-18/bin/../lib/libclang-cpp.so.18.1+0x2a6751e) #30 0x0000555555567576 cc1_main(llvm::ArrayRef<char const*>, char const*, void*) (/usr/lib/llvm-18/bin/clang+0x13576) #31 0x0000555555564825 (/usr/lib/llvm-18/bin/clang+0x10825) #32 0x00005555555639d8 clang_main(int, char**, llvm::ToolContext const&) (/usr/lib/llvm-18/bin/clang+0xf9d8) #33 0x000055555557179a main (/usr/lib/llvm-18/bin/clang+0x1d79a) #34 0x00007fffec2456ca (/lib/x86_64-linux-gnu/libc.so.6+0x276ca) #35 0x00007fffec245785 __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x27785) #36 0x0000555555561181 _start (/usr/lib/llvm-18/bin/clang+0xd181) clang++-18: error: unable to execute command: Segmentation fault (core dumped) clang++-18: error: clang frontend command failed due to signal (use -v to see invocation) Debian clang version 18.1.3 (1) Target: x86_64-pc-linux-gnu Thread model: posix InstalledDir: /usr/bin clang++-18: note: diagnostic msg: Error generating preprocessed source(s) - no preprocessable inputs. ``` clang 17 works fine
DimitryAndric commented 5 months ago

This regressed with llvmorg-18-init-17371-g00b6d032a22 ("[Clang] Implement the 'counted_by' attribute (#76348)") by @bwendling, CC @nickdesaulniers @kees @rapidsna .

DimitryAndric commented 5 months ago

Note that it is an assertion:

Assertion failed: (Begin + idx < End), function operator[], file /home/dim/src/llvm/llvm-project/clang/include/clang/AST/ASTVector.h, line 116.
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: /home/dim/ins/llvmorg-18-init-17371-g00b6d032a22/bin/clang -cc1 -triple x86_64-chimera-linux-musl -emit-llvm-bc -flto=thin -flto-unit -disable-free -clear-ast-before-backend -disable-llvm-verifier -discard-value-names -main-file-name mhw_vdbox_hcp_hwcmd_g11_X.cpp -mrelocation-model pic -pic-level 2 -mframe-pointer=all -relaxed-aliasing -ffp-contract=on -fno-rounding-math -mconstructor-aliases -funwind-tables=2 -target-cpu x86-64 -tune-cpu generic -debug-info-kind=constructor -dwarf-version=4 -debugger-tuning=gdb -fdebug-compilation-dir=/builddir/intel-media-driver-24.2.0/build -fdebug-prefix-map=/builddir/intel-media-driver-24.2.0=. -ffunction-sections -fdata-sections -fcoverage-compilation-dir=/builddir/intel-media-driver-24.2.0/build -sys-header-deps -D CLASS_TRACE=0 -D ENABLE_KERNELS -D HEVC_FEI_ENABLE_CMRT -D IGFX_ARL_SUPPORTED -D IGFX_DG2_SUPPORTED -D IGFX_GEN11_ICLLP_SUPPORTED -D IGFX_GEN11_JSL_SUPPORTED -D IGFX_GEN11_SUPPORTED -D IGFX_GEN12_ADLN_SUPPORTED -D IGFX_GEN12_ADLP_SUPPORTED -D IGFX_GEN12_ADLS_SUPPORTED -D IGFX_GEN12_DG1_SUPPORTED -D IGFX_GEN12_RKL_SUPPORTED -D IGFX_GEN12_SUPPORTED -D IGFX_GEN12_TGLLP_CMFCPATCH_SUPPORTED -D IGFX_GEN12_TGLLP_CMFC_SUPPORTED -D IGFX_GEN12_TGLLP_SUPPORTED -D IGFX_GEN12_TGLLP_SWSB_SUPPORTED -D IGFX_GEN8_BDW_SUPPORTED -D IGFX_GEN8_SUPPORTED -D IGFX_GEN9_BXT_SUPPORTED -D IGFX_GEN9_CFL_SUPPORTED -D IGFX_GEN9_CML_SUPPORTED -D IGFX_GEN9_CMPV_SUPPORTED -D IGFX_GEN9_GLK_SUPPORTED -D IGFX_GEN9_KBL_SUPPORTED -D IGFX_GEN9_SKL_SUPPORTED -D IGFX_GEN9_SUPPORTED -D IGFX_MTL_SUPPORTED -D IGFX_XEHP_SDV_CMFCPATCH_SUPPORTED -D IGFX_XEHP_SDV_SUPPORTED -D IGFX_XE_HPG_CMFCPATCH_SUPPORTED -D IGFX_XE_HPG_SUPPORTED -D MEDIA_VERSION=\"24.2.0\" -D MEDIA_VERSION_DETAILS=\"\" -D VEBOX_AUTO_DENOISE_SUPPORTED=1 -D X11_FOUND -D _AV1_DECODE_SUPPORTED -D _AV1_ENCODE_VDENC_SUPPORTED -D _AVC_DECODE_SUPPORTED -D _AVC_ENCODE_VDENC_SUPPORTED -D _AVC_ENCODE_VME_SUPPORTED -D _COMMON_ENCODE_SUPPORTED -D _DECODE_PROCESSING_SUPPORTED -D _HEVC_DECODE_SUPPORTED -D _HEVC_ENCODE_VDENC_SUPPORTED -D _HEVC_ENCODE_VME_SUPPORTED -D _JPEG_DECODE_SUPPORTED -D _JPEG_ENCODE_SUPPORTED -D _MANUAL_SOFTLET_ -D _MMC_SUPPORTED -D _MPEG2_DECODE_SUPPORTED -D _MPEG2_ENCODE_VME_SUPPORTED -D _RELEASE -D _VC1_DECODE_SUPPORTED -D _VP8_DECODE_SUPPORTED -D _VP8_ENCODE_SUPPORTED -D _VP9_DECODE_SUPPORTED -D _VP9_ENCODE_VDENC_SUPPORTED -D __STDC_CONSTANT_MACROS -D __STDC_LIMIT_MACROS -D __VPHAL_SFC_SUPPORTED=1 -D NDEBUG -D LINUX=1 -D LINUX -D NO_RTTI -D NO_EXCEPTION_HANDLING -D INTEL_NOT_PUBLIC -D _AMD64_ -D __CT__ -D __linux__ -fmacro-prefix-map=/builddir/intel-media-driver-24.2.0=. -fcoverage-prefix-map=/builddir/intel-media-driver-24.2.0=. -O2 -Wformat -Werror=format-security -Wreorder -Wsign-promo -Wnon-virtual-dtor -Wno-invalid-offsetof -Wall -Winit-self -Wpointer-arith -Wno-unused -Wno-unknown-pragmas -Wno-comments -Wno-sign-compare -Wno-attributes -Wno-narrowing -Wno-overflow -Wno-parentheses -Wno-delete-incomplete -Werror=address -Werror=format-security -Werror=non-virtual-dtor -Werror=return-type -Wno-deprecated -Wno-missing-braces -Wno-overloaded-virtual -Wbitfield-constant-conversion -Wno-extern-c-compat -Wno-inconsistent-missing-override -Wno-ignored-optimization-argument -std=c++14 -ferror-limit 19 -fvisibility=hidden -fvisibility-inlines-hidden -fsanitize=integer-divide-by-zero,signed-integer-overflow -fsanitize-trap=integer-divide-by-zero,signed-integer-overflow -fno-sanitize-memory-param-retval -fno-sanitize-address-use-odr-indicator -stack-protector 2 -fstack-clash-protection -ftrivial-auto-var-init=zero -fno-use-cxa-atexit -fgnuc-version=4.2.1 -finline-functions -fcxx-exceptions -fexceptions -fcolor-diagnostics -vectorize-loops -vectorize-slp -faddrsig -D__GCC_HAVE_DWARF2_CFI_ASM=1 -x c++ mhw_vdbox_hcp_hwcmd_g11_X-59d4c7.cpp
1.      /builddir/intel-media-driver-24.2.0/media_driver/agnostic/gen11/hw/vdbox/mhw_vdbox_hcp_hwcmd_g11_X.cpp:165:1: current parser token 'mhw_vdbox_hcp_g11_X'
2.      /builddir/intel-media-driver-24.2.0/media_driver/agnostic/gen11/hw/vdbox/mhw_vdbox_hcp_hwcmd_g11_X.cpp:147:40: LLVM IR generation of declaration 'mhw_vdbox_hcp_g11_X::HCP_QM_STATE_CMD::HCP_QM_STATE_CMD'
3.      /builddir/intel-media-driver-24.2.0/media_driver/agnostic/gen11/hw/vdbox/mhw_vdbox_hcp_hwcmd_g11_X.cpp:147:40: Generating code for declaration 'mhw_vdbox_hcp_g11_X::HCP_QM_STATE_CMD::HCP_QM_STATE_CMD'
4.      /builddir/intel-media-driver-24.2.0/media_driver/agnostic/gen11/hw/vdbox/mhw_vdbox_hcp_hwcmd_g11_X.cpp:148:1: LLVM IR generation of compound statement ('{}')
 #0 0x0000000003ff98f8 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/home/dim/ins/llvmorg-18-init-17371-g00b6d032a22/bin/clang+0x3ff98f8)
 #1 0x0000000003ff76b9 llvm::sys::RunSignalHandlers() (/home/dim/ins/llvmorg-18-init-17371-g00b6d032a22/bin/clang+0x3ff76b9)
 #2 0x0000000003ffa0be SignalHandler(int) Signals.cpp:0:0
 #3 0x0000000828d8c4af handle_signal /usr/src/lib/libthr/thread/thr_sig.c:0:3
 #4 0x0000000828d8ba6b thr_sighandler /usr/src/lib/libthr/thread/thr_sig.c:245:1
 #5 0x00000008280692d3 ([vdso]+0x2d3)
 #6 0x000000082fe48a0a __sys_thr_kill /usr/obj/usr/src/lib/libc/thr_kill.S:4:0
 #7 0x000000082fdc21e4 _raise /usr/src/lib/libc/gen/raise.c:0:10
 #8 0x000000082fe72bc9 abort /usr/src/lib/libc/stdlib/abort.c:71:17
 #9 0x000000082fda5551 (/lib/libc.so.7+0x93551)
#10 0x0000000004594a0f (/home/dim/ins/llvmorg-18-init-17371-g00b6d032a22/bin/clang+0x4594a0f)
#11 0x0000000004594c5b clang::CodeGen::CodeGenFunction::emitFlexibleArrayMemberSize(clang::Expr const*, unsigned int, llvm::IntegerType*) (/home/dim/ins/llvmorg-18-init-17371-g00b6d032a22/bin/clang+0x4594c5b)
#12 0x00000000045942cf clang::CodeGen::CodeGenFunction::emitBuiltinObjectSize(clang::Expr const*, unsigned int, llvm::IntegerType*, llvm::Value*, bool) (/home/dim/ins/llvmorg-18-init-17371-g00b6d032a22/bin/clang+0x45942cf)
#13 0x00000000045940f1 clang::CodeGen::CodeGenFunction::evaluateOrEmitBuiltinObjectSize(clang::Expr const*, unsigned int, llvm::IntegerType*, llvm::Value*, bool) (/home/dim/ins/llvmorg-18-init-17371-g00b6d032a22/bin/clang+0x45940f1)
#14 0x000000000426d17d clang::CodeGen::CodeGenFunction::EmitCallArgs(clang::CodeGen::CallArgList&, clang::CodeGen::CodeGenFunction::PrototypeWrapper, llvm::iterator_range<clang::Stmt::CastIterator<clang::Expr, clang::Expr const* const, clang::Stmt const* const>>, clang::CodeGen::CodeGenFunction::AbstractCallee, unsigned int, clang::CodeGen::CodeGenFunction::EvaluationOrder) (/home/dim/ins/llvmorg-18-init-17371-g00b6d032a22/bin/clang+0x426d17d)
#15 0x0000000004344d57 clang::CodeGen::CodeGenFunction::EmitCall(clang::QualType, clang::CodeGen::CGCallee const&, clang::CallExpr const*, clang::CodeGen::ReturnValueSlot, llvm::Value*) (/home/dim/ins/llvmorg-18-init-17371-g00b6d032a22/bin/clang+0x4344d57)
#16 0x0000000004343b7e clang::CodeGen::CodeGenFunction::EmitCallExpr(clang::CallExpr const*, clang::CodeGen::ReturnValueSlot) (/home/dim/ins/llvmorg-18-init-17371-g00b6d032a22/bin/clang+0x4343b7e)
#17 0x000000000435b3c7 (anonymous namespace)::ScalarExprEmitter::VisitCallExpr(clang::CallExpr const*) CGExprScalar.cpp:0:0
#18 0x00000000043485fb clang::CodeGen::CodeGenFunction::EmitScalarExpr(clang::Expr const*, bool) (/home/dim/ins/llvmorg-18-init-17371-g00b6d032a22/bin/clang+0x43485fb)
#19 0x0000000004321c5b clang::CodeGen::CodeGenFunction::EmitAnyExpr(clang::Expr const*, clang::CodeGen::AggValueSlot, bool) (/home/dim/ins/llvmorg-18-init-17371-g00b6d032a22/bin/clang+0x4321c5b)
#20 0x0000000004321bd8 clang::CodeGen::CodeGenFunction::EmitIgnoredExpr(clang::Expr const*) (/home/dim/ins/llvmorg-18-init-17371-g00b6d032a22/bin/clang+0x4321bd8)
#21 0x00000000043fc515 clang::CodeGen::CodeGenFunction::EmitStmt(clang::Stmt const*, llvm::ArrayRef<clang::Attr const*>) (/home/dim/ins/llvmorg-18-init-17371-g00b6d032a22/bin/clang+0x43fc515)
#22 0x00000000043fcf51 clang::CodeGen::CodeGenFunction::EmitSimpleStmt(clang::Stmt const*, llvm::ArrayRef<clang::Attr const*>) (/home/dim/ins/llvmorg-18-init-17371-g00b6d032a22/bin/clang+0x43fcf51)
#23 0x00000000043fc42e clang::CodeGen::CodeGenFunction::EmitStmt(clang::Stmt const*, llvm::ArrayRef<clang::Attr const*>) (/home/dim/ins/llvmorg-18-init-17371-g00b6d032a22/bin/clang+0x43fc42e)
#24 0x000000000448210c clang::CodeGen::CodeGenFunction::EmitConstructorBody(clang::CodeGen::FunctionArgList&) (/home/dim/ins/llvmorg-18-init-17371-g00b6d032a22/bin/clang+0x448210c)
#25 0x000000000430fa6b clang::CodeGen::CodeGenFunction::GenerateCode(clang::GlobalDecl, llvm::Function*, clang::CodeGen::CGFunctionInfo const&) (/home/dim/ins/llvmorg-18-init-17371-g00b6d032a22/bin/clang+0x430fa6b)
#26 0x00000000044f8059 clang::CodeGen::CodeGenModule::codegenCXXStructor(clang::GlobalDecl) (/home/dim/ins/llvmorg-18-init-17371-g00b6d032a22/bin/clang+0x44f8059)
#27 0x000000000424ce54 (anonymous namespace)::ItaniumCXXABI::emitCXXStructor(clang::GlobalDecl) ItaniumCXXABI.cpp:0:0
#28 0x00000000041f1f8f clang::CodeGen::CodeGenModule::EmitGlobalDefinition(clang::GlobalDecl, llvm::GlobalValue*) (/home/dim/ins/llvmorg-18-init-17371-g00b6d032a22/bin/clang+0x41f1f8f)
#29 0x00000000041f6ad6 clang::CodeGen::CodeGenModule::EmitGlobal(clang::GlobalDecl) (/home/dim/ins/llvmorg-18-init-17371-g00b6d032a22/bin/clang+0x41f6ad6)
#30 0x0000000004247cc4 (anonymous namespace)::ItaniumCXXABI::EmitCXXConstructors(clang::CXXConstructorDecl const*) ItaniumCXXABI.cpp:0:0
#31 0x000000000479096c (anonymous namespace)::CodeGeneratorImpl::HandleTopLevelDecl(clang::DeclGroupRef) ModuleBuilder.cpp:0:0
#32 0x0000000004786d45 clang::BackendConsumer::HandleTopLevelDecl(clang::DeclGroupRef) (/home/dim/ins/llvmorg-18-init-17371-g00b6d032a22/bin/clang+0x4786d45)
#33 0x0000000005a864e9 clang::ParseAST(clang::Sema&, bool, bool) (/home/dim/ins/llvmorg-18-init-17371-g00b6d032a22/bin/clang+0x5a864e9)
#34 0x0000000004b3d823 clang::FrontendAction::Execute() (/home/dim/ins/llvmorg-18-init-17371-g00b6d032a22/bin/clang+0x4b3d823)
#35 0x0000000004ac4a1d clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) (/home/dim/ins/llvmorg-18-init-17371-g00b6d032a22/bin/clang+0x4ac4a1d)
#36 0x0000000004c1426e clang::ExecuteCompilerInvocation(clang::CompilerInstance*) (/home/dim/ins/llvmorg-18-init-17371-g00b6d032a22/bin/clang+0x4c1426e)
#37 0x00000000024dccd0 cc1_main(llvm::ArrayRef<char const*>, char const*, void*) (/home/dim/ins/llvmorg-18-init-17371-g00b6d032a22/bin/clang+0x24dccd0)
#38 0x00000000024d9e95 ExecuteCC1Tool(llvm::SmallVectorImpl<char const*>&, llvm::ToolContext const&) driver.cpp:0:0
#39 0x00000000024d8ef7 clang_main(int, char**, llvm::ToolContext const&) (/home/dim/ins/llvmorg-18-init-17371-g00b6d032a22/bin/clang+0x24d8ef7)
Abort trap

so I assume this is some array or vector that is shrunk while references are still pointing to it?

bwendling commented 5 months ago

/cherry-pick c32712d

llvmbot commented 5 months ago

/cherry-pick c32712d

Error: Command failed due to missing milestone.

bwendling commented 5 months ago

/cherry-pick c32712d 18.1.5

llvmbot commented 5 months ago

/cherry-pick c32712d 18.1.5

Error: Command failed due to missing milestone.

nickdesaulniers commented 5 months ago

@bwendling the bot is trying to warn you that you need to set a milestone. To do so, in the GitHub UI on this page click the gear icon next to "Milestone" (Ctrl+f) then select the 18 release. cc @tru . Sorry if you already pushed to the release/18.x branch.

bwendling commented 5 months ago

Ah! I wasn't aware...

bwendling commented 5 months ago

/cherry-pick c32712d1763d74329b42c1cd68a24d4c0075b596

llvmbot commented 5 months ago

/pull-request llvm/llvm-project#89456