Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 05 Aug 2017 21:57:41 +0000
From:      bugzilla-noreply@freebsd.org
To:        freebsd-bugs@FreeBSD.org
Subject:   [Bug 221029] AMD Ryzen: strange compilation failures using poudriere or plain buildkernel/buildworld
Message-ID:  <bug-221029-8-JOeWgEmYCU@https.bugs.freebsd.org/bugzilla/>
In-Reply-To: <bug-221029-8@https.bugs.freebsd.org/bugzilla/>
References:  <bug-221029-8@https.bugs.freebsd.org/bugzilla/>

next in thread | previous in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D221029

--- Comment #55 from Don Lewis <truckman@FreeBSD.org> ---
It's not really repeatable at all.  I've seen a couple different clang abor=
ts,
but they are pretty rare, and happen when building different ports each tim=
e.=20
I did manage to get the proper environment set up so that I could analyze t=
he
latest clang core files.  Here's the stack backtrace for the libreoffice
failure:

#0  0x0000000002df8efa in kill ()
#1  0x0000000002df8eae in __fail ()
#2  0x0000000002df8e1e in __stack_chk_fail_local ()
#3  0x0000000000a4cf46 in
clang::FunctionProtoType::Profile(llvm::FoldingSetNodeID&, clang::ASTContext
const&) ()
#4  0x0000000002c33ced in llvm::FoldingSetBase::GrowBucketCount(unsigned in=
t)
    ()
#5  0x0000000002c33e09 in
llvm::FoldingSetBase::InsertNode(llvm::FoldingSetBase::Node*, void*) ()
#6  0x0000000000b987ed in
clang::ASTContext::getFunctionTypeInternal(clang::QualType,
llvm::ArrayRef<clang::QualType>, clang::FunctionProtoType::ExtProtoInfo con=
st&,
bool) const ()
#7  0x0000000000b986b0 in
clang::ASTContext::getFunctionTypeInternal(clang::QualType,
llvm::ArrayRef<clang::QualType>, clang::FunctionProtoType::ExtProtoInfo con=
st&,
bool) const ()
#8  0x00000000014a1755 in clang::Sema::BuildFunctionType(clang::QualType,
llvm::MutableArrayRef<clang::QualType>, clang::SourceLocation,
clang::DeclarationName, clang::FunctionProtoType::ExtProtoInfo const&) ()
#9  0x00000000014f6c2c in
clang::Sema::SubstFunctionDeclType(clang::TypeSourceInfo*,
clang::MultiLevelTemplateArgumentList const&, clang::SourceLocation,
clang::DeclarationName, clang::CXXRecordDecl*, unsigned int) ()
#10 0x00000000014e2bb2 in
clang::TemplateDeclInstantiator::SubstFunctionType(clang::FunctionDecl*,
llvm::SmallVectorImpl<clang::ParmVarDecl*>&) ()
#11 0x00000000014e02a7 in
clang::TemplateDeclInstantiator::VisitCXXMethodDecl(clang::CXXMethodDecl*,
clang::TemplateParameterList*, bool) ()
#12 0x00000000014dfc15 in
clang::TemplateDeclInstantiator::VisitFunctionTemplateDecl(clang::FunctionT=
emplateDecl*)
()
#13 0x00000000014fa605 in clang::Sema::InstantiateClass(clang::SourceLocati=
on,
clang::CXXRecordDecl*, clang::CXXRecordDecl*,
clang::MultiLevelTemplateArgumentList const&,
clang::TemplateSpecializationKind, bool) ()
#14 0x00000000014fc81d in
clang::Sema::InstantiateClassTemplateSpecialization(clang::SourceLocation,
clang::ClassTemplateSpecializationDecl*, clang::TemplateSpecializationKind,
bool) ()
#15 0x00000000014b2d39 in
clang::Sema::RequireCompleteTypeImpl(clang::SourceLocation, clang::QualType,
clang::Sema::TypeDiagnoser*) ()
#16 0x000000000109f55f in clang::Sema::IsDerivedFrom(clang::SourceLocation,
clang::QualType, clang::QualType) ()
#17 0x00000000015f7ad5 in clang::Sema::IsPointerConversion(clang::Expr*,
clang::QualType, clang::QualType, bool, clang::QualType&, bool&) ()
#18 0x00000000016218cb in IsStandardConversion(clang::Sema&, clang::Expr*,
clang::QualType, bool, clang::StandardConversionSequence&, bool, bool) ()
#19 0x00000000015f5b17 in TryImplicitConversion(clang::Sema&, clang::Expr*,
clang::QualType, bool, bool, bool, bool, bool, bool) ()
#20 0x0000000001603ed8 in TryCopyInitialization(clang::Sema&, clang::Expr*,
clang::QualType, bool, bool, bool, bool) ()
#21 0x00000000016030c2 in
clang::Sema::AddOverloadCandidate(clang::FunctionDecl*, clang::DeclAccessPa=
ir,
llvm::ArrayRef<clang::Expr*>, clang::OverloadCandidateSet&, bool, bool, boo=
l,
llvm::MutableArrayRef<clang::ImplicitConversionSequence>) ()
#22 0x0000000001616956 in AddOverloadedCallCandidate(clang::Sema&,
clang::DeclAccessPair, clang::TemplateArgumentListInfo*,
llvm::ArrayRef<clang::Expr*>, clang::OverloadCandidateSet&, bool, bool) ()
#23 0x00000000016166d9 in
clang::Sema::AddOverloadedCallCandidates(clang::UnresolvedLookupExpr*,
llvm::ArrayRef<clang::Expr*>, clang::OverloadCandidateSet&, bool) ()
#24 0x0000000001616aba in clang::Sema::buildOverloadedCallSet(clang::Scope*,
clang::Expr*, clang::UnresolvedLookupExpr*,
llvm::MutableArrayRef<clang::Expr*>, clang::SourceLocation,
clang::OverloadCandidateSet*, clang::ActionResult<clang::Expr*, true>*) ()
#25 0x0000000001616e90 in clang::Sema::BuildOverloadedCallExpr(clang::Scope=
*,
clang::Expr*, clang::UnresolvedLookupExpr*, clang::SourceLocation,
llvm::MutableArrayRef<clang::Expr*>, clang::SourceLocation, clang::Expr*, b=
ool,
bool) ()
#26 0x0000000000fe720b in clang::Sema::ActOnCallExpr(clang::Scope*,
clang::Expr*, clang::SourceLocation, llvm::MutableArrayRef<clang::Expr*>,
clang::SourceLocation, clang::Expr*, bool) ()
#27 0x00000000015064a8 in clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformCallExpr(clang::CallExpr*) ()
#28 0x000000000151cb12 in clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformReturnStmt(clang::ReturnStmt*) =
()
#29 0x0000000001515243 in clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformCompoundStmt(clang::CompoundStm=
t*,
bool) ()
#30 0x00000000014fd764 in clang::Sema::SubstStmt(clang::Stmt*,
clang::MultiLevelTemplateArgumentList const&) ()
#31 0x00000000014e9c1c in
clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation,
clang::FunctionDecl*, bool, bool, bool) ()
#32 0x00000000014ecf2b in clang::Sema::PerformPendingInstantiations(bool) ()
#33 0x0000000001203c38 in clang::Sema::ActOnEndOfTranslationUnit() ()
#34 0x00000000012524a9 in
clang::Parser::ParseTopLevelDecl(clang::OpaquePtr<clang::DeclGroupRef>&) ()
#35 0x00000000007dff95 in clang::ParseAST(clang::Sema&, bool, bool) ()
#36 0x00000000007d5bbc in clang::FrontendAction::Execute() ()
#37 0x0000000000d0f5f1 in
clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) ()
#38 0x000000000040ba0e in
clang::ExecuteCompilerInvocation(clang::CompilerInstance*) ()
#39 0x0000000000400943 in cc1_main (Argv=3D...,=20
    Argv0=3D0x7fffffff5348 "/usr/bin/c++",=20
    MainAddr=3D0x406470 <GetExecutablePath(char const*, bool)>)
    at
/var/poudriere/jails/120CURRENTamd64/usr/src/contrib/llvm/tools/clang/tools=
/driver/cc1_main.cpp:221
#40 0x0000000000409038 in ExecuteCC1Tool (Tool=3D..., argv=3D...)
    at
/var/poudriere/jails/120CURRENTamd64/usr/src/contrib/llvm/tools/clang/tools=
/driver/driver.cpp:306
#41 main (argc_=3D<optimized out>, argv_=3D<optimized out>)
    at
/var/poudriere/jails/120CURRENTamd64/usr/src/contrib/llvm/tools/clang/tools=
/driver/driver.cpp:387

__stack_chk_fail_local() is part of the stack smash detector.  It appears t=
hat
the stack check canary is random, which might have something to do with the
failures being random ... or we're getting random stack smashes.

--=20
You are receiving this mail because:
You are the assignee for the bug.=



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-221029-8-JOeWgEmYCU>