-
Notifications
You must be signed in to change notification settings - Fork 38
Description
Describe the bug
opencilk clang++ crashes and tells me to: PLEASE submit a bug report to https://github.com/OpenCilk/opencilk-project/issues/
The crash is on compiling a single files of the test suite for parlaylib. Printout below. Based on version of opencilk I cloned today. You can likely reproduce it given instructions below.
Expected behavior
Compile
OpenCilk version
clang version 14.0.6 (https://github.com/OpenCilk/opencilk-project fc90ded\
Built from source as described in: https://www.opencilk.org/doc/users-guide/build-opencilk-from-source/
Also tried downloading and using: https://github.com/OpenCilk/opencilk-project/releases/download/opencilk/v2.0/OpenCilk-2.0.0-x86_64-Linux-Ubuntu-22.04.sh
-OR-
Built from source:
opencilk-project:branchcommit# (or tag)cheetah:branchcommit# (or tag)productivity-tools:branchcommit# (or tag)infrastructure:branchcommit# (or tag) (if applicable)
System information
Ubuntu22
- OS: distribution, version [e.g., Ubuntu 20.04]
- CPU: [e.g., Intel Xeon Platinum 8260]
Steps to reproduce (include relevant output)
TO REPRODUCE:
git clone https://github.com/cmuparlay/parlaylib.git
cd parlaylib
mkdir build
cd build
cmake -DCMAKE_CXX_COMPILER=<pathtoopencilk++> -DPARLAY_OPENCILK=On -DCMAKE_BUILD_TYPE=RELEASE -DPARLAY_TEST=On ..
cd test
make test_delayed_filter_op-nosan
-
[E.g., clone repo X]
-
[E.g., build with parameters XYZ]
Pass the
-vflag to OpenCilkclang/clang++to show verbose compilation
commands and output. -
[E.g., compiler crash output, runtime failure...]
make test_delayed_filter_op-nosan
[ 50%] Built target gtest
[ 50%] Built target gtest_main
[ 50%] Building CXX object test/CMakeFiles/test_delayed_filter_op-nosan.dir/test_delayed_filter_op.cpp.o
clang++: /home/ubuntu/opencilk/opencilk/llvm/lib/Transforms/Utils/LCSSA.cpp:406: bool llvm::formLCSSA(Loop&, const DominatorTree&, const LoopInfo*, ScalarEvolution*): Ass
ertion `L.isLCSSAForm(DT)' failed.
PLEASE submit a bug report to https://github.com/OpenCilk/opencilk-project/issues/ and include the crash backtrace, preprocessed source, and associated run script.
Stack dump:
0. Program arguments: /home/ubuntu/opencilk/build/bin/clang++ -DDEBUG -DPARLAY_OPENCILK -I/home/ubuntu/parlaylib/include -isystem /home/ubuntu/parlaylib/buildclang/_
deps/googletest-src/googletest/include -isystem /home/ubuntu/parlaylib/buildclang/_deps/googletest-src/googletest -O3 -DNDEBUG -Wall -Wextra -Wfatal-errors -g -Og -fno-om
it-frame-pointer -fopencilk -std=gnu++17 -MD -MT test/CMakeFiles/test_delayed_filter_op-nosan.dir/test_delayed_filter_op.cpp.o -MF CMakeFiles/test_delayed_filter_op-nosan
.dir/test_delayed_filter_op.cpp.o.d -o CMakeFiles/test_delayed_filter_op-nosan.dir/test_delayed_filter_op.cpp.o -c /home/ubuntu/parlaylib/test/test_delayed_filter_op.cpp
-
<eof> parser at end of file -
Optimizer
#0 0x000055a2b33b15c8 PrintStackTraceSignalHandler(void*) Signals.cpp:0:0
#1 0x000055a2b33af1ac llvm::sys::CleanupOnSignal(unsigned long) (/home/ubuntu/opencilk/build/bin/clang+++0x270d1ac)
#2 0x000055a2b32fcbe8 CrashRecoverySignalHandler(int) CrashRecoveryContext.cpp:0:0
#3 0x00007f3553042520 (/lib/x86_64-linux-gnu/libc.so.6+0x42520)
#4 0x00007f3553096a7c pthread_kill (/lib/x86_64-linux-gnu/libc.so.6+0x96a7c)
#5 0x00007f3553042476 gsignal (/lib/x86_64-linux-gnu/libc.so.6+0x42476)
#6 0x00007f35530287f3 abort (/lib/x86_64-linux-gnu/libc.so.6+0x287f3)
#7 0x00007f355302871b (/lib/x86_64-linux-gnu/libc.so.6+0x2871b)
#8 0x00007f3553039e96 (/lib/x86_64-linux-gnu/libc.so.6+0x39e96)
#9 0x000055a2b34f5876 llvm::formLCSSA(llvm::Loop&, llvm::DominatorTree const&, llvm::LoopInfo const*, llvm::ScalarEvolution*) (/home/ubuntu/opencilk/build/bin/clang+++0x
2853876)
#10 0x000055a2b34f64c7 llvm::LCSSAPass::run(llvm::Function&, llvm::AnalysisManagerllvm::Function&) (/home/ubuntu/opencilk/build/bin/clang+++0x28544c7)
#11 0x000055a2b46c1ba5 llvm::detail::PassModel<llvm::Function, llvm::LCSSAPass, llvm::PreservedAnalyses, llvm::AnalysisManagerllvm::Function >::run(llvm::Function&, llv
m::AnalysisManagerllvm::Function&) (/home/ubuntu/opencilk/build/bin/clang+++0x3a1fba5)
#12 0x000055a2b64b2113 llvm::FunctionToLoopPassAdaptor::run(llvm::Function&, llvm::AnalysisManagerllvm::Function&) (/home/ubuntu/opencilk/build/bin/clang+++0x5810113)
#13 0x000055a2b46bf0d5 llvm::detail::PassModel<llvm::Function, llvm::FunctionToLoopPassAdaptor, llvm::PreservedAnalyses, llvm::AnalysisManagerllvm::Function >::run(llvm
::Function&, llvm::AnalysisManagerllvm::Function&) (/home/ubuntu/opencilk/build/bin/clang+++0x3a1d0d5)
#14 0x000055a2b37ce037 llvm::detail::PassModel<llvm::Function, llvm::PassManager<llvm::Function, llvm::AnalysisManagerllvm::Function >, llvm::PreservedAnalyses, llvm::A
nalysisManagerllvm::Function >::run(llvm::Function&, llvm::AnalysisManagerllvm::Function&) (/home/ubuntu/opencilk/build/bin/clang+++0x2b2c037)
#15 0x000055a2b6538c74 llvm::CGSCCToFunctionPassAdaptor::run(llvm::LazyCallGraph::SCC&, llvm::AnalysisManager<llvm::LazyCallGraph::SCC, llvm::LazyCallGraph&>&, llvm::Lazy
CallGraph&, llvm::CGSCCUpdateResult&) (/home/ubuntu/opencilk/build/bin/clang+++0x5896c74)
#16 0x000055a2b46bf085 llvm::detail::PassModel<llvm::LazyCallGraph::SCC, llvm::CGSCCToFunctionPassAdaptor, llvm::PreservedAnalyses, llvm::AnalysisManager<llvm::LazyCallGr
aph::SCC, llvm::LazyCallGraph&>, llvm::LazyCallGraph&, llvm::CGSCCUpdateResult&>::run(llvm::LazyCallGraph::SCC&, llvm::AnalysisManager<llvm::LazyCallGraph::SCC, llvm::Laz
yCallGraph&>&, llvm::LazyCallGraph&, llvm::CGSCCUpdateResult&) (/home/ubuntu/opencilk/build/bin/clang+++0x3a1d085)
#17 0x000055a2b653033c llvm::PassManager<llvm::LazyCallGraph::SCC, llvm::AnalysisManager<llvm::LazyCallGraph::SCC, llvm::LazyCallGraph&>, llvm::LazyCallGraph&, llvm::CGSC
CUpdateResult&>::run(llvm::LazyCallGraph::SCC&, llvm::AnalysisManager<llvm::LazyCallGraph::SCC, llvm::LazyCallGraph&>&, llvm::LazyCallGraph&, llvm::CGSCCUpdateResult&) (/
home/ubuntu/opencilk/build/bin/clang+++0x588e33c)
#18 0x000055a2b2c4f865 llvm::detail::PassModel<llvm::LazyCallGraph::SCC, llvm::PassManager<llvm::LazyCallGraph::SCC, llvm::AnalysisManager<llvm::LazyCallGraph::SCC, llvm:
:LazyCallGraph&>, llvm::LazyCallGraph&, llvm::CGSCCUpdateResult&>, llvm::PreservedAnalyses, llvm::AnalysisManager<llvm::LazyCallGraph::SCC, llvm::LazyCallGraph&>, llvm::L
azyCallGraph&, llvm::CGSCCUpdateResult&>::run(llvm::LazyCallGraph::SCC&, llvm::AnalysisManager<llvm::LazyCallGraph::SCC, llvm::LazyCallGraph&>&, llvm::LazyCallGraph&, llv
m::CGSCCUpdateResult&) (/home/ubuntu/opencilk/build/bin/clang+++0x1fad865)
#19 0x000055a2b653483b llvm::DevirtSCCRepeatedPass::run(llvm::LazyCallGraph::SCC&, llvm::AnalysisManager<llvm::LazyCallGraph::SCC, llvm::LazyCallGraph&>&, llvm::LazyCallG
raph&, llvm::CGSCCUpdateResult&) (/home/ubuntu/opencilk/build/bin/clang+++0x589283b)
#20 0x000055a2b2c4f815 llvm::detail::PassModel<llvm::LazyCallGraph::SCC, llvm::DevirtSCCRepeatedPass, llvm::PreservedAnalyses, llvm::AnalysisManager<llvm::LazyCallGraph::
SCC, llvm::LazyCallGraph&>, llvm::LazyCallGraph&, llvm::CGSCCUpdateResult&>::run(llvm::LazyCallGraph::SCC&, llvm::AnalysisManager<llvm::LazyCallGraph::SCC, llvm::LazyCall
Graph&>&, llvm::LazyCallGraph&, llvm::CGSCCUpdateResult&) (/home/ubuntu/opencilk/build/bin/clang+++0x1fad815)
#21 0x000055a2b65322fc llvm::ModuleToPostOrderCGSCCPassAdaptor::run(llvm::Module&, llvm::AnalysisManagerllvm::Module&) (/home/ubuntu/opencilk/build/bin/clang+++0x58902f
c)
#22 0x000055a2b2c4f8b5 llvm::detail::PassModel<llvm::Module, llvm::ModuleToPostOrderCGSCCPassAdaptor, llvm::PreservedAnalyses, llvm::AnalysisManagerllvm::Module >::run(
llvm::Module&, llvm::AnalysisManagerllvm::Module&) (/home/ubuntu/opencilk/build/bin/clang+++0x1fad8b5)
#23 0x000055a2b2b0633d llvm::PassManager<llvm::Module, llvm::AnalysisManagerllvm::Module >::run(llvm::Module&, llvm::AnalysisManagerllvm::Module&) (/home/ubuntu/openc
ilk/build/bin/clang+++0x1e6433d)
#24 0x000055a2b2c56708 llvm::ModuleInlinerWrapperPass::run(llvm::Module&, llvm::AnalysisManagerllvm::Module&) (/home/ubuntu/opencilk/build/bin/clang+++0x1fb4708)
#25 0x000055a2b46c2a75 llvm::detail::PassModel<llvm::Module, llvm::ModuleInlinerWrapperPass, llvm::PreservedAnalyses, llvm::AnalysisManagerllvm::Module >::run(llvm::Mod
#24 0x000055a2b2c56708 llvm::ModuleInlinerWrapperPass::run(llvm::Module&, llvm::AnalysisManagerllvm::Module&) (/home/ubuntu/opencilk/build/bin/clang+++0x1fb4708)
#25 0x000055a2b46c2a75 llvm::detail::PassModel<llvm::Module, llvm::ModuleInlinerWrapperPass, llvm::PreservedAnalyses, llvm::AnalysisManagerllvm::Module >::run(llvm::Mod
ule&, llvm::AnalysisManagerllvm::Module&) (/home/ubuntu/opencilk/build/bin/clang+++0x3a20a75)
#26 0x000055a2b2b0633d llvm::PassManager<llvm::Module, llvm::AnalysisManagerllvm::Module >::run(llvm::Module&, llvm::AnalysisManagerllvm::Module&) (/home/ubuntu/openc
ilk/build/bin/clang+++0x1e6433d)
#27 0x000055a2b37cf537 (anonymous namespace)::EmitAssemblyHelper::RunOptimizationPipeline(clang::BackendAction, std::unique_ptr<llvm::raw_pwrite_stream, std::default_dele
tellvm::raw_pwrite_stream >&, std::unique_ptr<llvm::ToolOutputFile, std::default_deletellvm::ToolOutputFile >&) (.constprop.0) BackendUtil.cpp:0:0
#28 0x000055a2b37d3500 clang::EmitBackendOutput(clang::DiagnosticsEngine&, clang::HeaderSearchOptions const&, clang::CodeGenOptions const&, clang::TargetOptions const&, c
lang::LangOptions const&, llvm::StringRef, llvm::Module*, clang::BackendAction, std::unique_ptr<llvm::raw_pwrite_stream, std::default_deletellvm::raw_pwrite_stream >) (
/home/ubuntu/opencilk/build/bin/clang+++0x2b31500)
#29 0x000055a2b464ab2d clang::BackendConsumer::HandleTranslationUnit(clang::ASTContext&) (/home/ubuntu/opencilk/build/bin/clang+++0x39a8b2d)
#30 0x000055a2b5314da9 clang::ParseAST(clang::Sema&, bool, bool) (/home/ubuntu/opencilk/build/bin/clang+++0x4672da9)
#31 0x000055a2b3f2d9e9 clang::FrontendAction::Execute() (/home/ubuntu/opencilk/build/bin/clang+++0x328b9e9)
#32 0x000055a2b3eb7a7e clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) (/home/ubuntu/opencilk/build/bin/clang+++0x3215a7e)
#33 0x000055a2b3ff787b clang::ExecuteCompilerInvocation(clang::CompilerInstance*) (/home/ubuntu/opencilk/build/bin/clang+++0x335587b)
#34 0x000055a2b1a3a076 cc1_main(llvm::ArrayRef<char const*>, char const*, void*) (/home/ubuntu/opencilk/build/bin/clang+++0xd98076)
#35 0x000055a2b1a35fee ExecuteCC1Tool(llvm::SmallVectorImpl<char const*>&) driver.cpp:0:0
#36 0x000055a2b3d2eb79 void llvm::function_ref<void ()>::callback_fn<clang::driver::CC1Command::Execute(llvm::ArrayRef<llvm::Optionalllvm::StringRef >, std::__cxx11::ba
sic_string<char, std::char_traits, std::allocator >, bool) const::'lambda'()>(long) Job.cpp:0:0
#37 0x000055a2b32fcd9a llvm::CrashRecoveryContext::RunSafely(llvm::function_ref<void ()>) (/home/ubuntu/opencilk/build/bin/clang+++0x265ad9a)
#38 0x000055a2b3d303e4 clang::driver::CC1Command::Execute(llvm::ArrayRef<llvm::Optionalllvm::StringRef >, std::__cxx11::basic_string<char, std::char_traits, std::
allocator >, bool) const (.part.0) Job.cpp:0:0
#39 0x000055a2b3cfe06b clang::driver::Compilation::ExecuteCommand(clang::driver::Command const&, clang::driver::Command const*&) const (/home/ubuntu/opencilk/build/bin/cl
ang+++0x305c06b)
#40 0x000055a2b3cfec09 clang::driver::Compilation::ExecuteJobs(clang::driver::JobList const&, llvm::SmallVectorImpl<std::pair<int, clang::driver::Command const*> >&) cons
t (/home/ubuntu/opencilk/build/bin/clang+++0x305cc09)
#41 0x000055a2b3d0d1e9 clang::driver::Driver::ExecuteCompilation(clang::driver::Compilation&, llvm::SmallVectorImpl<std::pair<int, clang::driver::Command const*> >&) (/ho
me/ubuntu/opencilk/build/bin/clang+++0x306b1e9)
#42 0x000055a2b19ab3f7 main (/home/ubuntu/opencilk/build/bin/clang+++0xd093f7)
#43 0x00007f3553029d90 (/lib/x86_64-linux-gnu/libc.so.6+0x29d90)
#44 0x00007f3553029e40 __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x29e40)
#45 0x000055a2b1a35615 _start (/home/ubuntu/opencilk/build/bin/clang+++0xd93615)
clang-14: fatal error: clang frontend command failed with exit code 134 (use -v to see invocation)
clang version 14.0.6 (https://github.com/OpenCilk/opencilk-project fc90ded)
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /home/ubuntu/opencilk/build/bin
clang-14: note: diagnostic msg:
PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT:
Preprocessed source(s) and associated run script(s) are located at:
clang-14: note: diagnostic msg: /tmp/test_delayed_filter_op-a983d7.cpp
clang-14: note: diagnostic msg: /tmp/test_delayed_filter_op-a983d7.sh
clang-14: note: diagnostic msg:
make[3]: *** [test/CMakeFiles/test_delayed_filter_op-nosan.dir/build.make:76: test/CMakeFiles/test_delayed_filter_op-nosan.dir/test_delayed_filter_op.cpp.o] Error 134
make[2]: *** [CMakeFiles/Makefile2:1526: test/CMakeFiles/test_delayed_filter_op-nosan.dir/all] Error 2
make[1]: *** [CMakeFiles/Makefile2:1533: test/CMakeFiles/test_delayed_filter_op-nosan.dir/rule] Error 2
make: *** [Makefile:330: test/CMakeFiles/test_delayed_filter_op-nosan.dir/rule] Error 2
Working example code
If applicable, include a working code example which triggers the bug.
Additional comments
Add any other comments about the issue here.