<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/90697>90697</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[bug] [x86_64] [ubuntu22.04] clang crash when compiling to bpf
</td>
</tr>
<tr>
<th>Labels</th>
<td>
clang
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
kohshi54
</td>
</tr>
</table>
<pre>
Hello. clang crashed with exit code 139 when trying to compile to bpf bytecode.
Stack dump:
0. Program arguments: clang -v -target bpf -I/usr/include/x86_64-linux-gnu -I/usr/src/linux-hwe-6.5-headers-6.5.0-28/include/ -g -c hello.bpf.c
1. <eof> parser at end of file
#0 0x00007b4db023fd01 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/lib/x86_64-linux-gnu/libLLVM-14.so.1+0xe3fd01)
#1 0x00007b4db023da3e llvm::sys::RunSignalHandlers() (/lib/x86_64-linux-gnu/libLLVM-14.so.1+0xe3da3e)
#2 0x00007b4db023f0ab llvm::sys::CleanupOnSignal(unsigned long) (/lib/x86_64-linux-gnu/libLLVM-14.so.1+0xe3f0ab)
#3 0x00007b4db016bdff (/lib/x86_64-linux-gnu/libLLVM-14.so.1+0xd6bdff)
#4 0x00007b4daec42520 (/lib/x86_64-linux-gnu/libc.so.6+0x42520)
#5 0x00007b4db6c257ce clang::ASTContext::getASTRecordLayout(clang::RecordDecl const*) const (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0xe257ce)
#6 0x00007b4db68e5f0c clang::ASTContext::getTypeInfoImpl(clang::Type const*) const (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0xae5f0c)
#7 0x00007b4db68e6d96 clang::ASTContext::getTypeInfo(clang::Type const*) const (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0xae6d96)
#8 0x00007b4db68e5e2e clang::ASTContext::getTypeInfoImpl(clang::Type const*) const (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0xae5e2e)
#9 0x00007b4db68e6d96 clang::ASTContext::getTypeInfo(clang::Type const*) const (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0xae6d96)
#10 0x00007b4db68e6a59 clang::ASTContext::getTypeInfoInChars(clang::QualType) const (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0xae6a59)
#11 0x00007b4db6c30d64 (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0xe30d64)
#12 0x00007b4db6c2d316 (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0xe2d316)
#13 0x00007b4db6c25bd9 clang::ASTContext::getASTRecordLayout(clang::RecordDecl const*) const (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0xe25bd9)
#14 0x00007b4db791bcd3 clang::CodeGen::CodeGenTypes::ComputeRecordLayout(clang::RecordDecl const*, llvm::StructType*) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1b1bcd3)
#15 0x00007b4db7a07472 clang::CodeGen::CodeGenTypes::ConvertRecordDeclType(clang::RecordDecl const*) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1c07472)
#16 0x00007b4db7a06554 clang::CodeGen::CodeGenTypes::ConvertType(clang::QualType) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1c06554)
#17 0x00007b4db7a0646f clang::CodeGen::CodeGenTypes::ConvertTypeForMem(clang::QualType, bool) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1c0646f)
#18 0x00007b4db7a0698c clang::CodeGen::CodeGenTypes::ConvertType(clang::QualType) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1c0698c)
#19 0x00007b4db7a0646f clang::CodeGen::CodeGenTypes::ConvertTypeForMem(clang::QualType, bool) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1c0646f)
#20 0x00007b4db7920390 (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1b20390)
#21 0x00007b4db791cddf (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1b1cddf)
#22 0x00007b4db791bd88 clang::CodeGen::CodeGenTypes::ComputeRecordLayout(clang::RecordDecl const*, llvm::StructType*) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1b1bd88)
#23 0x00007b4db7a07472 clang::CodeGen::CodeGenTypes::ConvertRecordDeclType(clang::RecordDecl const*) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1c07472)
#24 0x00007b4db7a06554 clang::CodeGen::CodeGenTypes::ConvertType(clang::QualType) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1c06554)
#25 0x00007b4db7a0646f clang::CodeGen::CodeGenTypes::ConvertTypeForMem(clang::QualType, bool) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1c0646f)
#26 0x00007b4db79a521c clang::CodeGen::CodeGenModule::EmitExternalVarDeclaration(clang::VarDecl const*) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1ba521c)
#27 0x00007b4db6f1e962 clang::Sema::ActOnEndOfTranslationUnit() (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x111e962)
#28 0x00007b4db68c1c86 clang::Parser::ParseTopLevelDecl(clang::OpaquePtr<clang::DeclGroupRef>&, bool) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0xac1c86)
#29 0x00007b4db68048dd clang::ParseAST(clang::Sema&, bool, bool) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0xa048dd)
#30 0x00007b4db7978b71 clang::CodeGenAction::ExecuteAction() (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1b78b71)
#31 0x00007b4db8314b57 clang::FrontendAction::Execute() (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x2514b57)
#32 0x00007b4db826c3a6 clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x246c3a6)
#33 0x00007b4db838e45b clang::ExecuteCompilerInvocation(clang::CompilerInstance*) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x258e45b)
#34 0x000000000041328b cc1_main(llvm::ArrayRef<char const*>, char const*, void*) (/usr/lib/llvm-14/bin/clang+0x41328b)
#35 0x00000000004114bc (/usr/lib/llvm-14/bin/clang+0x4114bc)
#36 0x00007b4db7eeaed2 (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x20eaed2)
#37 0x00007b4db016bb6d llvm::CrashRecoveryContext::RunSafely(llvm::function_ref<void ()>) (/lib/x86_64-linux-gnu/libLLVM-14.so.1+0xd6bb6d)
#38 0x00007b4db7eea9c0 clang::driver::CC1Command::Execute(llvm::ArrayRef<llvm::Optional<llvm::StringRef> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*, bool*) const (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x20ea9c0)
#39 0x00007b4db7eb5183 clang::driver::Compilation::ExecuteCommand(clang::driver::Command const&, clang::driver::Command const*&) const (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x20b5183)
#40 0x00007b4db7eb540a clang::driver::Compilation::ExecuteJobs(clang::driver::JobList const&, llvm::SmallVectorImpl<std::pair<int, clang::driver::Command const*> >&) const (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x20b540a)
#41 0x00007b4db7ecf507 clang::driver::Driver::ExecuteCompilation(clang::driver::Compilation&, llvm::SmallVectorImpl<std::pair<int, clang::driver::Command const*> >&) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x20cf507)
#42 0x0000000000410f26 main (/usr/lib/llvm-14/bin/clang+0x410f26)
#43 0x00007b4daec29d90 __libc_start_call_main ./csu/../sysdeps/nptl/libc_start_call_main.h:58:16
#44 0x00007b4daec29e40 call_init ./csu/../csu/libc-start.c:128:20
#45 0x00007b4daec29e40 __libc_start_main ./csu/../csu/libc-start.c:379:5
#46 0x000000000040e3b5 _start (/usr/lib/llvm-14/bin/clang+0x40e3b5)
clang: error: clang frontend command failed with exit code 139 (use -v to see invocation)
Ubuntu clang version 14.0.0-1ubuntu1.1
Target: bpf
Thread model: posix
InstalledDir: /usr/bin
clang: note: diagnostic msg: Error generating preprocessed source(s).
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzUms1y2zgSx5-GvqCkAsEPkQcfFNmayVRSycaeXFUg0JS4AwFcAHTkt98CSEcEI1dkOTs71onCR-PXfzQaJEhqTLOVANdR9i7Kbq5oZ3dKX_-ldmbXZOlVpfjj9e8ghJojJqjcIqap2QFH3xq7Q3BoLGKKA4qTEn3bgURWPzZyi6xCTO3bRoC7rNoaVY8WXNN5hG8ivLyzlP2FeLdvo2TZF-F5hMvPWm013SOqt90epDVRshyGnj2gmaV6C9YbnL2PyLozOiLrRjLRcYjI-lDkmzydiUZ2h9lWduNWRrOIrPuq3TeY5fNstgPKQRt3PcczUgTG0GyLZgztvP9VW89ZDxo70ChZgaqj5Ba1VBvQiFoEkiNVo7oR0LdEEUkwwgeMMV5UKa8wSWqOYyTEw945nizNo-kvPutGWi_LvaYMIlIcG2n6baOM1UD3EckjskKNtBEpUeSRRVOd8L2v-PDh68dZnM6NmscReYcP4AkiUh4R4wkipwmcQvzSybtmK6n4nUouQBs__IUUbpCAgkyFwrQ6RbESQGXXfhpYIlJ00ocxR0LJ7eWyYFoFQEkAFOcVr-tLTHPfMzCdjkxTYCnJCD7DNHNGc2_UdwlsZmPcnJFswaBfOr1uy7v7lZIWDrb_vwW7vLv_Akxp_oE-qs5GpBi172tugAnElDQ2Ikunrb8-h9VZmrG29UKkvcgeKqDOA-oCshqzn1DfP7bwXtbq_b4VIbKr-WWw1LMEsIsJbM7L_EzY_ymo4whAi6mqQH4WC3-fqkDCECjfgqouTeIpKM3Kc1WVqx31CXPU_l8dFa7BL0ClWRmgxmEySDDP00sXre8cWCeTVMOTOL84JbjOgfVkmsgq_jOZ_w-JrOKh4uOUXi3KuGI8GVOvFIffQAZ_3OQ_7Wpq33YWXujFarRB3lndMdvH0_K8XfCUa3Hl0QPfgq1lQfEiXZAX-SYfQNujBz3kGXN0oQvMEwYu5BMX8ixLX-7Cj-DjNXwxrYMJaBdT2jSvL6NdK_0R9s8xr1CllHgde5rXAXsxZS8L9s9RuixYQFu-XaUJDlMOwUl51l3kyVXvewfm40lGY5yfc__7TFJxvQPzZJoweVG81YTJiyLwLXnzCZOkbylhkukO9ZaWcbg1lTQj8U8T5kfFOwF90e2-sbcHC1pS8ZVqFxNUU9soGXox1P2KeKk8ZOBF-GxUx1DmQcjfwZ4O92_MfpK3kn-q7zWVRnjUP2Vjzz5OOMkU-yEDpsljEItZETxZfPZHN6Pre9V-gAcQTqdQvE8t_U8Hn62OktWo2DX8Tauu_QJ1lNwOpzOvixHqOQNHJo9IOC04_8GR5d19yOwlHxO9mswPPCZLJnvQoqgW8YngXTIfj328HoB1FoaiV8155ccLgIJdq0jitMoWY6C1ds8Okp8gehULyfxQAUuwxRUkZwnNQ3H8Gal-L42lksFpfZ6Hd3N7MW_qcQLeJNSugDSrxrwD2RH7QbETieYHt16Ta0jmMQLOp72p_6VxQooKMRZv9rSRwcnpUmv66Nfmiu2oPuY-t1ZXKCwjK_SgGh7g9mfHPbQzO3NY68oNs-5d9qdxHiFgzCaMcVqxF9p0XQKb4U4BQIGTS2XFvndgfjE98KxyPrpfWmlqdu6-4wH0Y_AE_qWTd7QG8RhoX3fSh-lGe_2dtD1s6dW_6JiWe6iAupiKUjI8Dlqum4enJL9axSu131PJpwv_ZMgcCz-1zhMqgsI7qxu57TM_GiLK2MH0ZsMOhzju_1TUNGxjfPshFIPGrmBjNW2seaqemKNCuLWm9LG-H3J5TOuvPtZwQVGy4CkgPJ1bQJXFRfKsvH7h0x8S65PmQZaYdHQNnpai37LOa7ockuDr3PZejd1O8dTtFNOXuv2HqszzPv-hqg-NsYHPo9jaUyG-ArNK-xPZZPU9FFrauCjwr4DOl-kpXn6JWimmgVrhoyKwOsOL58huRtfBhnJiJ3lO5b9XrUt18jIEOpHJpoBrkiO3ab1wZ3D9AsNJ-EKJlLzEaLNxaBtjqbYbRoXw-yOaO2PGkc_dpXk0HFoTkbVsrRj8mXaa76JkmRVRsozz46jpdFRIMfJ9GtnY6UD9pbM-89bnzJkjzijBR6PZKaOBK6e8OGk8WZQO-2g7D_XHkFQZ6q2-bAZ8z-8z8BRVCLR2GfrplXU93K4hNsRXTRtx-u15RIrOAJo9IKuQAUDN6OZqGObPqpO2G2w_gDaNkihO53iOZ3HnK-N53Le992_KHUrV1kPRTgPlaK84CFfRKtMc-ip_pyYE8JvG438XwjkeuiiVdfepiDd0K5WxDUN742tunfNoCxLc06fcolZDqxUDY4AjozrtX2ubiJTDVwBX_DrhZVLSK7iOF3GaJWmWJ1e765pwXBd1lfBFmpA0K3lZVllF8rgkOMb8qrkmmKQ4wzFOkhwn8zoDkqaLOsG0rHgBUYphTxsxd5M4V3p71RjTwXWJ83JxJWgFwvjPHggZppVE2c2VvvaTXnVbE6VYNMaaowXbWOG_lai6bZTdoCh716eD4U8_BYTMsS8ZfTHRfxzRfxIxfB9RtfVVp8X1ztrWn0KQdUTW28buumrO1H6Iv6cwbLX6NzAbkbX3wy1X78p_AwAA___HAQsH">