[llvm-bugs] [Bug 26140] New: segfault using variadic template in class template

via llvm-bugs llvm-bugs at lists.llvm.org
Thu Jan 14 03:17:31 PST 2016


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

            Bug ID: 26140
           Summary: segfault using variadic template in class template
           Product: clang
           Version: trunk
          Hardware: PC
                OS: Linux
            Status: NEW
          Severity: normal
          Priority: P
         Component: -New Bugs
          Assignee: unassignedclangbugs at nondot.org
          Reporter: rogero at howzatt.demon.co.uk
                CC: llvm-bugs at lists.llvm.org
    Classification: Unclassified

Created attachment 15628
  --> https://llvm.org/bugs/attachment.cgi?id=15628&action=edit
Preprocessed source

$ ~/clang/llvm/build/bin/clang -std=c++11 -O0 -emit-llvm segfault.cxx -c
0  clang-3.8       0x000000000181cb05
llvm::sys::PrintStackTrace(llvm::raw_ostream&) + 37
1  clang-3.8       0x000000000181a866 llvm::sys::RunSignalHandlers() + 54
2  clang-3.8       0x000000000181aa53
3  libpthread.so.0 0x0000003a0b60f790
4  clang-3.8       0x00000000017d82cb
llvm::FoldingSetNodeID::AddInteger(unsigned int) + 11
5  clang-3.8       0x00000000017b6eba
llvm::APInt::Profile(llvm::FoldingSetNodeID&) const + 26
6  clang-3.8       0x0000000002abdbd3
7  clang-3.8       0x0000000002abf5b6
8  clang-3.8       0x0000000002abe9fa
9  clang-3.8       0x0000000002abf5b6
10 clang-3.8       0x0000000002abe723
11 clang-3.8       0x0000000002abf5b6
12 clang-3.8       0x0000000002abe723
13 clang-3.8       0x0000000002abf5b6
14 clang-3.8       0x0000000002abd798
15 clang-3.8       0x0000000002abfb8f
clang::Stmt::Profile(llvm::FoldingSetNodeID&, clang::ASTContext const&, bool)
const + 31
16 clang-3.8       0x000000000295270d
clang::ASTContext::getDependentSizedArrayType(clang::QualType, clang::Expr*,
clang::ArrayType::ArraySizeModifier, unsigned int, clang::SourceRange) const +
173
17 clang-3.8       0x0000000002627846
clang::Sema::BuildArrayType(clang::QualType,
clang::ArrayType::ArraySizeModifier, clang::Expr*, unsigned int,
clang::SourceRange, clang::DeclarationName) + 870
18 clang-3.8       0x000000000262ae8d
19 clang-3.8       0x000000000262d310
clang::Sema::GetTypeForDeclarator(clang::Declarator&, clang::Scope*) + 176
20 clang-3.8       0x000000000232ef1e
clang::Sema::HandleDeclarator(clang::Scope*, clang::Declarator&,
llvm::MutableArrayRef<clang::TemplateParameterList*>) + 366
21 clang-3.8       0x000000000232fb05
clang::Sema::ActOnDeclarator(clang::Scope*, clang::Declarator&) + 21
22 clang-3.8       0x00000000020d1b5d
clang::Parser::ParseDeclarationAfterDeclaratorAndAttributes(clang::Declarator&,
clang::Parser::ParsedTemplateInfo const&, clang::Parser::ForRangeInit*) + 77
23 clang-3.8       0x00000000020e0187
clang::Parser::ParseDeclGroup(clang::ParsingDeclSpec&, unsigned int,
clang::SourceLocation*, clang::Parser::ForRangeInit*) + 2055
24 clang-3.8       0x00000000020e3009
clang::Parser::ParseSimpleDeclaration(unsigned int, clang::SourceLocation&,
clang::Parser::ParsedAttributesWithRange&, bool, clang::Parser::ForRangeInit*)
+ 809
25 clang-3.8       0x00000000020e3296 clang::Parser::ParseDeclaration(unsigned
int, clang::SourceLocation&, clang::Parser::ParsedAttributesWithRange&) + 198
26 clang-3.8       0x000000000213a19f
clang::Parser::ParseStatementOrDeclarationAfterAttributes(llvm::SmallVector<clang::Stmt*,
32u>&, bool, clang::SourceLocation*, clang::Parser::ParsedAttributesWithRange&)
+ 3135
27 clang-3.8       0x000000000213a5f7
clang::Parser::ParseStatementOrDeclaration(llvm::SmallVector<clang::Stmt*,
32u>&, bool, clang::SourceLocation*) + 119
28 clang-3.8       0x000000000213e799
clang::Parser::ParseCompoundStatementBody(bool) + 1721
29 clang-3.8       0x0000000002141023
clang::Parser::ParseFunctionStatementBody(clang::Decl*,
clang::Parser::ParseScope&) + 275
30 clang-3.8       0x00000000020c74bf
clang::Parser::ParseLexedMethodDef(clang::Parser::LexedMethod&) + 399
31 clang-3.8       0x00000000020c72ae
clang::Parser::ParseLexedMethodDefs(clang::Parser::ParsingClass&) + 190
32 clang-3.8       0x00000000020f5d8a
clang::Parser::ParseCXXMemberSpecification(clang::SourceLocation,
clang::SourceLocation, clang::Parser::ParsedAttributesWithRange&, unsigned int,
clang::Decl*) + 1306
33 clang-3.8       0x00000000020f72c7
clang::Parser::ParseClassSpecifier(clang::tok::TokenKind,
clang::SourceLocation, clang::DeclSpec&, clang::Parser::ParsedTemplateInfo
const&, clang::AccessSpecifier, bool, clang::Parser::DeclSpecContext,
clang::Parser::ParsedAttributesWithRange&) + 3383
34 clang-3.8       0x00000000020d86f2
clang::Parser::ParseDeclarationSpecifiers(clang::DeclSpec&,
clang::Parser::ParsedTemplateInfo const&, clang::AccessSpecifier,
clang::Parser::DeclSpecContext, clang::Parser::LateParsedAttrList*) + 5186
35 clang-3.8       0x000000000214af01
clang::Parser::ParseSingleDeclarationAfterTemplate(unsigned int,
clang::Parser::ParsedTemplateInfo const&, clang::ParsingDeclRAIIObject&,
clang::SourceLocation&, clang::AccessSpecifier, clang::AttributeList*) + 945
36 clang-3.8       0x000000000214c79c
clang::Parser::ParseTemplateDeclarationOrSpecialization(unsigned int,
clang::SourceLocation&, clang::AccessSpecifier, clang::AttributeList*) + 988
37 clang-3.8       0x000000000214ca7f
clang::Parser::ParseDeclarationStartingWithTemplate(unsigned int,
clang::SourceLocation&, clang::AccessSpecifier, clang::AttributeList*) + 111
38 clang-3.8       0x00000000020e33e7 clang::Parser::ParseDeclaration(unsigned
int, clang::SourceLocation&, clang::Parser::ParsedAttributesWithRange&) + 535
39 clang-3.8       0x00000000020c54f1
clang::Parser::ParseExternalDeclaration(clang::Parser::ParsedAttributesWithRange&,
clang::ParsingDeclSpec*) + 289
40 clang-3.8       0x00000000020c5e94
clang::Parser::ParseTopLevelDecl(clang::OpaquePtr<clang::DeclGroupRef>&) + 420
41 clang-3.8       0x00000000020ba89b clang::ParseAST(clang::Sema&, bool, bool)
+ 587
42 clang-3.8       0x0000000001bd2f0e clang::FrontendAction::Execute() + 254
43 clang-3.8       0x0000000001baca66
clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) + 262
44 clang-3.8       0x0000000001c50c73
clang::ExecuteCompilerInvocation(clang::CompilerInstance*) + 1923
45 clang-3.8       0x000000000084fae8 cc1_main(llvm::ArrayRef<char const*>,
char const*, void*) + 2248
46 clang-3.8       0x000000000080605c main + 5932
47 libc.so.6       0x0000003a0b21ed5d __libc_start_main + 253
48 clang-3.8       0x000000000084da55
Stack dump:
0.      Program arguments: /home/rorr/clang/llvm/build/bin/clang-3.8 -cc1
-triple x86_64-unknown-linux-gnu -emit-llvm-bc -emit-llvm-uselists
-disable-free -disable-llvm-verifier -main-file-name segfault.cxx
-mrelocation-model static -mthread-model posix -mdisable-fp-elim -fmath-errno
-masm-verbose -mconstructor-aliases -munwind-tables -target-cpu x86-64
-dwarf-column-info -debugger-tuning=gdb -coverage-file
/home/rorr/test/clang/crash/segfault.cxx -resource-dir
/home/rorr/clang/llvm/build/bin/../lib/clang/3.8.0 -internal-isystem
/usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../include/c++/4.4.7
-internal-isystem
/usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../include/c++/4.4.7/x86_64-redhat-linux
-internal-isystem
/usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../include/c++/4.4.7/backward
-internal-isystem /usr/local/include -internal-isystem
/home/rorr/clang/llvm/build/bin/../lib/clang/3.8.0/include
-internal-externc-isystem /include -internal-externc-isystem /usr/include -O0
-std=c++11 -fdeprecated-macro -fdebug-compilation-dir
/home/rorr/test/clang/crash -ferror-limit 19 -fmessage-length 186
-fobjc-runtime=gcc -fcxx-exceptions -fexceptions -fdiagnostics-show-option
-fcolor-diagnostics -o segfault.bc -x c++ segfault.cxx
1.      segfault.cxx:27:44: current parser token ';'
2.      segfault.cxx:23:1: parsing struct/union/class body 'ObjectReader'
3.      segfault.cxx:26:3: parsing function body 'getObjectPtr'
4.      segfault.cxx:26:3: in compound statement ('{}')
clang-3.8: error: unable to execute command: Segmentation fault (core dumped)
clang-3.8: error: clang frontend command failed due to signal (use -v to see
invocation)
clang version 3.8.0 (http://llvm.org/git/clang.git
4764e0cdd604e9f7b7f89eaebf92a525b09ff6ae) (http://llvm.org/git/llvm.git
f7566237848be2bd3276d1445da5ab5ebc5a359e)
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /home/rorr/clang/llvm/build/bin
clang-3.8: note: diagnostic msg: PLEASE submit a bug report to
http://llvm.org/bugs/ and include the crash backtrace, preprocessed source, and
associated run script.
clang-3.8: note: diagnostic msg:
********************

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

********************

-- 
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/20160114/2738fdaf/attachment-0001.html>


More information about the llvm-bugs mailing list