Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[SR-9006] Incremental parsing assertion failure: (getRaw()->isToken() && "Leaf node that is no token?"), function getFirstToken #51509

Closed
nathawes opened this issue Oct 15, 2018 · 2 comments
Labels
bug A deviation from expected or documented behavior. Also: expected but undesirable behavior. compiler The Swift compiler in itself crash Bug: A crash, i.e., an abnormal termination of software

Comments

@nathawes
Copy link
Collaborator

Previous ID SR-9006
Radar rdar://problem/45287031
Original Reporter @nathawes
Type Bug
Status Resolved
Resolution Done
Additional Detail from JIRA
Votes 0
Component/s Source Tooling
Labels Bug, CompilerCrash
Assignee None
Priority Medium

md5: c6954d12c2e99ee13e1d9bfed5015974

Issue Description:

To reproduce, add the following test case to swift/test/incrParse and run the tests:

// RUN: %empty-directory(%t)
// RUN: %validate-incrparse %s --test-case INSERT_SPACE

class AnimationType {
  func foo(x: Blah) {
    switch x {
    case (.

extension AnimationType {
  public<<INSERT_SPACE<||| >>>

Test case output:

Test case "INSERT_SPACE" of /Users/nhawes/github/swift/test/incrParse/string-part.swift FAILed

/Users/nhawes/github/build/Ninja-RelWithDebInfoAssert/swift-macosx-x86_64/test-macosx-x86_64/incrParse/Output/string-part.swift.tmp/temp/string-part.swift.STRING.post.swift:9:11: error: expected ',' separator

extension AnimationType {
          ^
         ,

Assertion failed: (getRaw()->isToken() && "Leaf node that is no token?"), function getFirstToken, file /Users/nhawes/github/swift/lib/Syntax/SyntaxData.cpp, line 94.

0  swift-syntax-test        0x000000010b3dc7a8 llvm::sys::PrintStackTrace(llvm::raw_ostream&) + 40
1  swift-syntax-test        0x000000010b3dba25 llvm::sys::RunSignalHandlers() + 85
2  swift-syntax-test        0x000000010b3dcdb2 SignalHandler(int) + 258
3  libsystem_platform.dylib 0x00007fff5918cb3d _sigtramp + 29
4  libsystem_platform.dylib 0x0000000000002e00 _sigtramp + 2800181984
5  libsystem_c.dylib        0x00007fff5904b1c9 abort + 127
6  libsystem_c.dylib        0x00007fff59013868 basename_r + 0
7  swift-syntax-test        0x000000010b32d208 swift::syntax::SyntaxData::getFirstToken() const + 552
8  swift-syntax-test        0x000000010b673193 swift::SyntaxParsingCache::nodeCanBeReused(swift::syntax::Syntax const&, unsigned long, unsigned long, swift::syntax::SyntaxKind) const + 115
9  swift-syntax-test        0x000000010b67343a swift::SyntaxParsingCache::lookUpFrom(swift::syntax::Syntax const&, unsigned long, unsigned long, swift::syntax::SyntaxKind) + 58
10 swift-syntax-test        0x000000010b6734f1 swift::SyntaxParsingCache::lookUpFrom(swift::syntax::Syntax const&, unsigned long, unsigned long, swift::syntax::SyntaxKind) + 241
11 swift-syntax-test        0x000000010b6734f1 swift::SyntaxParsingCache::lookUpFrom(swift::syntax::Syntax const&, unsigned long, unsigned long, swift::syntax::SyntaxKind) + 241
12 swift-syntax-test        0x000000010b6734f1 swift::SyntaxParsingCache::lookUpFrom(swift::syntax::Syntax const&, unsigned long, unsigned long, swift::syntax::SyntaxKind) + 241
13 swift-syntax-test        0x000000010b6734f1 swift::SyntaxParsingCache::lookUpFrom(swift::syntax::Syntax const&, unsigned long, unsigned long, swift::syntax::SyntaxKind) + 241
14 swift-syntax-test        0x000000010b6734f1 swift::SyntaxParsingCache::lookUpFrom(swift::syntax::Syntax const&, unsigned long, unsigned long, swift::syntax::SyntaxKind) + 241
15 swift-syntax-test        0x000000010b6734f1 swift::SyntaxParsingCache::lookUpFrom(swift::syntax::Syntax const&, unsigned long, unsigned long, swift::syntax::SyntaxKind) + 241
16 swift-syntax-test        0x000000010b6734f1 swift::SyntaxParsingCache::lookUpFrom(swift::syntax::Syntax const&, unsigned long, unsigned long, swift::syntax::SyntaxKind) + 241
17 swift-syntax-test        0x000000010b6734f1 swift::SyntaxParsingCache::lookUpFrom(swift::syntax::Syntax const&, unsigned long, unsigned long, swift::syntax::SyntaxKind) + 241
18 swift-syntax-test        0x000000010b6734f1 swift::SyntaxParsingCache::lookUpFrom(swift::syntax::Syntax const&, unsigned long, unsigned long, swift::syntax::SyntaxKind) + 241
19 swift-syntax-test        0x000000010b6734f1 swift::SyntaxParsingCache::lookUpFrom(swift::syntax::Syntax const&, unsigned long, unsigned long, swift::syntax::SyntaxKind) + 241
20 swift-syntax-test        0x000000010b6734f1 swift::SyntaxParsingCache::lookUpFrom(swift::syntax::Syntax const&, unsigned long, unsigned long, swift::syntax::SyntaxKind) + 241
21 swift-syntax-test        0x000000010b6734f1 swift::SyntaxParsingCache::lookUpFrom(swift::syntax::Syntax const&, unsigned long, unsigned long, swift::syntax::SyntaxKind) + 241
22 swift-syntax-test        0x000000010b6734f1 swift::SyntaxParsingCache::lookUpFrom(swift::syntax::Syntax const&, unsigned long, unsigned long, swift::syntax::SyntaxKind) + 241
23 swift-syntax-test        0x000000010b6734f1 swift::SyntaxParsingCache::lookUpFrom(swift::syntax::Syntax const&, unsigned long, unsigned long, swift::syntax::SyntaxKind) + 241
24 swift-syntax-test        0x000000010b6734f1 swift::SyntaxParsingCache::lookUpFrom(swift::syntax::Syntax const&, unsigned long, unsigned long, swift::syntax::SyntaxKind) + 241
25 swift-syntax-test        0x000000010b6734f1 swift::SyntaxParsingCache::lookUpFrom(swift::syntax::Syntax const&, unsigned long, unsigned long, swift::syntax::SyntaxKind) + 241
26 swift-syntax-test        0x000000010b6734f1 swift::SyntaxParsingCache::lookUpFrom(swift::syntax::Syntax const&, unsigned long, unsigned long, swift::syntax::SyntaxKind) + 241
27 swift-syntax-test        0x000000010b6734f1 swift::SyntaxParsingCache::lookUpFrom(swift::syntax::Syntax const&, unsigned long, unsigned long, swift::syntax::SyntaxKind) + 241
28 swift-syntax-test        0x000000010b6734f1 swift::SyntaxParsingCache::lookUpFrom(swift::syntax::Syntax const&, unsigned long, unsigned long, swift::syntax::SyntaxKind) + 241
29 swift-syntax-test        0x000000010b6734f1 swift::SyntaxParsingCache::lookUpFrom(swift::syntax::Syntax const&, unsigned long, unsigned long, swift::syntax::SyntaxKind) + 241
30 swift-syntax-test        0x000000010b6734f1 swift::SyntaxParsingCache::lookUpFrom(swift::syntax::Syntax const&, unsigned long, unsigned long, swift::syntax::SyntaxKind) + 241
31 swift-syntax-test        0x000000010b6734f1 swift::SyntaxParsingCache::lookUpFrom(swift::syntax::Syntax const&, unsigned long, unsigned long, swift::syntax::SyntaxKind) + 241
32 swift-syntax-test        0x000000010b6734f1 swift::SyntaxParsingCache::lookUpFrom(swift::syntax::Syntax const&, unsigned long, unsigned long, swift::syntax::SyntaxKind) + 241
33 swift-syntax-test        0x000000010b6734f1 swift::SyntaxParsingCache::lookUpFrom(swift::syntax::Syntax const&, unsigned long, unsigned long, swift::syntax::SyntaxKind) + 241
34 swift-syntax-test        0x000000010b67369f swift::SyntaxParsingCache::lookUp(unsigned long, swift::syntax::SyntaxKind) + 207
35 swift-syntax-test        0x000000010b675fb3 swift::SyntaxParsingContext::loadFromCache(unsigned long) + 83
36 swift-syntax-test        0x000000010b6512a2 swift::Parser::loadCurrentSyntaxNodeFromCache() + 162
37 swift-syntax-test        0x000000010b65b860 swift::Parser::parseBraceItems(llvm::SmallVectorImpl<swift::ASTNode>&, swift::BraceItemListKind, swift::BraceItemListKind) + 912
38 swift-syntax-test        0x000000010b63c653 swift::Parser::parseExprClosure() + 1219
39 swift-syntax-test        0x000000010b63850e swift::Parser::parseTrailingClosure(swift::SourceRange) + 94
40 swift-syntax-test        0x000000010b63456b swift::Parser::parseExprPostfixSuffix(swift::ParserResult<swift::Expr>, bool, bool, bool&) + 683
41 swift-syntax-test        0x000000010b633b77 swift::Parser::parseExprPostfix(swift::Diag<>, bool) + 199
42 swift-syntax-test        0x000000010b6335c7 swift::Parser::parseExprUnary(swift::Diag<>, bool) + 583
43 swift-syntax-test        0x000000010b632f3f swift::Parser::parseExprSequenceElement(swift::Diag<>, bool) + 495
44 swift-syntax-test        0x000000010b631a4a swift::Parser::parseExprSequence(swift::Diag<>, bool, bool) + 330
45 swift-syntax-test        0x000000010b631846 swift::Parser::parseExprImpl(swift::Diag<>, bool) + 310
46 swift-syntax-test        0x000000010b642d30 swift::ParserStatus llvm::function_ref<swift::ParserStatus ()>::callback_fn<swift::Parser::parseExprList(swift::tok, swift::tok, bool, bool, swift::SourceLoc&, llvm::SmallVectorImpl<swift::Expr*>&, llvm::SmallVectorImpl<swift::Identifier>&, llvm::SmallVectorImpl<swift::SourceLoc>&, swift::SourceLoc&, swift::Expr*&, swift::syntax::SyntaxKind)::$_4>(long) + 272
47 swift-syntax-test        0x000000010b6534f9 swift::Parser::parseList(swift::tok, swift::SourceLoc, swift::SourceLoc&, bool, swift::Diag<>, swift::syntax::SyntaxKind, llvm::function_ref<swift::ParserStatus ()>) + 937
48 swift-syntax-test        0x000000010b637c55 swift::Parser::parseExprList(swift::tok, swift::tok, bool, bool, swift::SourceLoc&, llvm::SmallVectorImpl<swift::Expr*>&, llvm::SmallVectorImpl<swift::Identifier>&, llvm::SmallVectorImpl<swift::SourceLoc>&, swift::SourceLoc&, swift::Expr*&, swift::syntax::SyntaxKind) + 245
49 swift-syntax-test        0x000000010b63cc46 swift::Parser::parseExprList(swift::tok, swift::tok, swift::syntax::SyntaxKind) + 182
50 swift-syntax-test        0x000000010b638c0c swift::Parser::parseExprPrimary(swift::Diag<>, bool) + 1468
51 swift-syntax-test        0x000000010b633b51 swift::Parser::parseExprPostfix(swift::Diag<>, bool) + 161
52 swift-syntax-test        0x000000010b6335c7 swift::Parser::parseExprUnary(swift::Diag<>, bool) + 583
53 swift-syntax-test        0x000000010b632f3f swift::Parser::parseExprSequenceElement(swift::Diag<>, bool) + 495
54 swift-syntax-test        0x000000010b631a4a swift::Parser::parseExprSequence(swift::Diag<>, bool, bool) + 330
55 swift-syntax-test        0x000000010b631846 swift::Parser::parseExprImpl(swift::Diag<>, bool) + 310
56 swift-syntax-test        0x000000010b64b698 swift::Parser::parseMatchingPattern(bool) + 424
57 swift-syntax-test        0x000000010b664ef7 parseGuardedPattern(swift::Parser&, (anonymous namespace)::GuardedPattern&, swift::ParserStatus&, llvm::SmallVectorImpl<swift::VarDecl*>&, (anonymous namespace)::GuardedPatternContext, bool) + 775
58 swift-syntax-test        0x000000010b66626d swift::Parser::parseStmtCase(bool) + 1917
59 swift-syntax-test        0x000000010b66565c swift::Parser::parseStmtCases(llvm::SmallVectorImpl<swift::ASTNode>&, bool) + 284
60 swift-syntax-test        0x000000010b661629 swift::Parser::parseStmtSwitch(swift::LabeledStmtInfo) + 457
61 swift-syntax-test        0x000000010b65a75e swift::Parser::parseStmt() + 2094
62 swift-syntax-test        0x000000010b659b2c swift::Parser::parseExprOrStmt(swift::ASTNode&) + 412
63 swift-syntax-test        0x000000010b65c1fe swift::Parser::parseBraceItems(llvm::SmallVectorImpl<swift::ASTNode>&, swift::BraceItemListKind, swift::BraceItemListKind) + 3374
64 swift-syntax-test        0x000000010b661cc7 swift::Parser::parseBraceItemList(swift::Diag<>) + 327
65 swift-syntax-test        0x000000010b62a77d swift::Parser::parseAbstractFunctionBody(swift::AbstractFunctionDecl*) + 509
66 swift-syntax-test        0x000000010b624ba7 swift::Parser::parseDeclFunc(swift::SourceLoc, swift::StaticSpellingKind, swift::OptionSet<swift::Parser::ParseDeclFlags, unsigned int>, swift::DeclAttributes&) + 1831
67 swift-syntax-test        0x000000010b61904c swift::Parser::parseDecl(swift::OptionSet<swift::Parser::ParseDeclFlags, unsigned int>, llvm::function_ref<void (swift::Decl*)>) + 2188
68 swift-syntax-test        0x000000010b62770b swift::Parser::parseDeclItem(bool&, swift::OptionSet<swift::Parser::ParseDeclFlags, unsigned int>, llvm::function_ref<void (swift::Decl*)>) + 523
69 swift-syntax-test        0x000000010b625ea4 swift::Parser::parseDeclList(swift::SourceLoc, swift::SourceLoc&, swift::Diag<>, swift::OptionSet<swift::Parser::ParseDeclFlags, unsigned int>, llvm::function_ref<void (swift::Decl*)>) + 228
70 swift-syntax-test        0x000000010b62096a swift::Parser::parseDeclClass(swift::OptionSet<swift::Parser::ParseDeclFlags, unsigned int>, swift::DeclAttributes&) + 1898
71 swift-syntax-test        0x000000010b61901b swift::Parser::parseDecl(swift::OptionSet<swift::Parser::ParseDeclFlags, unsigned int>, llvm::function_ref<void (swift::Decl*)>) + 2139
72 swift-syntax-test        0x000000010b65bdcd swift::Parser::parseBraceItems(llvm::SmallVectorImpl<swift::ASTNode>&, swift::BraceItemListKind, swift::BraceItemListKind) + 2301
73 swift-syntax-test        0x000000010b60be97 swift::Parser::parseTopLevel() + 391
74 swift-syntax-test        0x000000010b3df48b swift::parseIntoSourceFile(swift::SourceFile&, unsigned int, bool*, swift::SILParserState*, swift::PersistentParserState*, swift::DelayedParsingCallbacks*) + 299
75 swift-syntax-test        0x000000010afc084e swift::CompilerInstance::performParseOnly(bool, bool) + 558
76 swift-syntax-test        0x000000010adffbc2 (anonymous namespace)::parseFile(char const*, llvm::StringRef, llvm::function_ref<int (swift::SourceFile*, swift::SyntaxParsingCache*)>) + 4290
77 swift-syntax-test        0x000000010adfc574 invokeCommand(char const*, llvm::StringRef) + 3028
78 swift-syntax-test        0x000000010adfc9ef main + 655
79 libdyld.dylib            0x00007fff58fa3085 start + 1
80 libdyld.dylib            0x000000000000000d start + 2802175881
@nathawes
Copy link
Collaborator Author

@swift-ci create

@nathawes
Copy link
Collaborator Author

Looks like this was fixed by #19951

@swift-ci swift-ci transferred this issue from apple/swift-issues Apr 25, 2022
@AnthonyLatsis AnthonyLatsis added crash Bug: A crash, i.e., an abnormal termination of software compiler The Swift compiler in itself labels Dec 12, 2022
This issue was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug A deviation from expected or documented behavior. Also: expected but undesirable behavior. compiler The Swift compiler in itself crash Bug: A crash, i.e., an abnormal termination of software
Projects
None yet
Development

No branches or pull requests

2 participants