<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/114441>114441</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
error: unable to execute command: Segmentation fault (core dumped)
</td>
</tr>
<tr>
<th>Labels</th>
<td>
new issue
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
maxknows2001
</td>
</tr>
</table>
<pre>
```c++
#include "llvm/Pass.h"
#include "llvm/Support/Casting.h"
#include "llvm/Passes/PassBuilder.h"
#include "llvm/Passes/PassPlugin.h"
#include "llvm/Support/raw_ostream.h"
#include "llvm/IR/IRBuilder.h"
#include "llvm/IR/LLVMContext.h"
using namespace llvm;
namespace {
struct SkeletonPass : public PassInfoMixin<SkeletonPass> {
PreservedAnalyses run(Module &M, ModuleAnalysisManager &AM) {
for (auto &F : M) {
errs() << F.getName() << "\n";
if (F.getName() == "main") {
LLVMContext &context = F.getContext();
BasicBlock *ExitBB = BasicBlock::Create(context, "exit", &F);
}
}
return PreservedAnalyses::all();
};
};
}
extern "C" LLVM_ATTRIBUTE_WEAK ::llvm::PassPluginLibraryInfo
llvmGetPassPluginInfo() {
return {
.APIVersion = LLVM_PLUGIN_API_VERSION,
.PluginName = "pass",
.PluginVersion = "v0.1",
.RegisterPassBuilderCallbacks = [](PassBuilder &PB) {
PB.registerPipelineStartEPCallback(
[](ModulePassManager &MPM, OptimizationLevel Level) {
MPM.addPass(SkeletonPass());
});
}
};
}
```
I am trying to compile the helloworld program with the pass shown above using the command
```shell
clang++ -fpass-plugin=skeleton/SkeletonPass.so ../../helloWorld.cpp
```
Due to the fact that I added the base block in the pass, I get an error when compiling helloworld:
clang: error: unable to execute command: Segmentation fault (core dumped)
clang: error: clang frontend command failed due to signal (use -v to see invocation).
Without adding a base block, everything compiles perfectly. I've tried using both clang version 14 and 20. Below is the full output:
```shell
~/llvm-pass-skeleton/build$ clang++ -fpass-plugin=skeleton/SkeletonPass.so ../../helloWorld.cpp
__cxx_global_var_init
_ZNSt8ios_base4InitC1Ev
_ZNSt8ios_base4InitD1Ev
__cxa_atexit
main
_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc
_GLOBAL__sub_I_helloWorld.cpp
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-14/bin/clang -cc1 -triple x86_64-pc-linux-gnu -emit-obj -mrelax-all --mrelax-relocations -disable-free -clear-ast-before-backend -disable-llvm-verifier -discard-value-names -main-file-name helloWorld.cpp -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 -mllvm -treat-scalable-fixed-error-as-warning -debugger-tuning=gdb -fcoverage-compilation-dir=/home/max/llvm-pass-skeleton/build -resource-dir /usr/lib/llvm-14/lib/clang/14.0.0 -internal-isystem /usr/bin/../lib/gcc/x86_64-linux-gnu/12/../../../../include/c++/12 -internal-isystem /usr/bin/../lib/gcc/x86_64-linux-gnu/12/../../../../include/x86_64-linux-gnu/c++/12 -internal-isystem /usr/bin/../lib/gcc/x86_64-linux-gnu/12/../../../../include/c++/12/backward -internal-isystem /usr/lib/llvm-14/lib/clang/14.0.0/include -internal-isystem /usr/local/include -internal-isystem /usr/bin/../lib/gcc/x86_64-linux-gnu/12/../../../../x86_64-linux-gnu/include -internal-externc-isystem /usr/include/x86_64-linux-gnu -internal-externc-isystem /include -internal-externc-isystem /usr/include -fdeprecated-macro -fdebug-compilation-dir=/home/max/llvm-pass-skeleton/build -ferror-limit 19 -fgnuc-version=4.2.1 -fcxx-exceptions -fexceptions -fcolor-diagnostics -fpass-plugin=skeleton/SkeletonPass.so -faddrsig -D__GCC_HAVE_DWARF2_CFI_ASM=1 -o /tmp/helloWorld-dd29e8.o -x c++ ../../helloWorld.cpp
1. <eof> parser at end of file
2. Optimizer
#0 0x00007d51d063fd01 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/lib/x86_64-linux-gnu/libLLVM-14.so.1+0xe3fd01)
#1 0x00007d51d063da3e llvm::sys::RunSignalHandlers() (/lib/x86_64-linux-gnu/libLLVM-14.so.1+0xe3da3e)
#2 0x00007d51d0640236 (/lib/x86_64-linux-gnu/libLLVM-14.so.1+0xe40236)
#3 0x00007d51cf042520 (/lib/x86_64-linux-gnu/libc.so.6+0x42520)
#4 0x00007d51d19ac821 llvm::isInlineViable(llvm::Function&) (/lib/x86_64-linux-gnu/libLLVM-14.so.1+0x21ac821)
#5 0x00007d51d15e5736 llvm::AlwaysInlinerPass::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) (/lib/x86_64-linux-gnu/libLLVM-14.so.1+0x1de5736)
#6 0x00007d51d314812d (/lib/x86_64-linux-gnu/libLLVM-14.so.1+0x394812d)
#7 0x00007d51d07ad60e llvm::PassManager<llvm::Module, llvm::AnalysisManager<llvm::Module> >::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) (/lib/x86_64-linux-gnu/libLLVM-14.so.1+0xfad60e)
#8 0x00007d51d7a62b9b (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1862b9b)
#9 0x00007d51d7a56a52 clang::EmitBackendOutput(clang::DiagnosticsEngine&, clang::HeaderSearchOptions const&, clang::CodeGenOptions const&, clang::TargetOptions const&, clang::LangOptions const&, llvm::StringRef, llvm::Module*, clang::BackendAction, std::unique_ptr<llvm::raw_pwrite_stream, std::default_delete<llvm::raw_pwrite_stream> >) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1856a52)
#10 0x00007d51d7d7c855 (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1b7c855)
#11 0x00007d51d6c04824 clang::ParseAST(clang::Sema&, bool, bool) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0xa04824)
#12 0x00007d51d7d78b71 clang::CodeGenAction::ExecuteAction() (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1b78b71)
#13 0x00007d51d8714b57 clang::FrontendAction::Execute() (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x2514b57)
#14 0x00007d51d866c3a6 clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x246c3a6)
#15 0x00007d51d878e45b clang::ExecuteCompilerInvocation(clang::CompilerInstance*) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x258e45b)
#16 0x000000000041328b cc1_main(llvm::ArrayRef<char const*>, char const*, void*) (/usr/lib/llvm-14/bin/clang+0x41328b)
#17 0x00000000004114bc (/usr/lib/llvm-14/bin/clang+0x4114bc)
#18 0x0000000000411307 main (/usr/lib/llvm-14/bin/clang+0x411307)
#19 0x00007d51cf029d90 __libc_start_call_main ./csu/../sysdeps/nptl/libc_start_call_main.h:58:16
#20 0x00007d51cf029e40 call_init ./csu/../csu/libc-start.c:128:20
#21 0x00007d51cf029e40 __libc_start_main ./csu/../csu/libc-start.c:379:5
#22 0x000000000040e3b5 _start (/usr/lib/llvm-14/bin/clang+0x40e3b5)
clang: error: unable to execute command: Segmentation fault (core dumped)
clang: error: clang frontend command failed due to signal (use -v to see invocation)
Ubuntu clang version 14.0.0-1ubuntu1.1
Target: x86_64-pc-linux-gnu
Thread model: posix
InstalledDir: /usr/bin
clang: note: diagnostic msg:
********************
PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT:
Preprocessed source(s) and associated run script(s) are located at:
clang: note: diagnostic msg: /tmp/helloWorld-07da6a.cpp
clang: note: diagnostic msg: /tmp/helloWorld-07da6a.sh
clang: note: diagnostic msg:
********************
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzUWltv27qT_zTKC0FDonyRH_Lg-NIa_6Qx4rQF9kWgqLHMU5rUkpTj7MN-9gUp2ZYct01zzt6MwLXImeFvLpwZUqXG8EIC3AaDu2Awu6GV3Sp9u6OHH1K9GBKG0U2m8tfbYBjWfywgd-4vnAXhJCAxl0xUOaCAECH2u4AsVtSY3jYg5Bc066oslbYBWUypsVwWv2NwQsE0P-4qLnLQf8SzElXB5ftxafqSKmM10N3vmJZP_uudqDz1_f23h6mSFg62Te-_K8NlgSTdgSkpA-T54rs2yXkyGHUmjNUVs2j9AwRYJZ3iKIgnqKwywRlyz0u5UQ_8wGUQT9t0QTw_S0MIoZUGA3oP-URS8WrAIF3JgCQPKq-E02j4EJApqh9rGm4eqKQFaDc7eQjIuCvSfTbKzSa0sspRLTy-C1LQ2gQk8YPxNIinaNErwH6hO-gOO9MNptL9E1-s4z5845Z6yzsL4pnj3VHuea_hPH5arnJ42fFnPKtBNXO17DOKO2o4uxOK_UABmcwP3N7deabzRBBPgngy1UCtg8aOgrxacODWQ5t6K3VkB6NZF-ubAQ220vKtC-slqRCXcJ2EU4y1f59GWo9wsKClQzkNCPEWSifPz0_Lu6_P8_T7fPIvVC9Uh677dd6C9zzTVL-6MKylOaJPYM8UfqpxVdsrjVJvPNWbrJbfQBuupLewx7O6__pp-SWdrJbpt_nTevn4JSDTC756ORcZqAmI0m0Eb_WrpO1VAkL2YS_qUPeeoODGgm5lqSkVIqPsh6m5fJ4NSNKicA5e3XXVXd319FEWL0FwCWtLtZ2vjvKcha4G7GmJeme6hVq78mHld-1jafmO_we1XMl72INA_rsL4mH10KN57rMDSTrJog6fdgRdohjNrk2fI_Uy4uofxzJTPy4R3SGrX11CtAoxtSu5AGS3gLYghHpRWuSo1KrQdIdeuN36OedFZLbqRSKaqT2gOqW6KaZ2OypzdLGcceLqMSaoLOoih_DGicKld34Qz0xjAlcpWtboGYV6vYAs_JdH9t0h67GyvFgINSvPKnAaOUgbyiyyW2rREtE8h9yPZtQAynz-4PKklXPdEhVgEZUuSyqNXrYgG8s4Jc92cXm1rVI8qTncj0rSTHgEcABW2ZNh3OQaih1I62MDbWglXOJLmNKA8mpXQu4c-xPBfgRttMtlMj-Ze0O5gBzltdau56DCCa0MILz3YwCIy71iftmAjHsN-O_cblVlnWmcfrRlGWcN2IN-tVs31YSHQSXoDTArXntoGZDRHpDVHPImDDJltw3OfbOfoz5yKEnYQ3cg1AvipnZNJQRSlS0r69LYT2PmPwOycGkM-3BpRUnmdnhA-ui_JarSlB0OaSFURkW6pzrlkttm6t--rG3ClUmdufpLye00mu9_Ojk7T6bsQFNqfQHyI75KNoxrK8xybaOIbalOrabcmiWbz5_WNoozV9qOXdOSPafz9SBd_Ys1zJ_uH-8m92lqqixdptcUWt3PJ-s5MlW249a5uiqQBteRuRDZWlv6CkYWAVkU3G6rrMfUrjH-yQda_QXM9XDcmMo3gN67x1bMpwFNzRa5NGo1ZeACqdRQasXAGMiRUZWuhx0nNUYxTi3krgVChmle2l4NeW0p--H3xSlCwl6d61ZNXqK6qNyGMn5HkkVltMPKsyPiqO9CxbUiizouMWMRwlbzUgA6JMN02Mclw4LL6oALWSEMO26xyv5CeKdB0AOmQiB8fNAgmo1kEM65cZsdbzQAwkwA1ZgaizPYKA3YGcFt1ROdh7QHzTcctB9mVOd4T0UF2HeeCLuQwBsu6gHU9WWNqQGAdyoHgUrOEC45w8IXG1I_cINLDgjvNpruAJeKSws6iGdem82O2i0GraVCeLMpseuQNGU2iGdKIryRCmtVSZcXsKNFeMeUrHtgpTEVnLq2FW8q-cJljq3TzwTxjCBsqS7AYlZWzsB42EfYVhL8QAEStAO8c7ZwjgBqsWFU1IbkB8ixT3mYGvxCtXR5BeeQVUUB2gniLi_OijxDeMPUHjQtANcJqjZLzp2ebmMr15gudvTwyySCsIY6Kh3rz8Oofm7SzSLq98JeiLC3q6QCc_NqLOzO_HXY-RRTsxaMBWTRBN0p4pwsciS8-Go2llu2ORw64v-xRa9w_a_gaC_qZFP244Xq_Ffrv8d55zV-KUkxKt5H-g8ofYX27cL1KYG9BfBz1_2a-8-XQHiTQ6mBudyNd5Rp5Yeyqvibm3FTb3_BXaGKxghvClkx3DQUQTzr90gvcpv_cMBwYFA22XjTeWBKKI1zTgupjOXM_ElzgDc0z7XhBcKzNP00naafJ9_m6ez75GlB0ulimU7WD0E8ixB2R-2F3ZWdRgLnORlD0lMIH1ATvb_pOKKmtAXxFNQmiOeopNqARtQiV0TUBrmqUBOT3vGYAfrY9JM4ROEhDMNwlA-iPBzGmzyM0PmgaF6bQ-pKc2l9dX2uS3RyJmpdzgRk6Mo0l9afXdy5pAnrK0EqeOYOhzjq94xyZ7e78AAewamldRCjC4g5jeEaxKdKrn0r-5nKXMD5zuIjKNwiHRSki6Ifknj4IdGesyM6bolmm7BPBiR8h2jmhA69UM_Skdlvw43GlCWk7VdultKdYr9xV0M73lxUktVN__CD1iORX66DZ9DBM4DBKB628EzEC31tMOn6_stHlr_iOpPVZ-gmyFrc3euuIJ6-YYnnH9cnyj3cjj7Dtj5x1E8ikn9Edjz2rB3Zo06ojWg-DNsB37pCuKbpn1sGOev8H7L3xmvcMUnSNsmIDkk2zt6zRVztxqwsvfB-7c3Ec3fEj7viB0M6IOh4nA7iyXzH7V3dmT_W50-StKZn54oxlwWXR4u1SD4DzUGvgWq2fWwKju-O35JOVQ6fQP6G6tl3zL8huqeyuEZydtfaai6LJ9h0h4-On1wIbIwwaTLEFBmb1zOV5P9eQVrabji42lC-aG4hPVaIFlMO_kIjzV0phd8wNoH6rpi67njv15PjXWnplL9RPmLJYPBR8Znn7ojvlK4hC_vJ6fKh2crawGT93A2nNexo46hMKXH-96OaU79wBxm5UDzJRtGVIGwcXW-C-m7q6Pt31tafmMqt1wHULoJ5Mor62WDUBrRoLrGuIPpbWMjAL9XB0imeyXDIYjrsGsdfbemlNJZKBtft83Pw782MV_H2PZwO3kHXdgn0B1knfdXIzrDPF3vJr9Ry2__jdvUwOjiPRbP-9KOYJBliLErrNz-twjPRmr66rBRP2ZbqY_Ka-AQwRd0xMkV7xfMO3N_e6tR9k4fQwTi6wBj1M_aHMh1LR2ZyKTMOR8jp_KeC47AbqONu50jG-ThEaepckhpLtU0ZFcKbF7lDBDPV8TxhXk0OpQnIQpZWNH68ZOptg3gySIJ4Eg1Pq5LwclXoh8jzcMnt5UL1Tycde-k95sQRJ5SEZ6HRNaEdVa5pcVV4PBo72GfZpGv_EOJsgGqpf-YBz_mL-_b_Bxf59Qpfs0ra6s29ey_shTiq_GTUi2rautNwKK7cfTYkWw00R_5y0b_gVoYfmpdGLpkIAfmM686Na3a8xj5pK5XrASbofABHO1OcX5z4Df7Rv9YL0-Zee_L8PJl-Rs-f52jxeH__-H355RNaLO_na_T86Ifvvn5CT_PV49Pz6TZ5de1eOjEu8fz0bvpEoAH5i1jIET2_wniP_leuC8JRTof0fBnw98SY7Z86459yyfld3E1-G-fjeExv4DYaxWE8TvrJ6GZ7m_TziOabcTLMBvloPKBxHIbjPEviaBTBIL7htyQk_SiMoyiJ-v1hL4oHg34yivJRmMUERkE_hB3louc2d0_p4sa_jbiNon6_H90ImoEw_r_dECLhBflZ_98ZZjf61meErCpM0A8FN9acxVhuBdz-cwngptLi9uOvVhp99rfkvwIAAP__UwH7MQ">