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-9496] Compiler crash while type-checking #51951

Closed
nsalmoria opened this issue Dec 12, 2018 · 2 comments
Closed

[SR-9496] Compiler crash while type-checking #51951

nsalmoria opened this issue Dec 12, 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 regression swift 5.0

Comments

@nsalmoria
Copy link
Contributor

Previous ID SR-9496
Radar rdar://problem/46699008
Original Reporter @nsalmoria
Type Bug
Status Resolved
Resolution Done
Environment

Xcode 10.1, Development Snapshot 2018-12-10

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

md5: 3f749908a631407f67818a2c6206b50c

Issue Description:

This code compiles fine with Xcode 10.1 and default toolchain, but crashes with Development Snapshot 2018-12-10.

protocol P1 {
    associatedtype A1
}

protocol P2 {
    associatedtype A2
}

struct S1<G1: P1, G2: P1>: P1 where G1.A1 == G2.A1 {
    typealias A1 = G1.A1
}

struct S2<G1: P1, G2: P2>: P2 where G1.A1 == G2.A2 {
    typealias A2 = G2.A2
}

struct S3<G1: P1, G2: P2> where G1.A1 == G2.A2 {
    func f<G: P1>(_: G) -> S3<S1<G, G1>, S2<G, G2>> {
        fatalError()
    }
}

the crash log is

Assertion failed: (Loc.isValid()), function findBufferContainingLoc, file /Users/buildnode/jenkins/workspace/oss-swift-package-osx/swift/lib/Basic/SourceLoc.cpp, line 214.
Stack dump:
0.  Program arguments: /Library/Developer/Toolchains/swift-DEVELOPMENT-SNAPSHOT-2018-12-10-a.xctoolchain/usr/bin/swift -frontend -c /Users/nicolasalmoria/Documents/BugReportCompilerCrash3/Crasher/main.swift -emit-module-path /Users/nicolasalmoria/Library/Developer/Xcode/DerivedData/VeniceConnection-flcvnporlcamcybjkxknkomaprhk/Build/Intermediates.noindex/LocIsValid.build/Release/LocIsValid.build/Objects-normal/x86_64/LocIsValid.swiftmodule -emit-module-doc-path /Users/nicolasalmoria/Library/Developer/Xcode/DerivedData/VeniceConnection-flcvnporlcamcybjkxknkomaprhk/Build/Intermediates.noindex/LocIsValid.build/Release/LocIsValid.build/Objects-normal/x86_64/LocIsValid.swiftdoc -serialize-diagnostics-path /Users/nicolasalmoria/Library/Developer/Xcode/DerivedData/VeniceConnection-flcvnporlcamcybjkxknkomaprhk/Build/Intermediates.noindex/LocIsValid.build/Release/LocIsValid.build/Objects-normal/x86_64/LocIsValid-master.dia -emit-objc-header-path /Users/nicolasalmoria/Library/Developer/Xcode/DerivedData/VeniceConnection-flcvnporlcamcybjkxknkomaprhk/Build/Intermediates.noindex/LocIsValid.build/Release/LocIsValid.build/Objects-normal/x86_64/LocIsValid-Swift.h -emit-dependencies-path /Users/nicolasalmoria/Library/Developer/Xcode/DerivedData/VeniceConnection-flcvnporlcamcybjkxknkomaprhk/Build/Intermediates.noindex/LocIsValid.build/Release/LocIsValid.build/Objects-normal/x86_64/LocIsValid-master.d -target x86_64-apple-macosx10.13 -enable-objc-interop -sdk /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk -I /Users/nicolasalmoria/Library/Developer/Xcode/DerivedData/VeniceConnection-flcvnporlcamcybjkxknkomaprhk/Build/Products/Release -F /Users/nicolasalmoria/Library/Developer/Xcode/DerivedData/VeniceConnection-flcvnporlcamcybjkxknkomaprhk/Build/Products/Release -g -module-cache-path /Users/nicolasalmoria/Library/Developer/Xcode/DerivedData/ModuleCache.noindex -swift-version 4.2 -O -serialize-debugging-options -Xcc -I/Users/nicolasalmoria/Library/Developer/Xcode/DerivedData/VeniceConnection-flcvnporlcamcybjkxknkomaprhk/Build/Intermediates.noindex/LocIsValid.build/Release/LocIsValid.build/swift-overrides.hmap -Xcc -iquote -Xcc /Users/nicolasalmoria/Library/Developer/Xcode/DerivedData/VeniceConnection-flcvnporlcamcybjkxknkomaprhk/Build/Intermediates.noindex/LocIsValid.build/Release/LocIsValid.build/LocIsValid-generated-files.hmap -Xcc -I/Users/nicolasalmoria/Library/Developer/Xcode/DerivedData/VeniceConnection-flcvnporlcamcybjkxknkomaprhk/Build/Intermediates.noindex/LocIsValid.build/Release/LocIsValid.build/LocIsValid-own-target-headers.hmap -Xcc -I/Users/nicolasalmoria/Library/Developer/Xcode/DerivedData/VeniceConnection-flcvnporlcamcybjkxknkomaprhk/Build/Intermediates.noindex/LocIsValid.build/Release/LocIsValid.build/LocIsValid-all-target-headers.hmap -Xcc -iquote -Xcc /Users/nicolasalmoria/Library/Developer/Xcode/DerivedData/VeniceConnection-flcvnporlcamcybjkxknkomaprhk/Build/Intermediates.noindex/LocIsValid.build/Release/LocIsValid.build/LocIsValid-project-headers.hmap -Xcc -I/Users/nicolasalmoria/Library/Developer/Xcode/DerivedData/VeniceConnection-flcvnporlcamcybjkxknkomaprhk/Build/Products/Release/include -Xcc -I/Users/nicolasalmoria/Library/Developer/Xcode/DerivedData/VeniceConnection-flcvnporlcamcybjkxknkomaprhk/Build/Intermediates.noindex/LocIsValid.build/Release/LocIsValid.build/DerivedSources/x86_64 -Xcc -I/Users/nicolasalmoria/Library/Developer/Xcode/DerivedData/VeniceConnection-flcvnporlcamcybjkxknkomaprhk/Build/Intermediates.noindex/LocIsValid.build/Release/LocIsValid.build/DerivedSources -Xcc -working-directory/Users/nicolasalmoria/Documents/BugReportCompilerCrash3 -module-name LocIsValid -num-threads 4 -o /Users/nicolasalmoria/Library/Developer/Xcode/DerivedData/VeniceConnection-flcvnporlcamcybjkxknkomaprhk/Build/Intermediates.noindex/LocIsValid.build/Release/LocIsValid.build/Objects-normal/x86_64/main.o 
1.  While type-checking 'S3' (at /Users/nicolasalmoria/Documents/BugReportCompilerCrash3/Crasher/main.swift:17:1)
2.  While type-checking 'f(_:)' (at /Users/nicolasalmoria/Documents/BugReportCompilerCrash3/Crasher/main.swift:18:5)
3.  While validating 'f(_:)' (at /Users/nicolasalmoria/Documents/BugReportCompilerCrash3/Crasher/main.swift:18:5)
0  swift                    0x000000010fccbc78 llvm::sys::PrintStackTrace(llvm::raw_ostream&) + 40
1  swift                    0x000000010fccaef5 llvm::sys::RunSignalHandlers() + 85
2  swift                    0x000000010fccc282 SignalHandler(int) + 258
3  libsystem_platform.dylib 0x00007fff62393b3d _sigtramp + 29
4  libsystem_platform.dylib 0x0000000111fb9000 _sigtramp + 2948748512
5  libsystem_c.dylib        0x00007fff622521c9 abort + 127
6  libsystem_c.dylib        0x00007fff6221a868 basename_r + 0
7  swift                    0x000000010d4c5cd8 swift::SourceManager::findBufferContainingLoc(swift::SourceLoc) const + 200
8  swift                    0x000000010d43cee0 swift::GenericSignatureBuilder::checkSameTypeConstraints(swift::ArrayRefView<swift::Type, swift::GenericTypeParamType*, swift::GenericTypeParamType* swift::staticCastHelper<swift::GenericTypeParamType>(swift::Type const&), true>, swift::GenericSignatureBuilder::EquivalenceClass*)::$_49::__invoke((anonymous namespace)::IntercomponentEdge* const*, (anonymous namespace)::IntercomponentEdge* const*) + 96
9  libsystem_c.dylib        0x00007fff62255a0f _isort + 193
10 libsystem_c.dylib        0x00007fff6225593c _qsort + 2159
11 swift                    0x000000010d430fc6 swift::GenericSignatureBuilder::checkSameTypeConstraints(swift::ArrayRefView<swift::Type, swift::GenericTypeParamType*, swift::GenericTypeParamType* swift::staticCastHelper<swift::GenericTypeParamType>(swift::Type const&), true>, swift::GenericSignatureBuilder::EquivalenceClass*) + 6422
12 swift                    0x000000010d42db62 swift::GenericSignatureBuilder::finalize(swift::SourceLoc, swift::ArrayRefView<swift::Type, swift::GenericTypeParamType*, swift::GenericTypeParamType* swift::staticCastHelper<swift::GenericTypeParamType>(swift::Type const&), true>, bool) + 2178
13 swift                    0x000000010d4364cd swift::GenericSignatureBuilder::computeGenericSignature(swift::SourceLoc, bool, bool) && + 45
14 swift                    0x000000010d0e8094 swift::TypeChecker::validateGenericFuncSignature(swift::AbstractFunctionDecl*) + 980
15 swift                    0x000000010d0bdb21 swift::TypeChecker::validateDecl(swift::ValueDecl*) + 6081
16 swift                    0x000000010d0c7780 (anonymous namespace)::DeclChecker::visitFuncDecl(swift::FuncDecl*) + 48
17 swift                    0x000000010d0b8f88 (anonymous namespace)::DeclChecker::visit(swift::Decl*) + 184
18 swift                    0x000000010d0c5dab (anonymous namespace)::DeclChecker::visitStructDecl(swift::StructDecl*) + 139
19 swift                    0x000000010d0b94a3 (anonymous namespace)::DeclChecker::visit(swift::Decl*) + 1491
20 swift                    0x000000010d0b8ec6 swift::TypeChecker::typeCheckDecl(swift::Decl*) + 38
21 swift                    0x000000010d1529c8 swift::performTypeChecking(swift::SourceFile&, swift::TopLevelContext&, swift::OptionSet<swift::TypeCheckingFlags, unsigned int>, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int) + 872
22 swift                    0x000000010c9252ac swift::CompilerInstance::parseAndTypeCheckMainFileUpTo(swift::SourceFile::ASTStage_t, swift::PersistentParserState&, swift::DelayedParsingCallbacks*, swift::OptionSet<swift::TypeCheckingFlags, unsigned int>) + 492
23 swift                    0x000000010c923c23 swift::CompilerInstance::parseAndCheckTypesUpTo(swift::CompilerInstance::ImplicitImports const&, swift::SourceFile::ASTStage_t) + 435
24 swift                    0x000000010c9232e8 swift::CompilerInstance::performSemaUpTo(swift::SourceFile::ASTStage_t) + 616
25 swift                    0x000000010c1012c4 performCompile(swift::CompilerInstance&, swift::CompilerInvocation&, llvm::ArrayRef<char const*>, int&, swift::FrontendObserver*, swift::UnifiedStatsReporter*) + 1300
26 swift                    0x000000010c0ffd42 swift::performFrontend(llvm::ArrayRef<char const*>, char const*, void*, swift::FrontendObserver*) + 2978
27 swift                    0x000000010c0b1b1e main + 686
28 libdyld.dylib            0x00007fff621aa08d start + 1
29 libdyld.dylib            0x000000000000003a start + 2649055150
error: Abort trap: 6
@DougGregor
Copy link
Member

#21656

@AnnaZaks
Copy link
Mannequin

AnnaZaks mannequin commented Jul 23, 2019

@nsalmoria, Could you verify if the problem is fixed and if so move the JIRA to "Closed"?

Thanks!
Anna

@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 5.0
Projects
None yet
Development

No branches or pull requests

3 participants