<html>
    <head>
      <base href="https://bugs.llvm.org/">
    </head>
    <body><table border="1" cellspacing="0" cellpadding="8">
        <tr>
          <th>Bug ID</th>
          <td><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - infinite CPU and RAM consumption on a 62-byte input"
   href="https://bugs.llvm.org/show_bug.cgi?id=33484">33484</a>
          </td>
        </tr>

        <tr>
          <th>Summary</th>
          <td>infinite CPU and RAM consumption on a 62-byte input
          </td>
        </tr>

        <tr>
          <th>Product</th>
          <td>new-bugs
          </td>
        </tr>

        <tr>
          <th>Version</th>
          <td>unspecified
          </td>
        </tr>

        <tr>
          <th>Hardware</th>
          <td>PC
          </td>
        </tr>

        <tr>
          <th>OS</th>
          <td>Linux
          </td>
        </tr>

        <tr>
          <th>Status</th>
          <td>NEW
          </td>
        </tr>

        <tr>
          <th>Severity</th>
          <td>enhancement
          </td>
        </tr>

        <tr>
          <th>Priority</th>
          <td>P
          </td>
        </tr>

        <tr>
          <th>Component</th>
          <td>new bugs
          </td>
        </tr>

        <tr>
          <th>Assignee</th>
          <td>unassignedbugs@nondot.org
          </td>
        </tr>

        <tr>
          <th>Reporter</th>
          <td>kcc@google.com
          </td>
        </tr>

        <tr>
          <th>CC</th>
          <td>llvm-bugs@lists.llvm.org
          </td>
        </tr></table>
      <p>
        <div>
        <pre>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</pre>
        </div>
      </p>


      <hr>
      <span>You are receiving this mail because:</span>

      <ul>
          <li>You are on the CC list for the bug.</li>
      </ul>
    </body>
</html>