[llvm-bugs] [Bug 39005] New: segmentation fault when playing around with coroutines support

via llvm-bugs llvm-bugs at lists.llvm.org
Wed Sep 19 13:06:36 PDT 2018


https://bugs.llvm.org/show_bug.cgi?id=39005

            Bug ID: 39005
           Summary: segmentation fault when playing around with coroutines
                    support
           Product: new-bugs
           Version: unspecified
          Hardware: Other
                OS: Linux
            Status: NEW
          Severity: enhancement
          Priority: P
         Component: new bugs
          Assignee: unassignedbugs at nondot.org
          Reporter: yshalab2 at illinois.edu
                CC: llvm-bugs at lists.llvm.org

Created attachment 20892
  --> https://bugs.llvm.org/attachment.cgi?id=20892&action=edit
run script

#0 0x0000000001b76dc4 PrintStackTraceSignalHandler(void*)
(/home/yasser/benchmarks/clang+llvm-6.0.1-x86_64-linux-gnu-ubuntu-16.04/bin/clang-6.0+0x1b76dc4)
#1 0x0000000001b770a6 SignalHandler(int)
(/home/yasser/benchmarks/clang+llvm-6.0.1-x86_64-linux-gnu-ubuntu-16.04/bin/clang-6.0+0x1b770a6)
#2 0x00007f74fa396390 __restore_rt
(/lib/x86_64-linux-gnu/libpthread.so.0+0x11390)
#3 0x0000000001e95ab9 (anonymous
namespace)::ScalarExprEmitter::VisitCallExpr(clang::CallExpr const*)
(/home/yasser/benchmarks/clang+llvm-6.0.1-x86_64-linux-gnu-ubuntu-16.04/bin/clang-6.0+0x1e95ab9)
#4 0x0000000001e887c2
clang::CodeGen::CodeGenFunction::EmitScalarExpr(clang::Expr const*, bool)
(/home/yasser/benchmarks/clang+llvm-6.0.1-x86_64-linux-gnu-ubuntu-16.04/bin/clang-6.0+0x1e887c2)
#5 0x0000000001e57af6 clang::CodeGen::CodeGenFunction::EmitAnyExpr(clang::Expr
const*, clang::CodeGen::AggValueSlot, bool)
(/home/yasser/benchmarks/clang+llvm-6.0.1-x86_64-linux-gnu-ubuntu-16.04/bin/clang-6.0+0x1e57af6)
#6 0x0000000001e43563 emitSuspendExpression(clang::CodeGen::CodeGenFunction&,
clang::CodeGen::CGCoroData&, clang::CoroutineSuspendExpr const&, (anonymous
namespace)::AwaitKind, clang::CodeGen::AggValueSlot, bool, bool)
(/home/yasser/benchmarks/clang+llvm-6.0.1-x86_64-linux-gnu-ubuntu-16.04/bin/clang-6.0+0x1e43563)
#7 0x0000000001e43027
clang::CodeGen::CodeGenFunction::EmitCoawaitExpr(clang::CoawaitExpr const&,
clang::CodeGen::AggValueSlot, bool)
(/home/yasser/benchmarks/clang+llvm-6.0.1-x86_64-linux-gnu-ubuntu-16.04/bin/clang-6.0+0x1e43027)
#8 0x0000000001e90265 clang::StmtVisitorBase<clang::make_ptr, (anonymous
namespace)::ScalarExprEmitter, llvm::Value*>::Visit(clang::Stmt*)
(/home/yasser/benchmarks/clang+llvm-6.0.1-x86_64-linux-gnu-ubuntu-16.04/bin/clang-6.0+0x1e90265)
#9 0x0000000001e91126 clang::StmtVisitorBase<clang::make_ptr, (anonymous
namespace)::ScalarExprEmitter, llvm::Value*>::Visit(clang::Stmt*)
(/home/yasser/benchmarks/clang+llvm-6.0.1-x86_64-linux-gnu-ubuntu-16.04/bin/clang-6.0+0x1e91126)
#10 0x0000000001e887c2
clang::CodeGen::CodeGenFunction::EmitScalarExpr(clang::Expr const*, bool)
(/home/yasser/benchmarks/clang+llvm-6.0.1-x86_64-linux-gnu-ubuntu-16.04/bin/clang-6.0+0x1e887c2)
#11 0x0000000001e57a46
clang::CodeGen::CodeGenFunction::EmitIgnoredExpr(clang::Expr const*)
(/home/yasser/benchmarks/clang+llvm-6.0.1-x86_64-linux-gnu-ubuntu-16.04/bin/clang-6.0+0x1e57a46)
#12 0x0000000001d10661 clang::CodeGen::CodeGenFunction::EmitStmt(clang::Stmt
const*, llvm::ArrayRef<clang::Attr const*>)
(/home/yasser/benchmarks/clang+llvm-6.0.1-x86_64-linux-gnu-ubuntu-16.04/bin/clang-6.0+0x1d10661)
#13 0x0000000001d19250
clang::CodeGen::CodeGenFunction::EmitCompoundStmtWithoutScope(clang::CompoundStmt
const&, bool, clang::CodeGen::AggValueSlot)
(/home/yasser/benchmarks/clang+llvm-6.0.1-x86_64-linux-gnu-ubuntu-16.04/bin/clang-6.0+0x1d19250)
#14 0x0000000001d18921
clang::CodeGen::CodeGenFunction::EmitCompoundStmt(clang::CompoundStmt const&,
bool, clang::CodeGen::AggValueSlot)
(/home/yasser/benchmarks/clang+llvm-6.0.1-x86_64-linux-gnu-ubuntu-16.04/bin/clang-6.0+0x1d18921)
#15 0x0000000001d10d10
clang::CodeGen::CodeGenFunction::EmitSimpleStmt(clang::Stmt const*)
(/home/yasser/benchmarks/clang+llvm-6.0.1-x86_64-linux-gnu-ubuntu-16.04/bin/clang-6.0+0x1d10d10)
#16 0x0000000001d1057b clang::CodeGen::CodeGenFunction::EmitStmt(clang::Stmt
const*, llvm::ArrayRef<clang::Attr const*>)
(/home/yasser/benchmarks/clang+llvm-6.0.1-x86_64-linux-gnu-ubuntu-16.04/bin/clang-6.0+0x1d1057b)
#17 0x0000000001e446b2
clang::CodeGen::CodeGenFunction::EmitCoroutineBody(clang::CoroutineBodyStmt
const&)
(/home/yasser/benchmarks/clang+llvm-6.0.1-x86_64-linux-gnu-ubuntu-16.04/bin/clang-6.0+0x1e446b2)
#18 0x0000000001d10b1c clang::CodeGen::CodeGenFunction::EmitStmt(clang::Stmt
const*, llvm::ArrayRef<clang::Attr const*>)
(/home/yasser/benchmarks/clang+llvm-6.0.1-x86_64-linux-gnu-ubuntu-16.04/bin/clang-6.0+0x1d10b1c)
#19 0x0000000001d520b6
clang::CodeGen::CodeGenFunction::GenerateCode(clang::GlobalDecl,
llvm::Function*, clang::CodeGen::CGFunctionInfo const&)
(/home/yasser/benchmarks/clang+llvm-6.0.1-x86_64-linux-gnu-ubuntu-16.04/bin/clang-6.0+0x1d520b6)
#20 0x0000000001d657f8
clang::CodeGen::CodeGenModule::EmitGlobalFunctionDefinition(clang::GlobalDecl,
llvm::GlobalValue*)
(/home/yasser/benchmarks/clang+llvm-6.0.1-x86_64-linux-gnu-ubuntu-16.04/bin/clang-6.0+0x1d657f8)
#21 0x0000000001d6049b
clang::CodeGen::CodeGenModule::EmitGlobalDefinition(clang::GlobalDecl,
llvm::GlobalValue*)
(/home/yasser/benchmarks/clang+llvm-6.0.1-x86_64-linux-gnu-ubuntu-16.04/bin/clang-6.0+0x1d6049b)
#22 0x0000000001d677be
clang::CodeGen::CodeGenModule::EmitTopLevelDecl(clang::Decl*)
(/home/yasser/benchmarks/clang+llvm-6.0.1-x86_64-linux-gnu-ubuntu-16.04/bin/clang-6.0+0x1d677be)
#23 0x00000000024706cf (anonymous
namespace)::CodeGeneratorImpl::HandleTopLevelDecl(clang::DeclGroupRef)
(/home/yasser/benchmarks/clang+llvm-6.0.1-x86_64-linux-gnu-ubuntu-16.04/bin/clang-6.0+0x24706cf)
#24 0x000000000246dd32
clang::BackendConsumer::HandleTopLevelDecl(clang::DeclGroupRef)
(/home/yasser/benchmarks/clang+llvm-6.0.1-x86_64-linux-gnu-ubuntu-16.04/bin/clang-6.0+0x246dd32)
#25 0x00000000026e3603 clang::ParseAST(clang::Sema&, bool, bool)
(/home/yasser/benchmarks/clang+llvm-6.0.1-x86_64-linux-gnu-ubuntu-16.04/bin/clang-6.0+0x26e3603)
#26 0x00000000020a65e7 clang::FrontendAction::Execute()
(/home/yasser/benchmarks/clang+llvm-6.0.1-x86_64-linux-gnu-ubuntu-16.04/bin/clang-6.0+0x20a65e7)
#27 0x0000000002053258
clang::CompilerInstance::ExecuteAction(clang::FrontendAction&)
(/home/yasser/benchmarks/clang+llvm-6.0.1-x86_64-linux-gnu-ubuntu-16.04/bin/clang-6.0+0x2053258)
#28 0x000000000212eae5
clang::ExecuteCompilerInvocation(clang::CompilerInstance*)
(/home/yasser/benchmarks/clang+llvm-6.0.1-x86_64-linux-gnu-ubuntu-16.04/bin/clang-6.0+0x212eae5)
#29 0x00000000008f5c1b cc1_main(llvm::ArrayRef<char const*>, char const*,
void*)
(/home/yasser/benchmarks/clang+llvm-6.0.1-x86_64-linux-gnu-ubuntu-16.04/bin/clang-6.0+0x8f5c1b)
#30 0x00000000008f419d main
(/home/yasser/benchmarks/clang+llvm-6.0.1-x86_64-linux-gnu-ubuntu-16.04/bin/clang-6.0+0x8f419d)
#31 0x00007f74f9327830 __libc_start_main
(/lib/x86_64-linux-gnu/libc.so.6+0x20830)
#32 0x00000000008f1359 _start
(/home/yasser/benchmarks/clang+llvm-6.0.1-x86_64-linux-gnu-ubuntu-16.04/bin/clang-6.0+0x8f1359)
Stack dump:
0.      Program arguments:
/home/yasser/benchmarks/clang+llvm-6.0.1-x86_64-linux-gnu-ubuntu-16.04/bin/clang-6.0
-cc1 -triple x86_64-unknown-linux-gnu -emit-obj -disable-free
-disable-llvm-verifier -discard-value-names -main-file-name simple_await.cpp
-mrelocation-model static -mthread-model posix -fmath-errno -masm-verbose
-mconstructor-aliases -munwind-tables -fuse-init-array -target-cpu x86-64
-dwarf-column-info -debug-info-kind=limited -dwarf-version=4
-debugger-tuning=gdb -momit-leaf-frame-pointer -v -resource-dir
/home/yasser/benchmarks/clang+llvm-6.0.1-x86_64-linux-gnu-ubuntu-16.04/lib/clang/6.0.1
-internal-isystem
/home/yasser/benchmarks/clang+llvm-6.0.1-x86_64-linux-gnu-ubuntu-16.04/bin/../include/c++/v1
-internal-isystem /usr/local/include -internal-isystem
/home/yasser/benchmarks/clang+llvm-6.0.1-x86_64-linux-gnu-ubuntu-16.04/lib/clang/6.0.1/include
-internal-externc-isystem /usr/include/x86_64-linux-gnu
-internal-externc-isystem /include -internal-externc-isystem /usr/include -O3
-std=gnu++2a -fdeprecated-macro -fdebug-compilation-dir
/home/yasser/benchmarks/coroutines_2 -ferror-limit 19 -fmessage-length 238
-fcoroutines-ts -fobjc-runtime=gcc -fcxx-exceptions -fexceptions
-fdiagnostics-show-option -vectorize-loops -vectorize-slp -o
/tmp/simple_await-2a7a91.o -x c++ simple_await.cpp
1.     
/home/yasser/benchmarks/clang+llvm-6.0.1-x86_64-linux-gnu-ubuntu-16.04/bin/../include/c++/v1/__split_buffer:17:1
<Spelling=/home/yasser/benchmarks/clang+llvm-6.0.1-x86_64-linux-gnu-ubuntu-16.04/bin/../include/c++/v1/__config:445:37>:
current parser token 'namespace'
2.      simple_await.cpp:64:17: LLVM IR generation of declaration 'f'
3.      simple_await.cpp:64:17: Generating code for declaration 'f'
4.      simple_await.cpp:64:21: LLVM IR generation of compound statement ('{}')
clang-6.0: error: unable to execute command: Segmentation fault (core dumped)
clang-6.0: error: clang frontend command failed due to signal (use -v to see
invocation)
clang version 6.0.1 (tags/RELEASE_601/final)
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /home/yasser

-- 
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20180919/69f4ec18/attachment.html>


More information about the llvm-bugs mailing list