[llvm-bugs] [Bug 30900] New: Assertion D && "Cannot get layout of foward declarations!" failed while building ART

via llvm-bugs llvm-bugs at lists.llvm.org
Thu Nov 3 11:08:31 PDT 2016


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

            Bug ID: 30900
           Summary: Assertion D && "Cannot get layout of foward
                    declarations!" failed while building ART
           Product: clang
           Version: trunk
          Hardware: PC
                OS: Linux
            Status: NEW
          Severity: normal
          Priority: P
         Component: -New Bugs
          Assignee: unassignedclangbugs at nondot.org
          Reporter: bero at linaro.org
                CC: llvm-bugs at lists.llvm.org
    Classification: Unclassified

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

While building ART (Android RunTime) for aarch64 with clang rev. 285856, clang
crashes:

clang++: ../tools/clang/lib/AST/RecordLayoutBuilder.cpp:2933: const
clang::ASTRecordLayout &clang::ASTContext::getASTRecordLayout(const
clang::RecordDecl *) const: Assertion `D && "Cannot get layout of forward
declarations!"' failed.
#0 0x00007facba7a9105 llvm::sys::PrintStackTrace(llvm::raw_ostream&)
(/home/bero/abf/llvm/BUILD/llvm-4.0.0.src/build/install_android/linux-x86/clang-2690385/bin/../lib/libLLVMSupport.so.4.0+0xd4105)
#1 0x00007facba7a97a6 SignalHandler(int)
(/home/bero/abf/llvm/BUILD/llvm-4.0.0.src/build/install_android/linux-x86/clang-2690385/bin/../lib/libLLVMSupport.so.4.0+0xd47a6)
#2 0x0000003d6342ef60 __restore_rt (/lib64/libc.so.6+0x3d6342ef60)
#3 0x0000003d6342ef26 __GI_raise (/lib64/libc.so.6+0x3d6342ef26)
#4 0x0000003d6342fe32 __GI_abort (/lib64/libc.so.6+0x3d6342fe32)
#5 0x0000003d6342958a __GI___assert_fail (/lib64/libc.so.6+0x3d6342958a)
#6 0x0000003d634295ce __GI___assert_perror_fail (/lib64/libc.so.6+0x3d634295ce)
#7 0x00007facb9cd9e81 clang::ASTContext::getASTRecordLayout(clang::RecordDecl
const*) const
(/home/bero/abf/llvm/BUILD/llvm-4.0.0.src/build/install_android/linux-x86/clang-2690385/bin/../lib/../lib/libclangAST.so.4.0+0x259e81)
#8 0x00007facb9b15234 clang::ASTContext::getTypeInfoImpl(clang::Type const*)
const
(/home/bero/abf/llvm/BUILD/llvm-4.0.0.src/build/install_android/linux-x86/clang-2690385/bin/../lib/../lib/libclangAST.so.4.0+0x95234)
#9 0x00007facb9b147ca clang::ASTContext::getTypeInfo(clang::Type const*) const
(/home/bero/abf/llvm/BUILD/llvm-4.0.0.src/build/install_android/linux-x86/clang-2690385/bin/../lib/../lib/libclangAST.so.4.0+0x947ca)
#10 0x00007facb9b15093 clang::ASTContext::getTypeInfoImpl(clang::Type const*)
const
(/home/bero/abf/llvm/BUILD/llvm-4.0.0.src/build/install_android/linux-x86/clang-2690385/bin/../lib/../lib/libclangAST.so.4.0+0x95093)
#11 0x00007facb9b147ca clang::ASTContext::getTypeInfo(clang::Type const*) const
(/home/bero/abf/llvm/BUILD/llvm-4.0.0.src/build/install_android/linux-x86/clang-2690385/bin/../lib/../lib/libclangAST.so.4.0+0x947ca)
#12 0x00007facb9b15b6c clang::ASTContext::getTypeAlignInChars(clang::QualType)
const
(/home/bero/abf/llvm/BUILD/llvm-4.0.0.src/build/install_android/linux-x86/clang-2690385/bin/../lib/../lib/libclangAST.so.4.0+0x95b6c)
#13 0x00007facb907b251 clang::Sema::DiscardMisalignedMemberAddress(clang::Type
const*, clang::Expr*)
(/home/bero/abf/llvm/BUILD/llvm-4.0.0.src/build/install_android/linux-x86/clang-2690385/bin/../lib/../lib/libclangSema.so.4.0+0x131251)
#14 0x00007facb9048f24 clang::Sema::BuildCXXNamedCast(clang::SourceLocation,
clang::tok::TokenKind, clang::TypeSourceInfo*, clang::Expr*,
clang::SourceRange, clang::SourceRange)
(/home/bero/abf/llvm/BUILD/llvm-4.0.0.src/build/install_android/linux-x86/clang-2690385/bin/../lib/../lib/libclangSema.so.4.0+0xfef24)
#15 0x00007facb904750e clang::Sema::ActOnCXXNamedCast(clang::SourceLocation,
clang::tok::TokenKind, clang::SourceLocation, clang::Declarator&,
clang::SourceLocation, clang::SourceLocation, clang::Expr*,
clang::SourceLocation)
(/home/bero/abf/llvm/BUILD/llvm-4.0.0.src/build/install_android/linux-x86/clang-2690385/bin/../lib/../lib/libclangSema.so.4.0+0xfd50e)
#16 0x00007facb971600f clang::Parser::ParseCXXCasts()
(/home/bero/abf/llvm/BUILD/llvm-4.0.0.src/build/install_android/linux-x86/clang-2690385/bin/../lib/../lib/libclangParse.so.4.0+0x7d00f)
#17 0x00007facb9700886 clang::Parser::ParseCastExpression(bool, bool, bool&,
clang::Parser::TypeCastState)
(/home/bero/abf/llvm/BUILD/llvm-4.0.0.src/build/install_android/linux-x86/clang-2690385/bin/../lib/../lib/libclangParse.so.4.0+0x67886)
#18 0x00007facb96fdcdc
clang::Parser::ParseAssignmentExpression(clang::Parser::TypeCastState)
(/home/bero/abf/llvm/BUILD/llvm-4.0.0.src/build/install_android/linux-x86/clang-2690385/bin/../lib/../lib/libclangParse.so.4.0+0x64cdc)
#19 0x00007facb96d7cd5
clang::Parser::ParseDeclarationAfterDeclaratorAndAttributes(clang::Declarator&,
clang::Parser::ParsedTemplateInfo const&, clang::Parser::ForRangeInit*)
(/home/bero/abf/llvm/BUILD/llvm-4.0.0.src/build/install_android/linux-x86/clang-2690385/bin/../lib/../lib/libclangParse.so.4.0+0x3ecd5)
#20 0x00007facb96d5c59 clang::Parser::ParseDeclGroup(clang::ParsingDeclSpec&,
unsigned int, clang::SourceLocation*, clang::Parser::ForRangeInit*)
(/home/bero/abf/llvm/BUILD/llvm-4.0.0.src/build/install_android/linux-x86/clang-2690385/bin/../lib/../lib/libclangParse.so.4.0+0x3cc59)
#21 0x00007facb96d1d57 clang::Parser::ParseSimpleDeclaration(unsigned int,
clang::SourceLocation&, clang::Parser::ParsedAttributesWithRange&, bool,
clang::Parser::ForRangeInit*)
(/home/bero/abf/llvm/BUILD/llvm-4.0.0.src/build/install_android/linux-x86/clang-2690385/bin/../lib/../lib/libclangParse.so.4.0+0x38d57)
#22 0x00007facb96d19e6 clang::Parser::ParseDeclaration(unsigned int,
clang::SourceLocation&, clang::Parser::ParsedAttributesWithRange&)
(/home/bero/abf/llvm/BUILD/llvm-4.0.0.src/build/install_android/linux-x86/clang-2690385/bin/../lib/../lib/libclangParse.so.4.0+0x389e6)
#23 0x00007facb9747143
clang::Parser::ParseStatementOrDeclarationAfterAttributes(llvm::SmallVector<clang::Stmt*,
32u>&, clang::Parser::AllowedContsructsKind, clang::SourceLocation*,
clang::Parser::ParsedAttributesWithRange&)
(/home/bero/abf/llvm/BUILD/llvm-4.0.0.src/build/install_android/linux-x86/clang-2690385/bin/../lib/../lib/libclangParse.so.4.0+0xae143)
#24 0x00007facb9746d75
clang::Parser::ParseStatementOrDeclaration(llvm::SmallVector<clang::Stmt*,
32u>&, clang::Parser::AllowedContsructsKind, clang::SourceLocation*)
(/home/bero/abf/llvm/BUILD/llvm-4.0.0.src/build/install_android/linux-x86/clang-2690385/bin/../lib/../lib/libclangParse.so.4.0+0xadd75)
#25 0x00007facb974ddca clang::Parser::ParseCompoundStatementBody(bool)
(/home/bero/abf/llvm/BUILD/llvm-4.0.0.src/build/install_android/linux-x86/clang-2690385/bin/../lib/../lib/libclangParse.so.4.0+0xb4dca)
#26 0x00007facb974e700 clang::Parser::ParseFunctionStatementBody(clang::Decl*,
clang::Parser::ParseScope&)
(/home/bero/abf/llvm/BUILD/llvm-4.0.0.src/build/install_android/linux-x86/clang-2690385/bin/../lib/../lib/libclangParse.so.4.0+0xb5700)
#27 0x00007facb9764c85
clang::Parser::ParseFunctionDefinition(clang::ParsingDeclarator&,
clang::Parser::ParsedTemplateInfo const&, clang::Parser::LateParsedAttrList*)
(/home/bero/abf/llvm/BUILD/llvm-4.0.0.src/build/install_android/linux-x86/clang-2690385/bin/../lib/../lib/libclangParse.so.4.0+0xcbc85)
#28 0x00007facb96d5b66 clang::Parser::ParseDeclGroup(clang::ParsingDeclSpec&,
unsigned int, clang::SourceLocation*, clang::Parser::ForRangeInit*)
(/home/bero/abf/llvm/BUILD/llvm-4.0.0.src/build/install_android/linux-x86/clang-2690385/bin/../lib/../lib/libclangParse.so.4.0+0x3cb66)
#29 0x00007facb9764275
clang::Parser::ParseDeclOrFunctionDefInternal(clang::Parser::ParsedAttributesWithRange&,
clang::ParsingDeclSpec&, clang::AccessSpecifier)
(/home/bero/abf/llvm/BUILD/llvm-4.0.0.src/build/install_android/linux-x86/clang-2690385/bin/../lib/../lib/libclangParse.so.4.0+0xcb275)
#30 0x00007facb9763c71
clang::Parser::ParseDeclarationOrFunctionDefinition(clang::Parser::ParsedAttributesWithRange&,
clang::ParsingDeclSpec*, clang::AccessSpecifier)
(/home/bero/abf/llvm/BUILD/llvm-4.0.0.src/build/install_android/linux-x86/clang-2690385/bin/../lib/../lib/libclangParse.so.4.0+0xcac71)
#31 0x00007facb9762ecd
clang::Parser::ParseExternalDeclaration(clang::Parser::ParsedAttributesWithRange&,
clang::ParsingDeclSpec*)
(/home/bero/abf/llvm/BUILD/llvm-4.0.0.src/build/install_android/linux-x86/clang-2690385/bin/../lib/../lib/libclangParse.so.4.0+0xc9ecd)
#32 0x00007facb96ea427
clang::Parser::ParseInnerNamespace(std::vector<clang::SourceLocation,
std::allocator<clang::SourceLocation> >&, std::vector<clang::IdentifierInfo*,
std::allocator<clang::IdentifierInfo*> >&, std::vector<clang::SourceLocation,
std::allocator<clang::SourceLocation> >&, unsigned int, clang::SourceLocation&,
clang::ParsedAttributes&, clang::BalancedDelimiterTracker&)
(/home/bero/abf/llvm/BUILD/llvm-4.0.0.src/build/install_android/linux-x86/clang-2690385/bin/../lib/../lib/libclangParse.so.4.0+0x51427)
#33 0x00007facb96e9c26 clang::Parser::ParseNamespace(unsigned int,
clang::SourceLocation&, clang::SourceLocation)
(/home/bero/abf/llvm/BUILD/llvm-4.0.0.src/build/install_android/linux-x86/clang-2690385/bin/../lib/../lib/libclangParse.so.4.0+0x50c26)
#34 0x00007facb96d190d clang::Parser::ParseDeclaration(unsigned int,
clang::SourceLocation&, clang::Parser::ParsedAttributesWithRange&)
(/home/bero/abf/llvm/BUILD/llvm-4.0.0.src/build/install_android/linux-x86/clang-2690385/bin/../lib/../lib/libclangParse.so.4.0+0x3890d)
#35 0x00007facb976271d
clang::Parser::ParseExternalDeclaration(clang::Parser::ParsedAttributesWithRange&,
clang::ParsingDeclSpec*)
(/home/bero/abf/llvm/BUILD/llvm-4.0.0.src/build/install_android/linux-x86/clang-2690385/bin/../lib/../lib/libclangParse.so.4.0+0xc971d)
#36 0x00007facb97622b7
clang::Parser::ParseTopLevelDecl(clang::OpaquePtr<clang::DeclGroupRef>&)
(/home/bero/abf/llvm/BUILD/llvm-4.0.0.src/build/install_android/linux-x86/clang-2690385/bin/../lib/../lib/libclangParse.so.4.0+0xc92b7)
#37 0x00007facb96c3426 clang::ParseAST(clang::Sema&, bool, bool)
(/home/bero/abf/llvm/BUILD/llvm-4.0.0.src/build/install_android/linux-x86/clang-2690385/bin/../lib/../lib/libclangParse.so.4.0+0x2a426)
#38 0x00007facbb5e9ce5 clang::FrontendAction::Execute()
(/home/bero/abf/llvm/BUILD/llvm-4.0.0.src/build/install_android/linux-x86/clang-2690385/bin/../lib/libclangFrontend.so.4.0+0xb0ce5)
#39 0x00007facbb5ac971
clang::CompilerInstance::ExecuteAction(clang::FrontendAction&)
(/home/bero/abf/llvm/BUILD/llvm-4.0.0.src/build/install_android/linux-x86/clang-2690385/bin/../lib/libclangFrontend.so.4.0+0x73971)
#40 0x00007facbb5356ca
clang::ExecuteCompilerInvocation(clang::CompilerInstance*)
(/home/bero/abf/llvm/BUILD/llvm-4.0.0.src/build/install_android/linux-x86/clang-2690385/bin/../lib/libclangFrontendTool.so.4.0+0x36ca)
#41 0x000000000040e7be cc1_main(llvm::ArrayRef<char const*>, char const*,
void*)
(/home/bero/abf/llvm/BUILD/llvm-4.0.0.src/build/install_android/linux-x86/clang-2690385/bin/clang+++0x40e7be)
#42 0x000000000040cf7f main
(/home/bero/abf/llvm/BUILD/llvm-4.0.0.src/build/install_android/linux-x86/clang-2690385/bin/clang+++0x40cf7f)
#43 0x0000003d63420dbe __libc_start_main (/lib64/libc.so.6+0x3d63420dbe)
#44 0x000000000040a0ea _start
/builddir/build/BUILD/glibc-2.24/csu/../sysdeps/x86_64/start.S:122:0
Stack dump:
0.      Program arguments:
/home/bero/abf/llvm/BUILD/llvm-4.0.0.src/build/install_android/linux-x86/clang-2690385/bin/clang++
-cc1 -triple x86_64--linux-gnu -emit-obj -mnoexecstack -disable-free
-main-file-name thread.cc -mrelocation-model pic -pic-level 2 -mthread-model
posix -mllvm -warn-stack-size=2700 -mdisable-fp-elim -fmath-errno -masm-verbose
-mconstructor-aliases -munwind-tables -target-cpu x86-64
-momit-leaf-frame-pointer -dwarf-column-info -debug-info-kind=limited
-dwarf-version=4 -debugger-tuning=gdb -coverage-notes-file
/proc/self/cwd/out/host/linux-x86/obj/SHARED_LIBRARIES/libart_intermediates/thread.gcno
-nostdinc++ -sys-header-deps -U _FORTIFY_SOURCE -D _FORTIFY_SOURCE=2 -D
__STDC_FORMAT_MACROS -D __STDC_CONSTANT_MACROS -D ANDROID -D NDEBUG -U DEBUG -D
__compiler_offsetof=__builtin_offsetof -D BUILDING_LIBART=1 -D
ART_DEFAULT_GC_TYPE_IS_CMS -D IMT_SIZE=64 -D ART_BASE_ADDRESS=0x60000000 -D
ART_DEFAULT_INSTRUCTION_SET_FEATURES=default -D ART_ENABLE_CODEGEN_arm -D
ART_ENABLE_CODEGEN_arm64 -D ART_ENABLE_CODEGEN_mips -D
ART_ENABLE_CODEGEN_mips64 -D ART_ENABLE_CODEGEN_x86 -D
ART_ENABLE_CODEGEN_x86_64 -D ART_BASE_ADDRESS_MIN_DELTA=-0x1000000 -D
ART_BASE_ADDRESS_MAX_DELTA=0x1000000 -D
ART_DEFAULT_INSTRUCTION_SET_FEATURES=default -D _USING_LIBCXX -O3
-Wno-multichar -W -Wall -Wno-unused -Winit-self -Wpointer-arith
-Werror=int-conversion -Wno-reserved-id-macro -Wno-format-pedantic
-Wno-unused-command-line-argument -Wsign-promo
-Wno-inconsistent-missing-override -Wno-error=address-of-packed-member
-Wno-error=undefined-var-template -Wno-error=instantiation-after-specialization
-Wno-error=null-dereference -Wthread-safety -Wthread-safety-negative
-Wimplicit-fallthrough -Wfloat-equal -Wint-to-void-pointer-cast
-Wused-but-marked-unused -Wdeprecated -Wunreachable-code-break
-Wunreachable-code-return -Wmissing-noreturn -Wall -Werror -Wextra
-Wstrict-aliasing -Wunreachable-code -Wredundant-decls -Wshadow -Wunused
-Werror=int-to-pointer-cast -Werror=pointer-to-int-cast
-Werror=address-of-temporary -Werror=null-dereference -Werror=return-type
-std=gnu++14 -fdeprecated-macro -ferror-limit 19 -fmessage-length 0
-fvisibility protected -stack-protector 2 -fno-rtti -fobjc-runtime=gcc
-fdiagnostics-show-option -fcolor-diagnostics -vectorize-loops -vectorize-slp
-x c++ thread-7eb18d.cpp 
1.      art/runtime/thread.cc:1186:94: current parser token ';'
2.      art/runtime/thread.cc:85:1: parsing namespace 'art'
3.      art/runtime/thread.cc:1185:36: parsing function body
'art::Thread::GetFlipFunction'
4.      art/runtime/thread.cc:1185:36: in compound statement ('{}')

-- 
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/20161103/5b0d0651/attachment-0001.html>


More information about the llvm-bugs mailing list