<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/224982>224982</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
Crash compiling Ceres+Eigen math code on Arch Linux
</td>
</tr>
<tr>
<th>Labels</th>
<td>
new issue
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
Beyley
</td>
</tr>
</table>
<pre>
```
0. Program arguments: /usr/bin/clang++ -DCJSON_HIDE_SYMBOLS -DGFLAGS_IS_A_DLL=0 -DGLOG_USE_GFLAGS -DGLOG_USE_GLOG_EXPORT -D_GNU_SOURCE -I/home/beyley/Projects/PROGRAMMING/C/monado/src/xrt/include -I/home/beyley/Projects/PROGRAMMING/C/monado/build/src/xrt/include -I/home/beyley/Projects/PROGRAMMING/C/monado/src/xrt/tracking -I/home/beyley/Projects/PROGRAMMING/C/monado/build/src/xrt/tracking -I/home/beyley/Projects/PROGRAMMING/C/monado/src/xrt/auxiliary -I/home/beyley/Projects/PROGRAMMING/C/monado/build/src/xrt/auxiliary -I/home/beyley/Projects/PROGRAMMING/C/monado/src/external/metrics -I/home/beyley/Projects/PROGRAMMING/C/monado/src/external/nanopb -isystem /usr/include/eigen3 -isystem /home/beyley/Projects/PROGRAMMING/C/monado/src/external/bcdec -isystem /home/beyley/Projects/PROGRAMMING/C/monado/src/external/cjson -isystem /usr/include/opencv5 -g -march=native -O3 -fno-omit-frame-pointer -Wno-c2y-extensions -pedantic -Wall -Wextra -Wno-unused-parameter -msse2 -mfpmath=sse -O2 -g -DNDEBUG -std=gnu++20 -fPIC -fcolor-diagnostics -O3 -MD -MT src/xrt/tracking/constellation/CMakeFiles/constellation.dir/optimizer/internal_math.cpp.o -MF src/xrt/tracking/constellation/CMakeFiles/constellation.dir/optimizer/internal_math.cpp.o.d -o src/xrt/tracking/constellation/CMakeFiles/constellation.dir/optimizer/internal_math.cpp.o -c /home/beyley/Projects/PROGRAMMING/C/monado/src/xrt/tracking/constellation/optimizer/internal_math.cpp
1. <unknown> parser at unknown location
#0 0x00007f94a47c3d8b llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/usr/lib/libLLVM.so.22.1+0x9c3d8b)
#1 0x00007f94a47c1687 llvm::sys::CleanupOnSignal(unsigned long) (/usr/lib/libLLVM.so.22.1+0x9c1687)
#2 0x00007f94a4659e4f (/usr/lib/libLLVM.so.22.1+0x859e4f)
#3 0x00007f94a363e6f0 (/usr/lib/libc.so.6+0x3e6f0)
#4 0x00007f94af205aa2 clang::Lexer::getAndAdvanceChar(char const*&, clang::Token&) /usr/src/debug/clang/llvm-project-22.1.8.src/clang/include/clang/Lex/Lexer.h:688:35
#5 0x00007f94af205aa2 clang::Lexer::LexStringLiteral(clang::Token&, char const*, clang::tok::TokenKind) /usr/src/debug/clang/llvm-project-22.1.8.src/clang/lib/Lex/Lexer.cpp:2250:26
#6 0x00007f94af2078eb clang::Lexer::LexTokenInternal(clang::Token&, bool) /usr/src/debug/clang/llvm-project-22.1.8.src/clang/lib/Lex/Lexer.cpp:4051:66
#7 0x00007f94af2c743c clang::Preprocessor::Lex(clang::Token&) /usr/src/debug/clang/llvm-project-22.1.8.src/clang/lib/Lex/Preprocessor.cpp:896:10
#8 0x00007f94af2e65a9 clang::Parser::ConsumeToken() /usr/src/debug/clang/llvm-project-22.1.8.src/clang/include/clang/Parse/Parser.h:266:11
#9 0x00007f94af2e65a9 clang::Parser::ConsumeAnyToken(bool) /usr/src/debug/clang/llvm-project-22.1.8.src/clang/include/clang/Parse/Parser.h:304:24
#10 0x00007f94af2e65a9 clang::Parser::ConsumeAnyToken(bool) /usr/src/debug/clang/llvm-project-22.1.8.src/clang/include/clang/Parse/Parser.h:290:18
#11 0x00007f94af2ec4da clang::Parser::SkipMalformedDecl() /usr/src/debug/clang/llvm-project-22.1.8.src/clang/lib/Parse/ParseDecl.cpp:2122:20
#12 0x00007f94af308f13 clang::Parser::ParseDeclGroup(clang::ParsingDeclSpec&, clang::DeclaratorContext, clang::ParsedAttributes&, clang::Parser::ParsedTemplateInfo&, clang::SourceLocation*, clang::Parser::ForRangeInit*) /usr/src/debug/clang/llvm-project-22.1.8.src/clang/lib/Parse/ParseDecl.cpp:2154:22
#13 0x00007f94af41f6e8 clang::Parser::ParseDeclOrFunctionDefInternal(clang::ParsedAttributes&, clang::ParsedAttributes&, clang::ParsingDeclSpec&, clang::AccessSpecifier) /usr/src/debug/clang/llvm-project-22.1.8.src/clang/lib/Parse/Parser.cpp:1180:73
#14 0x00007f94af41ff0d clang::Parser::ParseDeclarationOrFunctionDefinition(clang::ParsedAttributes&, clang::ParsedAttributes&, clang::ParsingDeclSpec*, clang::AccessSpecifier) /usr/src/debug/clang/llvm-project-22.1.8.src/clang/lib/Parse/Parser.cpp:1202:42
#15 0x00007f94af429502 clang::Parser::ParseExternalDeclaration(clang::ParsedAttributes&, clang::ParsedAttributes&, clang::ParsingDeclSpec*) /usr/src/debug/clang/llvm-project-22.1.8.src/clang/lib/Parse/Parser.cpp:1030:50
#16 0x00007f94af42a97c clang::Parser::ParseTopLevelDecl(clang::OpaquePtr<clang::DeclGroupRef>&, clang::Sema::ModuleImportState&) /usr/src/debug/clang/llvm-project-22.1.8.src/clang/lib/Parse/Parser.cpp:743:36
#17 0x00007f94af2d0ceb clang::ParseAST(clang::Sema&, bool, bool) /usr/src/debug/clang/llvm-project-22.1.8.src/clang/lib/Parse/ParseAST.cpp:169:69
#18 0x00007f94b1af8aeb clang::FrontendAction::Execute() /usr/src/debug/clang/llvm-project-22.1.8.src/clang/lib/Frontend/FrontendAction.cpp:1317:38
#19 0x00007f94b1a69ef1 llvm::Error::getPtr() const /usr/include/llvm/Support/Error.h:281:12
#20 0x00007f94b1a69ef1 llvm::Error::operator bool() /usr/include/llvm/Support/Error.h:241:22
#21 0x00007f94b1a69ef1 clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) /usr/src/debug/clang/llvm-project-22.1.8.src/clang/lib/Frontend/CompilerInstance.cpp:1006:42
#22 0x00007f94b1bca581 std::__shared_ptr<clang::FrontendOptions, (__gnu_cxx::_Lock_policy)2>::get() const /usr/include/c++/16.1.1/bits/shared_ptr_base.h:1752:16
#23 0x00007f94b1bca581 std::__shared_ptr_access<clang::FrontendOptions, (__gnu_cxx::_Lock_policy)2, false, false>::_M_get() const /usr/include/c++/16.1.1/bits/shared_ptr_base.h:1449:69
#24 0x00007f94b1bca581 std::__shared_ptr_access<clang::FrontendOptions, (__gnu_cxx::_Lock_policy)2, false, false>::operator*() const /usr/include/c++/16.1.1/bits/shared_ptr_base.h:1437:40
#25 0x00007f94b1bca581 clang::CompilerInvocation::getFrontendOpts() /usr/src/debug/clang/llvm-project-22.1.8.src/clang/include/clang/Frontend/CompilerInvocation.h:277:48
#26 0x00007f94b1bca581 clang::CompilerInstance::getFrontendOpts() /usr/src/debug/clang/llvm-project-22.1.8.src/clang/include/clang/Frontend/CompilerInstance.h:301:39
#27 0x00007f94b1bca581 clang::ExecuteCompilerInvocation(clang::CompilerInstance*) /usr/src/debug/clang/llvm-project-22.1.8.src/clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp:311:29
#28 0x000056281ffd0b64 cc1_main(llvm::ArrayRef<char const*>, char const*, void*) /usr/src/debug/clang/llvm-project-22.1.8.src/clang/tools/driver/cc1_main.cpp:304:40
#29 0x000056281ffc709a ExecuteCC1Tool /usr/src/debug/clang/llvm-project-22.1.8.src/clang/tools/driver/driver.cpp:226:20
#30 0x000056281ffc7244 std::__atomic_base<int>::fetch_sub(int, std::memory_order) /usr/include/c++/16.1.1/bits/atomic_base.h:658:34
#31 0x000056281ffc7244 llvm::ThreadSafeRefCountedBase<llvm::vfs::FileSystem>::Release() const /usr/include/llvm/ADT/IntrusiveRefCntPtr.h:134:41
#32 0x000056281ffc7244 llvm::IntrusiveRefCntPtrInfo<llvm::vfs::FileSystem>::release(llvm::vfs::FileSystem*) /usr/include/llvm/ADT/IntrusiveRefCntPtr.h:164:45
#33 0x000056281ffc7244 llvm::IntrusiveRefCntPtr<llvm::vfs::FileSystem>::release() /usr/include/llvm/ADT/IntrusiveRefCntPtr.h:233:41
#34 0x000056281ffc7244 llvm::IntrusiveRefCntPtr<llvm::vfs::FileSystem>::~IntrusiveRefCntPtr() /usr/include/llvm/ADT/IntrusiveRefCntPtr.h:196:34
#35 0x000056281ffc7244 operator() /usr/src/debug/clang/llvm-project-22.1.8.src/clang/tools/driver/driver.cpp:376:26
#36 0x000056281ffc7244 callback_fn<clang_main(int, char**, const llvm::ToolContext&)::<lambda(llvm::SmallVectorImpl<char const*>&)> > /usr/include/llvm/ADT/STLFunctionalExtras.h:46:52
#37 0x00007f94b15e9ea5 operator() /usr/src/debug/clang/llvm-project-22.1.8.src/clang/lib/Driver/Job.cpp:442:32
#38 0x00007f94b15e9ea5 callback_fn<clang::driver::CC1Command::Execute(llvm::ArrayRef<std::optional<llvm::StringRef> >, std::string*, bool*) const::<lambda()> > /usr/include/llvm/ADT/STLFunctionalExtras.h:46:52
#39 0x00007f94a465a318 llvm::CrashRecoveryContext::RunSafely(llvm::function_ref<void ()>) (/usr/lib/libLLVM.so.22.1+0x85a318)
#40 0x00007f94b15ea917 clang::driver::CC1Command::Execute(llvm::ArrayRef<std::optional<llvm::StringRef>>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>*, bool*) const /usr/src/debug/clang/llvm-project-22.1.8.src/clang/lib/Driver/Job.cpp:446:10
#41 0x00007f94b159c4c1 clang::driver::Compilation::ExecuteCommand(clang::driver::Command const&, clang::driver::Command const*&, bool) const /usr/src/debug/clang/llvm-project-22.1.8.src/clang/lib/Driver/Compilation.cpp:196:22
#42 0x00007f94b159d46c clang::driver::Compilation::ExecuteJobs(clang::driver::JobList const&, llvm::SmallVectorImpl<std::pair<int, clang::driver::Command const*>>&, bool) const /usr/src/debug/clang/llvm-project-22.1.8.src/clang/lib/Driver/Compilation.cpp:246:5
#43 0x00007f94b15b5af6 llvm::SmallVectorBase<unsigned int>::empty() const /usr/include/llvm/ADT/SmallVector.h:83:46
#44 0x00007f94b15b5af6 clang::driver::Driver::ExecuteCompilation(clang::driver::Compilation&, llvm::SmallVectorImpl<std::pair<int, clang::driver::Command const*>>&) /usr/src/debug/clang/llvm-project-22.1.8.src/clang/lib/Driver/Driver.cpp:2265:28
#45 0x000056281ffcc434 llvm::SmallVectorBase<unsigned int>::size() const /usr/include/llvm/ADT/SmallVector.h:80:32
#46 0x000056281ffcc434 llvm::SmallVectorTemplateCommon<std::pair<int, clang::driver::Command const*>, void>::end() /usr/include/llvm/ADT/SmallVector.h:275:41
#47 0x000056281ffcc434 clang_main(int, char**, llvm::ToolContext const&) /usr/src/debug/clang/llvm-project-22.1.8.src/clang/tools/driver/driver.cpp:416:26
#48 0x000056281ffc674f main /usr/src/debug/clang/llvm-project-22.1.8.src/clang/build/tools/driver/clang-driver.cpp:18:1
#49 0x00007f94a3627781 __libc_start_call_main /usr/src/debug/glibc/glibc/csu/../sysdeps/nptl/libc_start_call_main.h:83:3
#50 0x00007f94a36278b9 call_init /usr/src/debug/glibc/glibc/csu/../csu/libc-start.c:127:20
#51 0x00007f94a36278b9 __libc_start_main /usr/src/debug/glibc/glibc/csu/../csu/libc-start.c:359:5
#52 0x000056281ffc67a5 _start (/usr/bin/clang+++0xc7a5)
clang++: error: clang frontend command failed with exit code 139 (use -v to see invocation)
clang version 22.1.8
Target: x86_64-pc-linux-gnu
Thread model: posix
InstalledDir: /usr/bin
clang++: note: diagnostic msg:
********************
```
[internal_math-4a25fd.cpp](https://github.com/user-attachments/files/32448067/internal_math-4a25fd.cpp)
[internal_math-4a25fd.sh](https://github.com/user-attachments/files/32448070/internal_math-4a25fd.sh)
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJzUW113ozjS_jXkRgcfEN8XuSB2nDf9Op0-cXpm94ojhLA1AYkVIu3Mxf72PRJgA3G-pp2e3TmZNseI0vNUlapKJYzqmm4YIeeGd2F4izPUyC0X5xfkqSBPZynPns4N3-r-rNiaAf3fN8E3ApUAiU1TEiZrw4mBAZdNLQy4TCkz4BIXiG0MeGHAC2Au5l_Wt1-T_7teXCbrf95c3K7WwFxcLVfx1Tq5XidxslitDGdhqW9Xt1fJ9_Vl0t4efaMuLv_x7fbuHpiL5Orr92R9-_1ufgnMawMut7wkan6N3oDLb4L_QbCs1eXd7dVdfHNz_fXKgMu5AZclZyjjBlzWAhtwuRPSgEvKcNFk5GfEpQ0tstOLHYqTAuEHyjanhnkKuUN5qNnRgiLxdGqgJxHcCiQ7SQRDhbpDpKC4PqlMhhivUmDS-qmWpDwsks4l1Gi6IcwZDTnR5CnOCP4MwfiPmrNXSfGKMPzoAXMDzBIJvDWcBUOSPhJg3jrAzBk3eUmlmQtUErPilEkigPk74yaGT6aajNWUsxqYFckQkxQD83dUFMD8neykQO3YhjU1ycwKKTFaQlnXBAKzzKsSSTVtXas5oYay-Lq4vPh-BcxaZoaz2LCmjVDQAmb-7XoOzBzzggszo2jDeC21PyjANwtg3tyDY8tFKYSzWpKiQJJyFfzmN-iBLGlB6unNWUaF1o-kJf2TtFprFZsowDNcVTMOzJvlr5prlgGT_zpi-Gf98E2Mr0IwrNieAcOZN-yB8R_McC5BhURNBEASdF-CguNWmqXymmMBa2dZlhXkkYvcADtZmIKieCwNJzacuH6q24tvgjK5lgg_3AuEiQHDwyCBfiS8loKg0oC-AeeAMmnACBgw3C-ggqbtv6vVbzezms8gnNkGvLB2kZ7UgFEHyZ5Asv0wOAZpXhDEmuqWrelGL96wYTrnZ6DgSn3vB6CmOACAIwC-FxE3f6eoUA8-iHKGohzfIX5uHReFlRxfC9GjDjLcoYwcWh5CELQ1iNbDiuyIaC83RMYsi7NHxDCZb5EwYIi3SADtSAaMO_sMnr7nD4Tpr6NDtGvdMSNpsznUO0tlA7Nq_dlUlGfhrB3ZjzhEyf6bFdm1_xIx2xpO7Ieh4cSO13Hz3s9tRXZrKSjbrKgkQtv7KI05mDAe0ZX8YfDA_1OWnYR4a8YhWbUgnRhCz1IffsfXn_ANQpK-zFdjvGZ9cnqJb8p58aksXMuzle16FsGYBQ5cBw9ZfBOkEhyTuuYHMi_hPzHu4dwd_DDyDSe2rQ59OEZPfA9FI_Q6ZnYxhrO6KUmHNvykRaJn7D_bdQJ9jdnuMEcfxxyzpx72yRzkXdAdy1UEXMOKVTS3_oegw0itVjvsoNsT6NjN0EvQ1w-0ukFFzkVJsgXBxancpXXuEVglvg8wNoTqw-ogj3JX7lhhbjsvQd7LuhK8qcbrU92jbKPuriuCn-cNdQcJJLmYcybJTk7ua-FZLKWgaSNVUTWV8AxKdk_KqkCSXLOcPx-_5o3AZNXXL89C-1Dekos7xDbkmtE2CfwCQ3ja7WFniFHmz10790n4piFuxbJhWNFbkPx44H-nXt8c8apxY6wCqLpHc6qqzc9RXx-gbTtU6y5wOt25U93lVvam7pQzUs5GKqSMtr7y6RqcOuOv1iC0VBhwe-8b11UujDwLvqrBy24LPNDkr9HaJ-vFcpRneX149Cd6QVGAX9XLPa9W5JEUXUQfDL2t0L8a8k0Kw5lP4qKOp3ckN5zLI2GMlKi9uuFZU5DrsuJCba0kOW09dFQhgeuoFO13-phUcpmFx_WofjZe34-pawrD2vPkNegIe7y-783pR6oOjTr0w0outVEeojH6pVCpiWWxjgftd5c7ghul6lNm536iwWU7Z4_bsQOl9r6wiMbA_Yjk9mCLeykEP-zolIu1aPWe5lhPSj8Kl-umUr5kwKWW0JY0oa3jQzsztN49M6-ITu-dacfqet_Urj3IiNA-NvXAWnNeVrQg4prVUu1fR_bqTDhyw4l5T7p4Bhad4tqHFssfhFwIR_RSjLzQBroZp7AmSb1FgmRJNQ0Y_Uy3lWJRq8VkwDBJNqxJ8G7XPb7i-CGpeEHxkwEjqCJL7x9vOQduG4EGXNr-zJ7Z-hxDN6QOkJIU1UQbzQ48qFdaR8t5N60E6Zx3CnZwDnJUqAjQX_R8k5vk9JRddxhWoPvfRblfiDpdnpa3E-jdfcfbO8b76AJ97Ivw3gcHnOvP2ycfXZQ9ljbkBJpRF2eh_25Gw5Dz9_Lpgky7k1YB1On9MniDTRcqj5hpFDafkT5pGdZzutdZY_kipi6KOrbOET3FPqN7PgztPM-s1HcBxnZSIspGTedYCPSka6z5uN-naq4jPcBHTrNTMZWcF2pRZYI-6l58j7AnpTsg-3UVjUnhwIoQ6BUzt5WmPgFTe7HvQ_qDLsG-679HBF13GOGQ5CXFOlIYzpwyuQ9GOZF4m9RNasBQd_nnh-dKUnLxlHCRTTY87wlQgynbRrGnG8VdF2l_KDBCfPCG-60gKFujnNyRfM4bJkl20aI_DHrMu5ODJS3IWh_w7XndkYKo8e8rtOLFvQGX10yKpqaPek6m6rQ2rDra-naHHL6O_LkQ3f14L26xx_36-Innf5CRrxl5HSPno4z-ApufQAsdZ6h_99PQ_vvIsz-F3NaN6r3Pe8eQH6qB02Sl1-OGE_j98YVC5B9DhFFRpAg_JDnrC6E-XHcRAuuTqLjvkujFNVi7nBf7HqKq4duvlRlQmWZo5NvrEhXFbwRLLq7Lqjga_VsZl0D__4Yl1vervl-EisudFKjWpnAVb6-r7Z1x5vVIRJB3cku0-XPR2-ELT_vjF1dV5E4PJjwG5ogRWoV1dm0z_9ye87JELJvuhY_m1X1g51Wrn9HKaA_j2i4H6LLu_ola3-wM3m4g431gfW7fkxssmhzhIscOBy43F6je3hHMH4l46n2vzQMNU1mkeBopJe9mTIRWjKolwB72-w-aQ43D6Ksd15pYEkV2AH617aamS9QmRVdlhhOnqKY46azZrrXRYPVFIgVSOby7PRGHCv3GAReD-2rIUc_41EW0PwRUqh83I7wIu9h-UfW6eEXPeki9PUbV9eRBNaCPTtNO4CtD48nR7udoZ0Csb2roDNS3bFw40VLm-vijWvrC0_plFX3h6YrWcqSi16L93q8qREVXm35Aq53z_S26hW2I6lQ77qt4qYdy_zjzro7dv9wyLMdJWcmnDxWtA8E6boZOGzxbVO4xVC8odzG4Hm3zjuw5X3KUX2jw02foxWSH5el2a6fJafGGXcf9uH1r-ufH9iTPzGsNSgd3Wr-9DKo_ilUKVQv6BHboN-F739Wh8z3l8pQUDLxBhe8Gx1i9XYcerUAHgejTi2vXHhbX7qT3gf3AzYEi8PM4-jeNnzcu1ABzhMpW--5etdH4_TUYBKENkqSgqaoKkJCJKjyT11Bu1ODBJ64bAy5nMzXwqc5IpQCxShbde3BTuYco1R0Pe9YUVJhGugBOKKMvRvJXcLSX6ntTTz7D-sgkGLRMPPvYpCNN_EUlHJ3c8aJDrvCmLQQ_QB5oZx1Vns9-nqCrThwgr605h3ecGJDusKddKyDvOncAd4s3R7QgGfhB5RaQHVVrIyPAdnS529QEmI9AclATAuig17ifCTwSUVPOQOuThhXfI7EhqtIGu9BPfNessFlQ1uzMDWvUfd3GASXPSKFGVbymO8OKdauyKEi2oOLZDzKe8WJcEvV5eNMZlPVGP2fF_fr_S39WPPzNiPrzLkbv4Zougl6e6aXkLQwYbqWsdAcBLpX5qdw26QzzUjMgwkRSIrxtf2kCl3n3-rEDXTe0_GD6mu9QfLuLeBlCvf15BIH1EoJ6a8DoLDt3ssiJ0Bk5t4MwijzHteyz7XmYotzxIMEe9oOMEDu1UZBajm0FeZjD_IyeQwv6VgRty7Z9157h1CG2haIo8h3fi1LDtUiJaDFTwW3GxeaM1nVDziF0oxCeFSglRa1_2wMhIz-AvmtAaHiLM3GuI2LabGrDtQpay_ogRlJZkHO9AVSOXtGCsg2YE6FoX1zSDWFAEW2dnTMQC7wFK-WkZ40ozl9RZ5ezhuFYqU8hUyrtoD-ew_8EAAD__9bVLUQ">