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-5559] compiler crash: Assertion failed: (!TD->getDeclContext()->isTypeContext()) #48131

Closed
weissi opened this issue Jul 26, 2017 · 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 regression swift 4.0

Comments

@weissi
Copy link
Member

weissi commented Jul 26, 2017

Previous ID SR-5559
Radar rdar://problem/33539464
Original Reporter @weissi
Type Bug
Status Resolved
Resolution Done

Attachment: Download

Additional Detail from JIRA
Votes 0
Component/s Compiler
Labels Bug, 4.0Regression, CompilerCrash
Assignee None
Priority Medium

md5: dd5e019a79436b49d0be7d1499c45aa4

Issue Description:

this is a new regression, this code crashes the compiler now

public class Foo {
    public func foo<T>(_ test: T.Type = T.self) -> T { 
        fatalError()
    }   
}

this is the crash

$ /Users/johannes/Downloads/Applications//Xcode.app/Contents/Developer/Toolchains/swift-DEVELOPMENT-SNAPSHOT-2017-07-26-a.xctoolchain/usr/bin/swiftc  /tmp/test.swift 
Assertion failed: (!TD->getDeclContext()->isTypeContext()), function parseExprIdentifier, file /Users/buildnode/jenkins/workspace/oss-swift-package-osx/swift/lib/Parse/ParseExpr.cpp, line 2070.
0  swift                    0x000000010bd14ac8 llvm::sys::PrintStackTrace(llvm::raw_ostream&) + 40
1  swift                    0x000000010bd13a26 llvm::sys::RunSignalHandlers() + 86
2  swift                    0x000000010bd1508e SignalHandler(int) + 366
3  libsystem_platform.dylib 0x00007fff6238df5a _sigtramp + 26
4  libsystem_platform.dylib 0x00007ffee6fa7960 _sigtramp + 2227280416
5  libsystem_c.dylib        0x00007fff621b8c6a abort + 127
6  libsystem_c.dylib        0x00007fff62180cc0 basename_r + 0
7  swift                    0x0000000109b3afbb swift::Parser::parseExprIdentifier() + 2523
8  swift                    0x0000000109b34d3c swift::Parser::parseExprPostfix(swift::Diag<>, bool) + 6652
9  swift                    0x0000000109b32a09 swift::Parser::parseExprSequenceElement(swift::Diag<>, bool) + 393
10 swift                    0x0000000109b31e04 swift::Parser::parseExprSequence(swift::Diag<>, bool, bool) + 1300
11 swift                    0x0000000109b31839 swift::Parser::parseExprImpl(swift::Diag<>, bool) + 89
12 swift                    0x0000000109b4a82d std::__1::__function::__func<swift::Parser::parseParameterClause(swift::SourceLoc&, llvm::SmallVectorImpl<swift::Parser::ParsedParameter>&, swift::SourceLoc&, swift::Parser::DefaultArgumentInfo*, swift::Parser::ParameterContextKind)::$_0, std::__1::allocator<swift::Parser::parseParameterClause(swift::SourceLoc&, llvm::SmallVectorImpl<swift::Parser::ParsedParameter>&, swift::SourceLoc&, swift::Parser::DefaultArgumentInfo*, swift::Parser::ParameterContextKind)::$_0>, swift::ParserStatus ()>::operator()() + 2381
13 swift                    0x0000000109b4f895 swift::Parser::parseList(swift::tok, swift::SourceLoc, swift::SourceLoc&, bool, swift::Diag<>, std::__1::function<swift::ParserStatus ()>) + 357
14 swift                    0x0000000109b46d02 swift::Parser::parseParameterClause(swift::SourceLoc&, llvm::SmallVectorImpl<swift::Parser::ParsedParameter>&, swift::SourceLoc&, swift::Parser::DefaultArgumentInfo*, swift::Parser::ParameterContextKind) + 242
15 swift                    0x0000000109b46e00 swift::Parser::parseSingleParameterClause(swift::Parser::ParameterContextKind, llvm::SmallVectorImpl<swift::Identifier>*, swift::Parser::DefaultArgumentInfo*) + 128
16 swift                    0x0000000109b4754f swift::Parser::parseFunctionArguments(llvm::SmallVectorImpl<swift::Identifier>&, llvm::SmallVectorImpl<swift::ParameterList*>&, swift::Parser::ParameterContextKind, swift::Parser::DefaultArgumentInfo&) + 47
17 swift                    0x0000000109b4793f swift::Parser::parseFunctionSignature(swift::Identifier, swift::DeclName&, llvm::SmallVectorImpl<swift::ParameterList*>&, swift::Parser::DefaultArgumentInfo&, swift::SourceLoc&, bool&, swift::TypeRepr*&) + 175
18 swift                    0x0000000109b23ed1 swift::Parser::parseDeclFunc(swift::SourceLoc, swift::StaticSpellingKind, swift::OptionSet<swift::Parser::ParseDeclFlags, unsigned int>, swift::DeclAttributes&) + 1857
19 swift                    0x0000000109b1b64b swift::Parser::parseDecl(swift::OptionSet<swift::Parser::ParseDeclFlags, unsigned int>, llvm::function_ref<void (swift::Decl*)>) + 2747
20 swift                    0x0000000109b271fa swift::Parser::parseDeclItem(bool&, swift::OptionSet<swift::Parser::ParseDeclFlags, unsigned int>, llvm::function_ref<void (swift::Decl*)>) + 634
21 swift                    0x0000000109b27c0b swift::Parser::parseDeclList(swift::SourceLoc, swift::SourceLoc&, swift::Diag<>, swift::OptionSet<swift::Parser::ParseDeclFlags, unsigned int>, llvm::function_ref<void (swift::Decl*)>) + 91
22 swift                    0x0000000109b1c9e1 swift::Parser::parseDeclClass(swift::SourceLoc, swift::OptionSet<swift::Parser::ParseDeclFlags, unsigned int>, swift::DeclAttributes&) + 849
23 swift                    0x0000000109b1b3a3 swift::Parser::parseDecl(swift::OptionSet<swift::Parser::ParseDeclFlags, unsigned int>, llvm::function_ref<void (swift::Decl*)>) + 2067
24 swift                    0x0000000109b5652a swift::Parser::parseBraceItems(llvm::SmallVectorImpl<swift::ASTNode>&, swift::BraceItemListKind, swift::BraceItemListKind) + 1034
25 swift                    0x0000000109b101f7 swift::Parser::parseTopLevel() + 487
26 swift                    0x00000001097117cd swift::parseIntoSourceFile(swift::SourceFile&, unsigned int, bool*, swift::SILParserState*, swift::PersistentParserState*, swift::DelayedParsingCallbacks*) + 301
27 swift                    0x00000001096aa88b swift::CompilerInstance::performSema() + 3547
28 swift                    0x0000000108c9710f performCompile(swift::CompilerInstance&, swift::CompilerInvocation&, llvm::ArrayRef<char const*>, int&, swift::FrontendObserver*, swift::UnifiedStatsReporter*) + 1455
29 swift                    0x0000000108c95c66 swift::performFrontend(llvm::ArrayRef<char const*>, char const*, void*, swift::FrontendObserver*) + 3494
30 swift                    0x0000000108c57870 main + 3312
31 libdyld.dylib            0x00007fff6210d7cd start + 1
32 libdyld.dylib            0x000000000000000d start + 2649696321
Stack dump:
0.  Program arguments: /Users/johannes/Downloads/Applications/Xcode.app/Contents/Developer/Toolchains/swift-DEVELOPMENT-SNAPSHOT-2017-07-26-a.xctoolchain/usr/bin/swift -frontend -c -primary-file /tmp/test.swift -target x86_64-apple-macosx10.9 -enable-objc-interop -color-diagnostics -module-name test -o /var/folders/k8/7d0p_dxx2ll8vnw5mt5__ddc0000gn/T/test-3ac331.o 
1.  With parser at source location: /tmp/test.swift:2:42
<unknown>:0: error: unable to execute command: Abort trap: 6
<unknown>:0: error: compile command failed due to signal 6 (use -v to see invocation)

with

Apple Swift version 4.0-dev (LLVM 60522348b3, Clang 9a7d2d2f21, Swift 410c20912b)
Target: x86_64-apple-macosx10.9

compiles fine with swiftc releases from a few days ago

@weissi
Copy link
Member Author

weissi commented Jul 26, 2017

@swift-ci create

@slavapestov
Copy link
Member

#11256

@swift-ci swift-ci transferred this issue from apple/swift-issues Apr 25, 2022
@AnthonyLatsis AnthonyLatsis added the crash Bug: A crash, i.e., an abnormal termination of software label 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 regression swift 4.0
Projects
None yet
Development

No branches or pull requests

3 participants