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>