Quuxplusone / LLVMBugzillaTest

0 stars 0 forks source link

Segfault compiling omp taskloop nested inside omp task #46275

Open Quuxplusone opened 4 years ago

Quuxplusone commented 4 years ago
Bugzilla Link PR47306
Status NEW
Importance P normal
Reported by Joseph Schuchart (schuchart@hlrs.de)
Reported on 2020-08-25 09:31:30 -0700
Last modified on 2020-08-25 09:31:30 -0700
Version unspecified
Hardware PC Linux
CC llvm-bugs@lists.llvm.org
Fixed by commit(s)
Attachments test_nested_taskloop-307079.cpp (285 bytes, text/x-c++src)
Blocks
Blocked by
See also
Created attachment 23893
Preprocessed sources of the reproducer

I am trying to compile a simple reproducer for another issue that contains a
taskloop construct inside an omp task construct. Clang (llvmorg-12-init-4019-
g2501e911a5) aborts with the error below. I am attaching the preprocessed
sources, compiled with:

$ clang++ -O2 -fopenmp test_nested_taskloop.cc -o test_nested_taskloop.cc

The error (some paths replaced by me):

PLEASE submit a bug report to https://bugs.llvm.org/ and include the crash
backtrace, preprocessed source, and associated run script.
Stack dump:
0.  Program arguments: $HOME/opt-hawk/clang-trunk/bin/clang-12 -cc1 -triple
x86_64-unknown-linux-gnu -emit-obj --mrelax-relocations -disable-free -disable-
llvm-verifier -discard-value-names -main-file-name test_nested_taskloop.cc -
mrelocation-model static -mframe-pointer=none -fmath-errno -fno-rounding-math -
mconstructor-aliases -munwind-tables -target-cpu x86-64 -fno-split-dwarf-
inlining -debugger-tuning=gdb -resource-dir $HOME/opt-hawk/clang-
trunk/lib/clang/12.0.0 -I/opt/hpe/hpc/mpt/mpt-2.23/include -I/opt/hlrs/non-
spack/compiler/gcc/9.2.0/include -c-isystem /opt/hpe/hpc/mpt/mpt-2.23/include -
c-isystem /opt/hlrs/non-spack/compiler/gcc/9.2.0/include -cxx-isystem
/opt/hpe/hpc/mpt/mpt-2.23/include -cxx-isystem /opt/hlrs/non-
spack/compiler/gcc/9.2.0/include/c++/9.2.0 -internal-isystem
/usr/lib/gcc/x86_64-redhat-linux/8/../../../../include/c++/8 -internal-isystem
/usr/lib/gcc/x86_64-redhat-linux/8/../../../../include/c++/8/x86_64-redhat-
linux -internal-isystem /usr/lib/gcc/x86_64-redhat-
linux/8/../../../../include/c++/8/backward -internal-isystem /usr/local/include
-internal-isystem $HOME/opt-hawk/clang-trunk/lib/clang/12.0.0/include -internal-
externc-isystem /include -internal-externc-isystem /usr/include -O2 -
fdeprecated-macro -fdebug-compilation-dir
/zhome/academic/HLRS/hlrs/hpcjschu/src/test -ferror-limit 19 -fopenmp -fopenmp-
cuda-parallel-target-regions -fgnuc-version=4.2.1 -fcxx-exceptions -fexceptions
-fcolor-diagnostics -vectorize-loops -vectorize-slp -faddrsig -o
/tmp/test_nested_taskloop-c8fc09.o -x c++ test_nested_taskloop.cc
1.  <eof> parser at end of file
2.  Per-file LLVM IR generation
3.  test_nested_taskloop.cc:4:5: Generating code for declaration 'foo'
4.  test_nested_taskloop.cc:7:31: LLVM IR generation of compound statement ('{}')
5.  test_nested_taskloop.cc:9:1: LLVM IR generation of compound statement ('{}')
 #0 0x000000000285c52a llvm::sys::PrintStackTrace(llvm::raw_ostream&) $HOME/src/clang/llvm-project/llvm/lib/Support/Unix/Signals.inc:567:3
 #1 0x000000000285a594 llvm::sys::RunSignalHandlers() $HOME/src/clang/llvm-project/llvm/lib/Support/Signals.cpp:70:20
 #2 0x000000000285ae75 SignalHandler(int) $HOME/src/clang/llvm-project/llvm/lib/Support/Unix/Signals.inc:405:1
 #3 0x00007f2a34536dc0 __restore_rt (/lib64/libpthread.so.0+0x12dc0)
 #4 0x0000000002dc56b5 bool llvm::PointerUnion<clang::DeclContext*, clang::Decl::MultipleDC*>::is<clang::DeclContext*>() const $HOME/src/clang/llvm-project/llvm/include/llvm/ADT/PointerUnion.h:181:31
 #5 0x0000000002dc56b5 clang::Decl::isInSemaDC() const $HOME/src/clang/llvm-project/clang/include/clang/AST/DeclBase.h:270:60
 #6 0x0000000002dc56b5 clang::Decl::getDeclContext() $HOME/src/clang/llvm-project/clang/include/clang/AST/DeclBase.h:440:19
 #7 0x0000000002dc56b5 clang::Decl::getDeclContext() const $HOME/src/clang/llvm-project/clang/include/clang/AST/DeclBase.h:445:51
 #8 0x0000000002dc56b5 clang::FieldDecl::getParent() const $HOME/src/clang/llvm-project/clang/include/clang/AST/Decl.h:2954:32
 #9 0x0000000002dc56b5 EmitCapturedFieldLValue(clang::CodeGen::CodeGenFunction&, clang::FieldDecl const*, llvm::Value*) $HOME/src/clang/llvm-project/clang/lib/CodeGen/CGExpr.cpp:2549:67
#10 0x0000000002dd0823 clang::CodeGen::CodeGenFunction::getContext() const
$HOME/src/clang/llvm-project/clang/lib/CodeGen/CodeGenFunction.h:1842:58
#11 0x0000000002dd0823
clang::CodeGen::CodeGenFunction::EmitDeclRefLValue(clang::DeclRefExpr const*)
$HOME/src/clang/llvm-project/clang/lib/CodeGen/CGExpr.cpp:2707:59
#12 0x0000000002dcf08c clang::CodeGen::CodeGenFunction::EmitLValue(clang::Expr
const*) (.localalias) $HOME/src/clang/llvm-
project/clang/lib/CodeGen/CGExpr.cpp:1309:50
#13 0x0000000002dd4213
clang::CodeGen::CodeGenFunction::EmitCheckedLValue(clang::Expr const*,
clang::CodeGen::CodeGenFunction::TypeCheckKind) $HOME/src/clang/llvm-
project/clang/lib/CodeGen/CGExpr.cpp:1247:48
#14 0x0000000002e1246e EmitLoadOfLValue $HOME/src/clang/llvm-
project/clang/lib/CodeGen/CGExprScalar.cpp:252:40
#15 0x0000000002e1246e (anonymous
namespace)::ScalarExprEmitter::EmitLoadOfLValue(clang::Expr const*)
$HOME/src/clang/llvm-project/clang/lib/CodeGen/CGExprScalar.cpp:294:32
#16 0x0000000002e11d2c VisitDeclRefExpr $HOME/src/clang/llvm-
project/clang/lib/CodeGen/CGExprScalar.cpp:499:28
#17 0x0000000002e11d2c Visit $HOME/src/clang/llvm-
project/build/tools/clang/include/clang/AST/StmtNodes.inc:979:1
#18 0x0000000002e11d2c (anonymous
namespace)::ScalarExprEmitter::Visit(clang::Expr*) $HOME/src/clang/llvm-
project/clang/lib/CodeGen/CGExprScalar.cpp:409:57
#19 0x0000000002e17228 (anonymous
namespace)::ScalarExprEmitter::VisitCastExpr(clang::CastExpr*)
$HOME/src/clang/llvm-project/clang/lib/CodeGen/CGExprScalar.cpp:2127:17
#20 0x0000000002e0fce6 VisitImplicitCastExpr $HOME/src/clang/llvm-
project/build/tools/clang/include/clang/AST/StmtNodes.inc:919:1
#21 0x0000000002e0fce6 Visit $HOME/src/clang/llvm-
project/build/tools/clang/include/clang/AST/StmtNodes.inc:919:1
#22 0x0000000002e0fce6 (anonymous
namespace)::ScalarExprEmitter::Visit(clang::Expr*) $HOME/src/clang/llvm-
project/clang/lib/CodeGen/CGExprScalar.cpp:409:57
#23 0x0000000002e120d3
clang::CodeGen::CodeGenFunction::EmitScalarExpr(clang::Expr const*, bool)
$HOME/src/clang/llvm-project/clang/lib/CodeGen/CGExprScalar.cpp:4592:1
#24 0x0000000002d9a0a7
clang::CodeGen::CodeGenFunction::EmitScalarInit(clang::Expr const*,
clang::ValueDecl const*, clang::CodeGen::LValue, bool) $HOME/src/clang/llvm-
project/clang/lib/CodeGen/CGDecl.cpp:759:40
#25 0x0000000002d9a75c
clang::CodeGen::CodeGenFunction::EmitExprAsInit(clang::Expr const*,
clang::ValueDecl const*, clang::CodeGen::LValue, bool) $HOME/src/clang/llvm-
project/clang/lib/CodeGen/CGDecl.cpp:1907:5
#26 0x0000000002da2a90
clang::CodeGen::CodeGenFunction::EmitAutoVarInit(clang::CodeGen::CodeGenFunction::AutoVarEmission
const&) $HOME/src/clang/llvm-project/clang/lib/CodeGen/CGDecl.cpp:1867:26
#27 0x0000000002da40c6
clang::CodeGen::CodeGenFunction::EmitAutoVarDecl(clang::VarDecl const&)
$HOME/src/clang/llvm-project/clang/lib/CodeGen/CGDecl.cpp:1293:22
#28 0x0000000002b66fdf (anonymous
namespace)::OMPLoopScope::emitPreInitStmt(clang::CodeGen::CodeGenFunction&,
clang::OMPLoopDirective const&) (.isra.0) $HOME/src/clang/llvm-
project/clang/lib/CodeGen/CGStmtOpenMP.cpp:180:44
#29 0x0000000002b67524 std::__uniq_ptr_impl<clang::CodeGen::CGOpenMPRuntime,
std::default_delete<clang::CodeGen::CGOpenMPRuntime> >::_M_ptr() const
/opt/hlrs/non-spack/compiler/gcc/9.2.0/include/c++/9.2.0/bits/unique_ptr.h:154:58
#30 0x0000000002b67524 std::unique_ptr<clang::CodeGen::CGOpenMPRuntime,
std::default_delete<clang::CodeGen::CGOpenMPRuntime> >::get() const
/opt/hlrs/non-spack/compiler/gcc/9.2.0/include/c++/9.2.0/bits/unique_ptr.h:353:28
#31 0x0000000002b67524 std::unique_ptr<clang::CodeGen::CGOpenMPRuntime,
std::default_delete<clang::CodeGen::CGOpenMPRuntime> >::operator*() const
/opt/hlrs/non-spack/compiler/gcc/9.2.0/include/c++/9.2.0/bits/unique_ptr.h:339:9
#32 0x0000000002b67524 clang::CodeGen::CodeGenModule::getOpenMPRuntime()
$HOME/src/clang/llvm-project/clang/lib/CodeGen/CodeGenModule.h:592:13
#33 0x0000000002b67524 operator() $HOME/src/clang/llvm-
project/clang/lib/CodeGen/CGStmtOpenMP.cpp:6504:32
#34 0x0000000002b67524 void
clang::CodeGen::RegionCodeGenTy::CallbackFn<clang::CodeGen::CodeGenFunction::EmitOMPTaskLoopBasedDirective(clang::OMPLoopDirective
const&)::'lambda0'(clang::CodeGen::CodeGenFunction&, llvm::Function*,
clang::CodeGen::OMPTaskDataTy
const&)::operator()(clang::CodeGen::CodeGenFunction&, llvm::Function*,
clang::CodeGen::OMPTaskDataTy const&)
const::'lambda'(clang::CodeGen::CodeGenFunction&,
clang::CodeGen::PrePostActionTy&)>(long, clang::CodeGen::CodeGenFunction&,
clang::CodeGen::PrePostActionTy&) $HOME/src/clang/llvm-
project/clang/lib/CodeGen/CGOpenMPRuntime.h:80:52
#35 0x0000000002e96d8b clang::CodeGen::PrePostActionTy::~PrePostActionTy()
$HOME/src/clang/llvm-project/clang/lib/CodeGen/CGOpenMPRuntime.h:65:11
#36 0x0000000002e96d8b
clang::CodeGen::RegionCodeGenTy::operator()(clang::CodeGen::CodeGenFunction&)
const $HOME/src/clang/llvm-project/clang/lib/CodeGen/CGOpenMPRuntime.cpp:593:21
#37 0x0000000002e96fbf clang::CodeGen::EHScopeStack::popTerminate()
$HOME/src/clang/llvm-project/clang/lib/CodeGen/CGCleanup.h:571:3
#38 0x0000000002e96fbf EmitBody $HOME/src/clang/llvm-
project/clang/lib/CodeGen/CGOpenMPRuntime.cpp:1041:27
#39 0x0000000002e96fbf (anonymous
namespace)::CGOpenMPRegionInfo::EmitBody(clang::CodeGen::CodeGenFunction&,
clang::Stmt const*) $HOME/src/clang/llvm-
project/clang/lib/CodeGen/CGOpenMPRuntime.cpp:1031:6
#40 0x0000000002e904fa ~InlinedOpenMPRegionRAII $HOME/src/clang/llvm-
project/clang/lib/CodeGen/CGOpenMPRuntime.cpp:434:73
#41 0x0000000002e904fa
clang::CodeGen::CGOpenMPRuntime::emitInlinedDirective(clang::CodeGen::CodeGenFunction&,
llvm::omp::Directive, clang::CodeGen::RegionCodeGenTy const&, bool)
$HOME/src/clang/llvm-project/clang/lib/CodeGen/CGOpenMPRuntime.cpp:6180:68
#42 0x0000000002e904fa
clang::CodeGen::CGOpenMPRuntime::emitInlinedDirective(clang::CodeGen::CodeGenFunction&,
llvm::omp::Directive, clang::CodeGen::RegionCodeGenTy const&, bool)
$HOME/src/clang/llvm-project/clang/lib/CodeGen/CGOpenMPRuntime.cpp:6174:6
#43 0x0000000002b3e0a3 void llvm::function_ref<void
(clang::CodeGen::CodeGenFunction&, llvm::Function*,
clang::CodeGen::OMPTaskDataTy
const&)>::callback_fn<clang::CodeGen::CodeGenFunction::EmitOMPTaskLoopBasedDirective(clang::OMPLoopDirective
const&)::'lambda0'(clang::CodeGen::CodeGenFunction&, llvm::Function*,
clang::CodeGen::OMPTaskDataTy const&)>(long, clang::CodeGen::CodeGenFunction&,
llvm::Function*, clang::CodeGen::OMPTaskDataTy const&) $HOME/src/clang/llvm-
project/llvm/include/llvm/ADT/STLExtras.h:187:3
#44 0x0000000002b55056 ~OMPLexicalScope $HOME/src/clang/llvm-
project/clang/lib/CodeGen/CGStmtOpenMP.cpp:41:7
#45 0x0000000002b55056
clang::CodeGen::CodeGenFunction::EmitOMPTaskBasedDirective(clang::OMPExecutableDirective
const&, llvm::omp::Directive, clang::CodeGen::RegionCodeGenTy const&,
llvm::function_ref<void (clang::CodeGen::CodeGenFunction&, llvm::Function*,
clang::CodeGen::OMPTaskDataTy const&)> const&, clang::CodeGen::OMPTaskDataTy&)
$HOME/src/clang/llvm-project/clang/lib/CodeGen/CGStmtOpenMP.cpp:4113:73
#46 0x0000000002b565a2 void
clang::CodeGen::RegionCodeGenTy::CallbackFn<clang::CodeGen::CodeGenFunction::EmitOMPTaskLoopBasedDirective(clang::OMPLoopDirective
const&)::'lambda1'(clang::CodeGen::CodeGenFunction&,
clang::CodeGen::PrePostActionTy&)>(long, clang::CodeGen::CodeGenFunction&,
clang::CodeGen::PrePostActionTy&) $HOME/src/clang/llvm-
project/clang/lib/CodeGen/CGOpenMPRuntime.h:81:3
#47 0x0000000002e96d36
clang::CodeGen::CodeGenFunction::RunCleanupsScope::ForceCleanup(std::initializer_list<llvm::Value**>)
$HOME/src/clang/llvm-project/clang/lib/CodeGen/CodeGenFunction.h:808:28
#48 0x0000000002e96d36
clang::CodeGen::CodeGenFunction::RunCleanupsScope::~RunCleanupsScope()
$HOME/src/clang/llvm-project/clang/lib/CodeGen/CodeGenFunction.h:792:21
#49 0x0000000002e96d36
clang::CodeGen::RegionCodeGenTy::operator()(clang::CodeGen::CodeGenFunction&)
const $HOME/src/clang/llvm-project/clang/lib/CodeGen/CGOpenMPRuntime.cpp:588:46
#50 0x0000000002e96fbf clang::CodeGen::EHScopeStack::popTerminate()
$HOME/src/clang/llvm-project/clang/lib/CodeGen/CGCleanup.h:571:3
#51 0x0000000002e96fbf EmitBody $HOME/src/clang/llvm-
project/clang/lib/CodeGen/CGOpenMPRuntime.cpp:1041:27
#52 0x0000000002e96fbf (anonymous
namespace)::CGOpenMPRegionInfo::EmitBody(clang::CodeGen::CodeGenFunction&,
clang::Stmt const*) $HOME/src/clang/llvm-
project/clang/lib/CodeGen/CGOpenMPRuntime.cpp:1031:6
#53 0x0000000002e904fa ~InlinedOpenMPRegionRAII $HOME/src/clang/llvm-
project/clang/lib/CodeGen/CGOpenMPRuntime.cpp:434:73
#54 0x0000000002e904fa
clang::CodeGen::CGOpenMPRuntime::emitInlinedDirective(clang::CodeGen::CodeGenFunction&,
llvm::omp::Directive, clang::CodeGen::RegionCodeGenTy const&, bool)
$HOME/src/clang/llvm-project/clang/lib/CodeGen/CGOpenMPRuntime.cpp:6180:68
#55 0x0000000002e904fa
clang::CodeGen::CGOpenMPRuntime::emitInlinedDirective(clang::CodeGen::CodeGenFunction&,
llvm::omp::Directive, clang::CodeGen::RegionCodeGenTy const&, bool)
$HOME/src/clang/llvm-project/clang/lib/CodeGen/CGOpenMPRuntime.cpp:6174:6
#56 0x0000000002eb7894
clang::CodeGen::CGOpenMPRuntime::emitTaskgroupRegion(clang::CodeGen::CodeGenFunction&,
clang::CodeGen::RegionCodeGenTy const&, clang::SourceLocation)
$HOME/src/clang/llvm-project/clang/lib/CodeGen/CGOpenMPRuntime.cpp:2295:1
#57 0x0000000002b569a0
clang::CodeGen::CodeGenFunction::EmitOMPTaskLoopBasedDirective(clang::OMPLoopDirective
const&) $HOME/src/clang/llvm-project/clang/lib/CodeGen/CGStmtOpenMP.cpp:6384:17
#58 0x0000000002b56b0b
clang::CodeGen::CodeGenFunction::EmitOMPTaskLoopDirective(clang::OMPTaskLoopDirective
const&) $HOME/src/clang/llvm-project/clang/lib/CodeGen/CGStmtOpenMP.cpp:6528:68
#59 0x0000000002b3849e clang::CodeGen::CodeGenFunction::EmitStmt(clang::Stmt
const*, llvm::ArrayRef<clang::Attr const*>) $HOME/src/clang/llvm-
project/clang/lib/CodeGen/CGStmt.cpp:293:5
#60 0x0000000002b3890a
clang::CodeGen::CodeGenFunction::EmitCompoundStmtWithoutScope(clang::CompoundStmt
const&, bool, clang::CodeGen::AggValueSlot) $HOME/src/clang/llvm-
project/clang/lib/CodeGen/CGStmt.cpp:418:31
#61 0x0000000002b38bd9
clang::CodeGen::CodeGenFunction::LexicalScope::~LexicalScope()
$HOME/src/clang/llvm-project/clang/lib/CodeGen/CodeGenFunction.h:845:29
#62 0x0000000002b38bd9
clang::CodeGen::CodeGenFunction::EmitCompoundStmt(clang::CompoundStmt const&,
bool, clang::CodeGen::AggValueSlot) $HOME/src/clang/llvm-
project/clang/lib/CodeGen/CGStmt.cpp:402:47
#63 0x0000000002b3cbfb
clang::CodeGen::CodeGenFunction::EmitSimpleStmt(clang::Stmt const*)
$HOME/src/clang/llvm-project/clang/lib/CodeGen/CGStmt.cpp:377:75
#64 0x0000000002b3829c clang::CodeGen::CodeGenFunction::EmitStmt(clang::Stmt
const*, llvm::ArrayRef<clang::Attr const*>) $HOME/src/clang/llvm-
project/clang/lib/CodeGen/CGStmt.cpp:53:3
#65 0x0000000002e96d8b clang::CodeGen::PrePostActionTy::~PrePostActionTy()
$HOME/src/clang/llvm-project/clang/lib/CodeGen/CGOpenMPRuntime.h:65:11
#66 0x0000000002e96d8b
clang::CodeGen::RegionCodeGenTy::operator()(clang::CodeGen::CodeGenFunction&)
const $HOME/src/clang/llvm-project/clang/lib/CodeGen/CGOpenMPRuntime.cpp:593:21
#67 0x0000000002b5d4db
clang::CodeGen::CodeGenFunction::EmitOMPTaskBasedDirective(clang::OMPExecutableDirective
const&, llvm::omp::Directive, clang::CodeGen::RegionCodeGenTy const&,
llvm::function_ref<void (clang::CodeGen::CodeGenFunction&, llvm::Function*,
clang::CodeGen::OMPTaskDataTy const&)> const&,
clang::CodeGen::OMPTaskDataTy&)::'lambda'(clang::CodeGen::CodeGenFunction&,
clang::CodeGen::PrePostActionTy&)::operator()(clang::CodeGen::CodeGenFunction&,
clang::CodeGen::PrePostActionTy&) const $HOME/src/clang/llvm-
project/clang/lib/CodeGen/CGStmtOpenMP.cpp:4104:77
#68 0x0000000002e96d36
clang::CodeGen::CodeGenFunction::RunCleanupsScope::ForceCleanup(std::initializer_list<llvm::Value**>)
$HOME/src/clang/llvm-project/clang/lib/CodeGen/CodeGenFunction.h:808:28
#69 0x0000000002e96d36
clang::CodeGen::CodeGenFunction::RunCleanupsScope::~RunCleanupsScope()
$HOME/src/clang/llvm-project/clang/lib/CodeGen/CodeGenFunction.h:792:21
#70 0x0000000002e96d36
clang::CodeGen::RegionCodeGenTy::operator()(clang::CodeGen::CodeGenFunction&)
const $HOME/src/clang/llvm-project/clang/lib/CodeGen/CGOpenMPRuntime.cpp:588:46
#71 0x0000000002e96fbf clang::CodeGen::EHScopeStack::popTerminate()
$HOME/src/clang/llvm-project/clang/lib/CodeGen/CGCleanup.h:571:3
#72 0x0000000002e96fbf EmitBody $HOME/src/clang/llvm-
project/clang/lib/CodeGen/CGOpenMPRuntime.cpp:1041:27
#73 0x0000000002e96fbf (anonymous
namespace)::CGOpenMPRegionInfo::EmitBody(clang::CodeGen::CodeGenFunction&,
clang::Stmt const*) $HOME/src/clang/llvm-
project/clang/lib/CodeGen/CGOpenMPRuntime.cpp:1031:6
#74 0x0000000002b374c6
clang::CodeGen::CodeGenFunction::GenerateCapturedStmtFunction(clang::CapturedStmt
const&) $HOME/src/clang/llvm-project/clang/lib/CodeGen/CGStmt.cpp:2508:29
#75 0x0000000002ec553b
clang::CodeGen::CGOpenMPRuntime::emitTaskOutlinedFunction(clang::OMPExecutableDirective
const&, clang::VarDecl const*, clang::VarDecl const*, clang::VarDecl const*,
llvm::omp::Directive, clang::CodeGen::RegionCodeGenTy const&, bool, unsigned
int&) $HOME/src/clang/llvm-project/clang/lib/CodeGen/CGOpenMPRuntime.cpp:1331:57
#76 0x0000000002b55011
clang::CodeGen::CodeGenFunction::EmitOMPTaskBasedDirective(clang::OMPExecutableDirective
const&, llvm::omp::Directive, clang::CodeGen::RegionCodeGenTy const&,
llvm::function_ref<void (clang::CodeGen::CodeGenFunction&, llvm::Function*,
clang::CodeGen::OMPTaskDataTy const&)> const&, clang::CodeGen::OMPTaskDataTy&)
$HOME/src/clang/llvm-project/clang/lib/CodeGen/CGStmtOpenMP.cpp:4112:51
#77 0x0000000002b564fe
clang::CodeGen::CodeGenFunction::EmitOMPTaskDirective(clang::OMPTaskDirective
const&) $HOME/src/clang/llvm-project/clang/lib/CodeGen/CGStmtOpenMP.cpp:4301:68
#78 0x0000000002b38674 clang::CodeGen::CodeGenFunction::EmitStmt(clang::Stmt
const*, llvm::ArrayRef<clang::Attr const*>) $HOME/src/clang/llvm-
project/clang/lib/CodeGen/CGStmt.cpp:236:5
#79 0x0000000002b3890a
clang::CodeGen::CodeGenFunction::EmitCompoundStmtWithoutScope(clang::CompoundStmt
const&, bool, clang::CodeGen::AggValueSlot) $HOME/src/clang/llvm-
project/clang/lib/CodeGen/CGStmt.cpp:418:31
#80 0x0000000002b38bd9
clang::CodeGen::CodeGenFunction::LexicalScope::~LexicalScope()
$HOME/src/clang/llvm-project/clang/lib/CodeGen/CodeGenFunction.h:845:29
#81 0x0000000002b38bd9
clang::CodeGen::CodeGenFunction::EmitCompoundStmt(clang::CompoundStmt const&,
bool, clang::CodeGen::AggValueSlot) $HOME/src/clang/llvm-
project/clang/lib/CodeGen/CGStmt.cpp:402:47
#82 0x0000000002b3cbfb
clang::CodeGen::CodeGenFunction::EmitSimpleStmt(clang::Stmt const*)
$HOME/src/clang/llvm-project/clang/lib/CodeGen/CGStmt.cpp:377:75
#83 0x0000000002b3829c clang::CodeGen::CodeGenFunction::EmitStmt(clang::Stmt
const*, llvm::ArrayRef<clang::Attr const*>) $HOME/src/clang/llvm-
project/clang/lib/CodeGen/CGStmt.cpp:53:3
#84 0x0000000002b3a8da
clang::CodeGen::CodeGenFunction::RunCleanupsScope::ForceCleanup(std::initializer_list<llvm::Value**>)
$HOME/src/clang/llvm-project/clang/lib/CodeGen/CodeGenFunction.h:809:27
#85 0x0000000002b3a8da
clang::CodeGen::CodeGenFunction::RunCleanupsScope::~RunCleanupsScope()
$HOME/src/clang/llvm-project/clang/lib/CodeGen/CodeGenFunction.h:792:21
#86 0x0000000002b3a8da
clang::CodeGen::CodeGenFunction::EmitForStmt(clang::ForStmt const&,
llvm::ArrayRef<clang::Attr const*>) $HOME/src/clang/llvm-
project/clang/lib/CodeGen/CGStmt.cpp:955:37
#87 0x0000000002b3884a clang::CodeGen::CodeGenFunction::EmitStmt(clang::Stmt
const*, llvm::ArrayRef<clang::Attr const*>) $HOME/src/clang/llvm-
project/clang/lib/CodeGen/CGStmt.cpp:146:75
#88 0x0000000002b3890a
clang::CodeGen::CodeGenFunction::EmitCompoundStmtWithoutScope(clang::CompoundStmt
const&, bool, clang::CodeGen::AggValueSlot) $HOME/src/clang/llvm-
project/clang/lib/CodeGen/CGStmt.cpp:418:31
#89 0x0000000002b891cf
clang::CodeGen::CodeGenFunction::EmitFunctionBody(clang::Stmt const*)
$HOME/src/clang/llvm-project/clang/lib/CodeGen/CodeGenFunction.cpp:1147:36
#90 0x0000000002b93e75 clang::CodeGen::CodeGenFunction::getLangOpts() const
$HOME/src/clang/llvm-project/clang/lib/CodeGen/CodeGenFunction.h:1855:67
#91 0x0000000002b93e75
clang::CodeGen::CodeGenFunction::GenerateCode(clang::GlobalDecl,
llvm::Function*, clang::CodeGen::CGFunctionInfo const&) $HOME/src/clang/llvm-
project/clang/lib/CodeGen/CodeGenFunction.cpp:1322:19
#92 0x0000000002bd7cd9
clang::CodeGen::CodeGenModule::EmitGlobalFunctionDefinition(clang::GlobalDecl,
llvm::GlobalValue*) $HOME/src/clang/llvm-
project/clang/lib/CodeGen/CodeGenModule.cpp:4558:3
#93 0x0000000002bd5505
clang::CodeGen::CodeGenModule::EmitGlobalDefinition(clang::GlobalDecl,
llvm::GlobalValue*) $HOME/src/clang/llvm-
project/clang/lib/CodeGen/CodeGenModule.cpp:2918:47
#94 0x0000000002bdc516 clang::CodeGen::CodeGenModule::EmitDeferred()
(.localalias) $HOME/src/clang/llvm-
project/clang/lib/CodeGen/CodeGenModule.cpp:2241:34
#95 0x0000000002bdc5e7 clang::CodeGen::CodeGenModule::Release()
$HOME/src/clang/llvm-project/clang/lib/CodeGen/CodeGenModule.cpp:406:31
#96 0x00000000036dceaa (anonymous
namespace)::CodeGeneratorImpl::HandleTranslationUnit(clang::ASTContext&)
$HOME/src/clang/llvm-project/clang/lib/CodeGen/ModuleBuilder.cpp:271:33
#97 0x00000000036dbea5
clang::BackendConsumer::HandleTranslationUnit(clang::ASTContext&)
$HOME/src/clang/llvm-project/clang/lib/CodeGen/CodeGenAction.cpp:285:9
#98 0x00000000042883d9 clang::ParseAST(clang::Sema&, bool, bool)
$HOME/src/clang/llvm-project/clang/lib/Parse/ParseAST.cpp:171:34
#99 0x00000000030a43c9 clang::FrontendAction::Execute() $HOME/src/clang/llvm-
project/clang/lib/Frontend/FrontendAction.cpp:950:21
#100 0x000000000305aefb llvm::Error::operator bool() $HOME/src/clang/llvm-
project/llvm/include/llvm/Support/Error.h:236:22
#101 0x000000000305aefb
clang::CompilerInstance::ExecuteAction(clang::FrontendAction&)
$HOME/src/clang/llvm-project/clang/lib/Frontend/CompilerInstance.cpp:984:42
#102 0x0000000003162168
clang::ExecuteCompilerInvocation(clang::CompilerInstance*) $HOME/src/clang/llvm-
project/clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp:279:43
#103 0x00000000009f2025 cc1_main(llvm::ArrayRef<char const*>, char const*,
void*) $HOME/src/clang/llvm-project/clang/tools/driver/cc1_main.cpp:240:40
#104 0x00000000009efbea ExecuteCC1Tool(llvm::SmallVectorImpl<char const*>&)
$HOME/src/clang/llvm-project/clang/tools/driver/driver.cpp:330:20
#105 0x000000000095172e main $HOME/src/clang/llvm-
project/clang/tools/driver/driver.cpp:407:26
#106 0x00007f2a32fb2873 __libc_start_main (/lib64/libc.so.6+0x23873)
#107 0x00000000009ef77e _start ($HOME/opt-hawk/clang-trunk/bin/clang-
12+0x9ef77e)
clang-12: error: unable to execute command: Segmentation fault (core dumped)
clang-12: error: clang frontend command failed due to signal (use -v to see
invocation)
clang version 12.0.0
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: $HOME/opt-hawk/clang-trunk/bin
clang-12: note: diagnostic msg:
********************

PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT:
Preprocessed source(s) and associated run script(s) are located at:
clang-12: note: diagnostic msg: /tmp/test_nested_taskloop-307079.cpp
clang-12: note: diagnostic msg: /tmp/test_nested_taskloop-307079.sh
clang-12: note: diagnostic msg:

********************
Quuxplusone commented 4 years ago

Attached test_nested_taskloop-307079.cpp (285 bytes, text/x-c++src): Preprocessed sources of the reproducer