[llvm-bugs] [Bug 33484] New: infinite CPU and RAM consumption on a 62-byte input

via llvm-bugs llvm-bugs at lists.llvm.org
Fri Jun 16 10:35:40 PDT 2017


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

            Bug ID: 33484
           Summary: infinite CPU and RAM consumption on a 62-byte input
           Product: new-bugs
           Version: unspecified
          Hardware: PC
                OS: Linux
            Status: NEW
          Severity: enhancement
          Priority: P
         Component: new bugs
          Assignee: unassignedbugs at nondot.org
          Reporter: kcc at google.com
                CC: llvm-bugs at lists.llvm.org

r305508, x86_64 linux

echo
Y0ZqYXNzoOHpRjqwe6AAAEYqTkZGKDtGKqFGRj1GKEpGRgA9RjoKRkZGLkZGRi1WRkYALEZGRi1GRkYnAAA=
| base64 -d |  /usr/bin/time clang -cc1 -x c++

This will work until you stop it or until it consumes all RAM 


All time is spent here:
#0  0x0000000002e23971 in clang::TypoCorrectionConsumer::getNextCorrection() ()
#1  0x0000000002d8bcb6 in clang::TreeTransform<(anonymous
namespace)::TransformTypos>::TransformExpr(clang::Expr*) ()
#2  0x0000000002d8d02f in clang::TreeTransform<(anonymous
namespace)::TransformTypos>::TransformBinaryOperator(clang::BinaryOperator*) ()
#3  0x0000000002da26b6 in clang::TreeTransform<(anonymous
namespace)::TransformTypos>::TransformExprs(clang::Expr* const*, unsigned int,
bool, llvm::SmallVectorImpl<clang::Expr*>&, bool*) ()
#4  0x0000000002d8fb2d in clang::TreeTransform<(anonymous
namespace)::TransformTypos>::TransformCXXUnresolvedConstructExpr(clang::CXXUnresolvedConstructExpr*)
()
#5  0x0000000002d8ac5f in (anonymous
namespace)::TransformTypos::TryTransform(clang::Expr*) ()
#6  0x0000000002d6d407 in clang::Sema::CorrectDelayedTyposInExpr(clang::Expr*,
clang::VarDecl*, llvm::function_ref<clang::ActionResult<clang::Expr*, true>
(clang::Expr*)>) ()
#7  0x0000000002d6c87a in
clang::Sema::ActOnCXXTypeConstructExpr(clang::OpaquePtr<clang::QualType>,
clang::SourceLocation, llvm::MutableArrayRef<clang::Expr*>,
clang::SourceLocation) ()
#8  0x00000000028e3c9b in
clang::Parser::ParseCXXTypeConstructExpression(clang::DeclSpec const&) ()
#9  0x00000000028cef42 in clang::Parser::ParseCastExpression(bool, bool, bool&,
clang::Parser::TypeCastState, bool) ()
#10 0x00000000028ce547 in clang::Parser::ParseCastExpression(bool, bool, bool&,
clang::Parser::TypeCastState, bool) ()
#11 0x00000000028cb05f in
clang::Parser::ParseAssignmentExpression(clang::Parser::TypeCastState) ()
#12 0x00000000028c52b5 in
clang::Parser::ParseCXXMemberInitializer(clang::Decl*, bool,
clang::SourceLocation&) ()
#13 0x00000000028956c7 in
clang::Parser::ParseLexedMemberInitializer(clang::Parser::LateParsedMemberInitializer&)
()
#14 0x000000000289427a in
clang::Parser::ParseLexedMemberInitializers(clang::Parser::ParsingClass&) ()
#15 0x00000000028c0134 in
clang::Parser::ParseCXXMemberSpecification(clang::SourceLocation,
clang::SourceLocation, clang::Parser::ParsedAttributesWithRange&, unsigned int,
clang::Decl*) ()
#16 0x00000000028bddbe in
clang::Parser::ParseClassSpecifier(clang::tok::TokenKind,
clang::SourceLocation, clang::DeclSpec&, clang::Parser::ParsedTemplateInfo
const&, clang::AccessSpecifier, bool, clang::Parser::DeclSpecContext,
clang::Parser::ParsedAttributesWithRange&) ()
#17 0x00000000028a02b8 in
clang::Parser::ParseDeclarationSpecifiers(clang::DeclSpec&,
clang::Parser::ParsedTemplateInfo const&, clang::AccessSpecifier,
clang::Parser::DeclSpecContext, clang::Parser::LateParsedAttrList*) ()
#18 0x000000000288c30e in
clang::Parser::ParseDeclOrFunctionDefInternal(clang::Parser::ParsedAttributesWithRange&,
clang::ParsingDeclSpec&, clang::AccessSpecifier) ()
#19 0x000000000288bfa1 in
clang::Parser::ParseDeclarationOrFunctionDefinition(clang::Parser::ParsedAttributesWithRange&,
clang::ParsingDeclSpec*, clang::AccessSpecifier) ()
#20 0x000000000288b0e7 in
clang::Parser::ParseExternalDeclaration(clang::Parser::ParsedAttributesWithRange&,
clang::ParsingDeclSpec*) ()
#21 0x0000000002889f3a in
clang::Parser::ParseTopLevelDecl(clang::OpaquePtr<clang::DeclGroupRef>&) ()
#22 0x0000000002889c4e in
clang::Parser::ParseFirstTopLevelDecl(clang::OpaquePtr<clang::DeclGroupRef>&)
()
#23 0x0000000002885e55 in clang::ParseAST(clang::Sema&, bool, bool) ()
#24 0x00000000020fc808 in clang::FrontendAction::Execute() ()
#25 0x00000000020c1c81 in
clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) ()

found by clang-fuzzer

-- 
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/20170616/f9fbd4ae/attachment.html>


More information about the llvm-bugs mailing list