Slava Pestov
5a894423fd
Add a couple of crashers
2017-05-28 23:12:43 -07:00
Jacob Bandes-Storch
b7fe4e2355
[Parse] Fix InFlightDiagnostic lifetime ( #9961 )
...
Fixes @practicalswift's crasher 28759 (#9907 ), which seems to have been introduced in #9294 .
2017-05-27 13:38:05 -07:00
Jacob Bandes-Storch
035179331b
[CSDiag] Fix crasher in KeyPathExpr diagnosis ( #9962 )
...
New KeyPathExpr diagnosis recently added in #9845 did not work for Obj-C key paths.
2017-05-27 13:36:56 -07:00
practicalswift
145222b0d0
[swiftc (37 vs. 5535)] Add crasher in swift::TypeBase::getCanonicalType(...)
...
Add test case for crash triggered in `swift::TypeBase::getCanonicalType(...)`.
Current number of unresolved compiler crashers: 37 (5535 resolved)
Stack trace:
```
0 0x0000000003a60998 llvm::sys::PrintStackTrace(llvm::raw_ostream&) (/path/to/swift/bin/swift+0x3a60998)
1 0x0000000003a610d6 SignalHandler(int) (/path/to/swift/bin/swift+0x3a610d6)
2 0x00007f7c8a848390 __restore_rt (/lib/x86_64-linux-gnu/libpthread.so.0+0x11390)
3 0x00000000015b3424 swift::TypeBase::getCanonicalType() (/path/to/swift/bin/swift+0x15b3424)
4 0x00000000013785a7 (anonymous namespace)::LookupResultBuilder::add(swift::ValueDecl*, swift::ValueDecl*, swift::Type) (/path/to/swift/bin/swift+0x13785a7)
5 0x0000000001378374 swift::TypeChecker::lookupUnqualified(swift::DeclContext*, swift::DeclName, swift::SourceLoc, swift::OptionSet<swift::NameLookupFlags, unsigned int>) (/path/to/swift/bin/swift+0x1378374)
6 0x0000000001329885 swift::TypeChecker::resolveDeclRefExpr(swift::UnresolvedDeclRefExpr*, swift::DeclContext*) (/path/to/swift/bin/swift+0x1329885)
7 0x0000000001337382 (anonymous namespace)::PreCheckExpression::walkToExprPre(swift::Expr*) (/path/to/swift/bin/swift+0x1337382)
8 0x000000000150e4fb swift::Expr::walk(swift::ASTWalker&) (/path/to/swift/bin/swift+0x150e4fb)
9 0x000000000132b565 swift::TypeChecker::solveForExpression(swift::Expr*&, swift::DeclContext*, swift::Type, swift::FreeTypeVariableBinding, swift::ExprTypeCheckListener*, swift::constraints::ConstraintSystem&, llvm::SmallVectorImpl<swift::constraints::Solution>&, swift::OptionSet<swift::TypeCheckExprFlags, unsigned int>) (/path/to/swift/bin/swift+0x132b565)
10 0x000000000132ef61 swift::TypeChecker::typeCheckExpression(swift::Expr*&, swift::DeclContext*, swift::TypeLoc, swift::ContextualTypePurpose, swift::OptionSet<swift::TypeCheckExprFlags, unsigned int>, swift::ExprTypeCheckListener*, swift::constraints::ConstraintSystem*) (/path/to/swift/bin/swift+0x132ef61)
11 0x0000000001333044 swift::TypeChecker::typeCheckBinding(swift::Pattern*&, swift::Expr*&, swift::DeclContext*, bool) (/path/to/swift/bin/swift+0x1333044)
12 0x00000000013332a6 swift::TypeChecker::typeCheckPatternBinding(swift::PatternBindingDecl*, unsigned int, bool) (/path/to/swift/bin/swift+0x13332a6)
13 0x000000000134b918 validatePatternBindingEntries(swift::TypeChecker&, swift::PatternBindingDecl*) (/path/to/swift/bin/swift+0x134b918)
14 0x0000000001345cdd (anonymous namespace)::DeclChecker::visit(swift::Decl*) (/path/to/swift/bin/swift+0x1345cdd)
15 0x000000000135612b (anonymous namespace)::DeclChecker::visitExtensionDecl(swift::ExtensionDecl*) (/path/to/swift/bin/swift+0x135612b)
16 0x0000000001345cc4 (anonymous namespace)::DeclChecker::visit(swift::Decl*) (/path/to/swift/bin/swift+0x1345cc4)
17 0x0000000001345ba3 swift::TypeChecker::typeCheckDecl(swift::Decl*, bool) (/path/to/swift/bin/swift+0x1345ba3)
18 0x00000000013cfd95 swift::performTypeChecking(swift::SourceFile&, swift::TopLevelContext&, swift::OptionSet<swift::TypeCheckingFlags, unsigned int>, unsigned int, unsigned int) (/path/to/swift/bin/swift+0x13cfd95)
19 0x0000000000f98dd6 swift::CompilerInstance::performSema() (/path/to/swift/bin/swift+0xf98dd6)
20 0x00000000004aa768 performCompile(swift::CompilerInstance&, swift::CompilerInvocation&, llvm::ArrayRef<char const*>, int&, swift::FrontendObserver*, swift::UnifiedStatsReporter*) (/path/to/swift/bin/swift+0x4aa768)
21 0x00000000004a8d8b swift::performFrontend(llvm::ArrayRef<char const*>, char const*, void*, swift::FrontendObserver*) (/path/to/swift/bin/swift+0x4a8d8b)
22 0x00000000004655c7 main (/path/to/swift/bin/swift+0x4655c7)
23 0x00007f7c88d59830 __libc_start_main /build/glibc-9tT8Do/glibc-2.23/csu/../csu/libc-start.c:325:0
24 0x0000000000462c69 _start (/path/to/swift/bin/swift+0x462c69)
```
2017-05-27 19:07:18 +02:00
practicalswift
9685289b1b
[swiftc (36 vs. 5535)] Add crasher in swift::constraints::ConstraintSystem::getTypeOfReference
...
Add test case for crash triggered in `swift::constraints::ConstraintSystem::getTypeOfReference`.
Current number of unresolved compiler crashers: 36 (5535 resolved)
/cc @slavapestov - just wanted to let you know that this crasher caused an assertion failure for the assertion `!valueType->hasUnboundGenericType() && !valueType->hasTypeParameter()` added on 2017-05-22 by you in commit b112e95a :-)
Assertion failure in [`lib/Sema/ConstraintSystem.cpp (line 841)`](a290776ff0/lib/Sema/ConstraintSystem.cpp (L841) ):
```
Assertion `!valueType->hasUnboundGenericType() && !valueType->hasTypeParameter()' failed.
When executing: std::pair<Type, Type> swift::constraints::ConstraintSystem::getTypeOfReference(swift::ValueDecl *, swift::FunctionRefKind, swift::constraints::ConstraintLocatorBuilder, const swift::DeclRefExpr *)
```
Assertion context:
```c++
// Unqualified reference to a type.
if (auto typeDecl = dyn_cast<TypeDecl>(value)) {
// Resolve the reference to this type declaration in our current context.
auto type = TC.resolveTypeInContext(typeDecl, DC,
TR_InExpression,
/*isSpecialized=*/false);
// Open the type.
type = openUnboundGenericType(type, locator);
// Module types are not wrapped in metatypes.
```
Stack trace:
```
0 0x0000000003a60998 llvm::sys::PrintStackTrace(llvm::raw_ostream&) (/path/to/swift/bin/swift+0x3a60998)
1 0x0000000003a610d6 SignalHandler(int) (/path/to/swift/bin/swift+0x3a610d6)
2 0x00007f2c4bc94390 __restore_rt (/lib/x86_64-linux-gnu/libpthread.so.0+0x11390)
3 0x00007f2c4a1ba428 gsignal /build/glibc-9tT8Do/glibc-2.23/signal/../sysdeps/unix/sysv/linux/raise.c:54:0
4 0x00007f2c4a1bc02a abort /build/glibc-9tT8Do/glibc-2.23/stdlib/abort.c:91:0
5 0x00007f2c4a1b2bd7 __assert_fail_base /build/glibc-9tT8Do/glibc-2.23/assert/assert.c:92:0
6 0x00007f2c4a1b2c82 (/lib/x86_64-linux-gnu/libc.so.6+0x2dc82)
7 0x00000000013173d0 swift::constraints::ConstraintSystem::getTypeOfReference(swift::ValueDecl*, swift::FunctionRefKind, swift::constraints::ConstraintLocatorBuilder, swift::DeclRefExpr const*) (/path/to/swift/bin/swift+0x13173d0)
8 0x0000000001318d51 swift::constraints::ConstraintSystem::resolveOverload(swift::constraints::ConstraintLocator*, swift::Type, swift::constraints::OverloadChoice, swift::DeclContext*) (/path/to/swift/bin/swift+0x1318d51)
9 0x00000000012cc5b4 swift::ASTVisitor<(anonymous namespace)::ConstraintGenerator, swift::Type, void, void, void, void, void>::visit(swift::Expr*) (/path/to/swift/bin/swift+0x12cc5b4)
10 0x00000000012d27a8 (anonymous namespace)::ConstraintWalker::walkToExprPost(swift::Expr*) (/path/to/swift/bin/swift+0x12d27a8)
11 0x000000000150fd81 swift::ASTVisitor<(anonymous namespace)::Traversal, swift::Expr*, swift::Stmt*, bool, swift::Pattern*, bool, void>::visit(swift::Expr*) (/path/to/swift/bin/swift+0x150fd81)
12 0x0000000001511cde (anonymous namespace)::Traversal::visitApplyExpr(swift::ApplyExpr*) (/path/to/swift/bin/swift+0x1511cde)
13 0x000000000150e52b swift::Expr::walk(swift::ASTWalker&) (/path/to/swift/bin/swift+0x150e52b)
14 0x00000000012c92a1 swift::constraints::ConstraintSystem::generateConstraints(swift::Expr*) (/path/to/swift/bin/swift+0x12c92a1)
15 0x00000000012f30d6 swift::constraints::ConstraintSystem::solve(swift::Expr*&, swift::Type, swift::ExprTypeCheckListener*, llvm::SmallVectorImpl<swift::constraints::Solution>&, swift::FreeTypeVariableBinding) (/path/to/swift/bin/swift+0x12f30d6)
16 0x000000000132b624 swift::TypeChecker::solveForExpression(swift::Expr*&, swift::DeclContext*, swift::Type, swift::FreeTypeVariableBinding, swift::ExprTypeCheckListener*, swift::constraints::ConstraintSystem&, llvm::SmallVectorImpl<swift::constraints::Solution>&, swift::OptionSet<swift::TypeCheckExprFlags, unsigned int>) (/path/to/swift/bin/swift+0x132b624)
17 0x000000000132ef61 swift::TypeChecker::typeCheckExpression(swift::Expr*&, swift::DeclContext*, swift::TypeLoc, swift::ContextualTypePurpose, swift::OptionSet<swift::TypeCheckExprFlags, unsigned int>, swift::ExprTypeCheckListener*, swift::constraints::ConstraintSystem*) (/path/to/swift/bin/swift+0x132ef61)
18 0x00000000013338c4 swift::TypeChecker::typeCheckCondition(swift::Expr*&, swift::DeclContext*) (/path/to/swift/bin/swift+0x13338c4)
19 0x00000000013340e0 swift::TypeChecker::typeCheckExprPattern(swift::ExprPattern*, swift::DeclContext*, swift::Type) (/path/to/swift/bin/swift+0x13340e0)
20 0x000000000137dd36 swift::TypeChecker::coercePatternToType(swift::Pattern*&, swift::DeclContext*, swift::Type, swift::OptionSet<swift::TypeResolutionFlags, unsigned int>, swift::GenericTypeResolver*, swift::TypeLoc) (/path/to/swift/bin/swift+0x137dd36)
21 0x000000000137d5a1 swift::TypeChecker::coercePatternToType(swift::Pattern*&, swift::DeclContext*, swift::Type, swift::OptionSet<swift::TypeResolutionFlags, unsigned int>, swift::GenericTypeResolver*, swift::TypeLoc) (/path/to/swift/bin/swift+0x137d5a1)
22 0x000000000137c865 swift::TypeChecker::typeCheckPattern(swift::Pattern*, swift::DeclContext*, swift::OptionSet<swift::TypeResolutionFlags, unsigned int>) (/path/to/swift/bin/swift+0x137c865)
23 0x00000000013339f3 swift::TypeChecker::typeCheckStmtCondition(llvm::MutableArrayRef<swift::StmtConditionElement>&, swift::DeclContext*, swift::Diag<>) (/path/to/swift/bin/swift+0x13339f3)
24 0x00000000013b2ef6 swift::ASTVisitor<(anonymous namespace)::StmtChecker, void, swift::Stmt*, void, void, void, void>::visit(swift::Stmt*) (/path/to/swift/bin/swift+0x13b2ef6)
25 0x00000000013b26c6 swift::ASTVisitor<(anonymous namespace)::StmtChecker, void, swift::Stmt*, void, void, void, void>::visit(swift::Stmt*) (/path/to/swift/bin/swift+0x13b26c6)
26 0x00000000013b1fa6 swift::TypeChecker::typeCheckTopLevelCodeDecl(swift::TopLevelCodeDecl*) (/path/to/swift/bin/swift+0x13b1fa6)
27 0x00000000013cfe10 swift::performTypeChecking(swift::SourceFile&, swift::TopLevelContext&, swift::OptionSet<swift::TypeCheckingFlags, unsigned int>, unsigned int, unsigned int) (/path/to/swift/bin/swift+0x13cfe10)
28 0x0000000000f98dd6 swift::CompilerInstance::performSema() (/path/to/swift/bin/swift+0xf98dd6)
29 0x00000000004aa768 performCompile(swift::CompilerInstance&, swift::CompilerInvocation&, llvm::ArrayRef<char const*>, int&, swift::FrontendObserver*, swift::UnifiedStatsReporter*) (/path/to/swift/bin/swift+0x4aa768)
30 0x00000000004a8d8b swift::performFrontend(llvm::ArrayRef<char const*>, char const*, void*, swift::FrontendObserver*) (/path/to/swift/bin/swift+0x4a8d8b)
31 0x00000000004655c7 main (/path/to/swift/bin/swift+0x4655c7)
32 0x00007f2c4a1a5830 __libc_start_main /build/glibc-9tT8Do/glibc-2.23/csu/../csu/libc-start.c:325:0
33 0x0000000000462c69 _start (/path/to/swift/bin/swift+0x462c69)
```
2017-05-27 17:36:53 +02:00
practicalswift
e5a40107c9
[swiftc (35 vs. 5535)] Add crasher in swift::Expr::propagateLValueAccessKind
...
Add test case for crash triggered in `swift::Expr::propagateLValueAccessKind`.
Current number of unresolved compiler crashers: 35 (5535 resolved)
/cc @rjmccall - just wanted to let you know that this crasher caused an assertion failure for the assertion `(AllowOverwrite || !E->hasLValueAccessKind()) && "l-value access kind has already been set"` added on 2015-09-29 by you in commit d1554f9fc :-)
Assertion failure in [`lib/AST/Expr.cpp (line 238)`](d0c2ffc4a6/lib/AST/Expr.cpp (L238) ):
```
Assertion `(AllowOverwrite || !E->hasLValueAccessKind()) && "l-value access kind has already been set"' failed.
When executing: void swift::Expr::propagateLValueAccessKind(swift::AccessKind, llvm::function_ref<Type (Expr *)>, bool)::PropagateAccessKind::visit(swift::Expr *, swift::AccessKind)
```
Assertion context:
```c++
#endif
{}
void visit(Expr *E, AccessKind kind) {
assert((AllowOverwrite || !E->hasLValueAccessKind()) &&
"l-value access kind has already been set");
assert(GetType(E)->isAssignableType() &&
"setting access kind on non-l-value");
E->setLValueAccessKind(kind);
```
Stack trace:
```
0 0x0000000003a60998 llvm::sys::PrintStackTrace(llvm::raw_ostream&) (/path/to/swift/bin/swift+0x3a60998)
1 0x0000000003a610d6 SignalHandler(int) (/path/to/swift/bin/swift+0x3a610d6)
2 0x00007f043836e390 __restore_rt (/lib/x86_64-linux-gnu/libpthread.so.0+0x11390)
3 0x00007f0436894428 gsignal /build/glibc-9tT8Do/glibc-2.23/signal/../sysdeps/unix/sysv/linux/raise.c:54:0
4 0x00007f043689602a abort /build/glibc-9tT8Do/glibc-2.23/stdlib/abort.c:91:0
5 0x00007f043688cbd7 __assert_fail_base /build/glibc-9tT8Do/glibc-2.23/assert/assert.c:92:0
6 0x00007f043688cc82 (/lib/x86_64-linux-gnu/libc.so.6+0x2dc82)
7 0x000000000154b695 swift::Expr::propagateLValueAccessKind(swift::AccessKind, llvm::function_ref<swift::Type (swift::Expr*)>, bool)::PropagateAccessKind::visit(swift::Expr*, swift::AccessKind) (/path/to/swift/bin/swift+0x154b695)
8 0x000000000154b362 swift::Expr::propagateLValueAccessKind(swift::AccessKind, llvm::function_ref<swift::Type (swift::Expr*)>, bool) (/path/to/swift/bin/swift+0x154b362)
9 0x00000000013d3dd0 swift::constraints::ConstraintSystem::coerceToRValue(swift::Expr*) (/path/to/swift/bin/swift+0x13d3dd0)
10 0x00000000013d3d80 swift::constraints::ConstraintSystem::coerceToRValue(swift::Expr*) (/path/to/swift/bin/swift+0x13d3d80)
11 0x00000000013e402d swift::ASTVisitor<(anonymous namespace)::ExprRewriter, swift::Expr*, void, void, void, void, void>::visit(swift::Expr*) (/path/to/swift/bin/swift+0x13e402d)
12 0x00000000013d85b4 (anonymous namespace)::ExprRewriter::walkToExprPost(swift::Expr*) (/path/to/swift/bin/swift+0x13d85b4)
13 0x00000000013ddc31 (anonymous namespace)::ExprWalker::walkToExprPost(swift::Expr*) (/path/to/swift/bin/swift+0x13ddc31)
14 0x000000000150e54c swift::Expr::walk(swift::ASTWalker&) (/path/to/swift/bin/swift+0x150e54c)
15 0x00000000013d558f swift::constraints::ConstraintSystem::applySolution(swift::constraints::Solution&, swift::Expr*, swift::Type, bool, bool, bool) (/path/to/swift/bin/swift+0x13d558f)
16 0x000000000132f05c swift::TypeChecker::typeCheckExpression(swift::Expr*&, swift::DeclContext*, swift::TypeLoc, swift::ContextualTypePurpose, swift::OptionSet<swift::TypeCheckExprFlags, unsigned int>, swift::ExprTypeCheckListener*, swift::constraints::ConstraintSystem*) (/path/to/swift/bin/swift+0x132f05c)
17 0x0000000001404080 (anonymous namespace)::FailureDiagnosis::typeCheckChildIndependently(swift::Expr*, swift::Type, swift::ContextualTypePurpose, swift::OptionSet<TCCFlags, unsigned int>, swift::ExprTypeCheckListener*, bool) (/path/to/swift/bin/swift+0x1404080)
18 0x00000000013fcdd5 (anonymous namespace)::FailureDiagnosis::diagnoseAmbiguity(swift::Expr*) (/path/to/swift/bin/swift+0x13fcdd5)
19 0x00000000013f9775 swift::constraints::ConstraintSystem::diagnoseFailureForExpr(swift::Expr*) (/path/to/swift/bin/swift+0x13f9775)
20 0x00000000013fe1b9 swift::constraints::ConstraintSystem::salvage(llvm::SmallVectorImpl<swift::constraints::Solution>&, swift::Expr*) (/path/to/swift/bin/swift+0x13fe1b9)
21 0x000000000132b668 swift::TypeChecker::solveForExpression(swift::Expr*&, swift::DeclContext*, swift::Type, swift::FreeTypeVariableBinding, swift::ExprTypeCheckListener*, swift::constraints::ConstraintSystem&, llvm::SmallVectorImpl<swift::constraints::Solution>&, swift::OptionSet<swift::TypeCheckExprFlags, unsigned int>) (/path/to/swift/bin/swift+0x132b668)
22 0x000000000132ef61 swift::TypeChecker::typeCheckExpression(swift::Expr*&, swift::DeclContext*, swift::TypeLoc, swift::ContextualTypePurpose, swift::OptionSet<swift::TypeCheckExprFlags, unsigned int>, swift::ExprTypeCheckListener*, swift::constraints::ConstraintSystem*) (/path/to/swift/bin/swift+0x132ef61)
23 0x00000000013b2795 swift::ASTVisitor<(anonymous namespace)::StmtChecker, void, swift::Stmt*, void, void, void, void>::visit(swift::Stmt*) (/path/to/swift/bin/swift+0x13b2795)
24 0x00000000013b1fa6 swift::TypeChecker::typeCheckTopLevelCodeDecl(swift::TopLevelCodeDecl*) (/path/to/swift/bin/swift+0x13b1fa6)
25 0x00000000013cfe10 swift::performTypeChecking(swift::SourceFile&, swift::TopLevelContext&, swift::OptionSet<swift::TypeCheckingFlags, unsigned int>, unsigned int, unsigned int) (/path/to/swift/bin/swift+0x13cfe10)
26 0x0000000000f98dd6 swift::CompilerInstance::performSema() (/path/to/swift/bin/swift+0xf98dd6)
27 0x00000000004aa768 performCompile(swift::CompilerInstance&, swift::CompilerInvocation&, llvm::ArrayRef<char const*>, int&, swift::FrontendObserver*, swift::UnifiedStatsReporter*) (/path/to/swift/bin/swift+0x4aa768)
28 0x00000000004a8d8b swift::performFrontend(llvm::ArrayRef<char const*>, char const*, void*, swift::FrontendObserver*) (/path/to/swift/bin/swift+0x4a8d8b)
29 0x00000000004655c7 main (/path/to/swift/bin/swift+0x4655c7)
30 0x00007f043687f830 __libc_start_main /build/glibc-9tT8Do/glibc-2.23/csu/../csu/libc-start.c:325:0
31 0x0000000000462c69 _start (/path/to/swift/bin/swift+0x462c69)
```
2017-05-27 16:05:46 +02:00
practicalswift
1346a242a4
[swiftc (34 vs. 5535)] Add crasher in swift::GenericSignatureBuilder::finalize
...
Add test case for crash triggered in `swift::GenericSignatureBuilder::finalize`.
Current number of unresolved compiler crashers: 34 (5535 resolved)
/cc @DougGregor - just wanted to let you know that this crasher caused an assertion failure for the assertion `dist > 0 && "nested type should have matched associated type"` added on 2014-10-10 by you in commit 09688472 :-)
Assertion failure in [`lib/AST/GenericSignatureBuilder.cpp (line 3686)`](7e05b53c10/lib/AST/GenericSignatureBuilder.cpp (L3686) ):
```
Assertion `dist > 0 && "nested type should have matched associated type"' failed.
When executing: swift::Identifier typoCorrectNestedType(GenericSignatureBuilder::PotentialArchetype *)
```
Assertion context:
```c++
continue;
unsigned dist = name.edit_distance(assocType->getName().str(),
/*AllowReplacements=*/true,
maxScore);
assert(dist > 0 && "nested type should have matched associated type");
if (bestEditDistance == 0 || dist == bestEditDistance) {
bestEditDistance = dist;
maxScore = bestEditDistance;
bestMatches.push_back(assocType->getName());
} else if (dist < bestEditDistance) {
```
Stack trace:
```
0 0x0000000003a60998 llvm::sys::PrintStackTrace(llvm::raw_ostream&) (/path/to/swift/bin/swift+0x3a60998)
1 0x0000000003a610d6 SignalHandler(int) (/path/to/swift/bin/swift+0x3a610d6)
2 0x00007fb52f813390 __restore_rt (/lib/x86_64-linux-gnu/libpthread.so.0+0x11390)
3 0x00007fb52dd39428 gsignal /build/glibc-9tT8Do/glibc-2.23/signal/../sysdeps/unix/sysv/linux/raise.c:54:0
4 0x00007fb52dd3b02a abort /build/glibc-9tT8Do/glibc-2.23/stdlib/abort.c:91:0
5 0x00007fb52dd31bd7 __assert_fail_base /build/glibc-9tT8Do/glibc-2.23/assert/assert.c:92:0
6 0x00007fb52dd31c82 (/lib/x86_64-linux-gnu/libc.so.6+0x2dc82)
7 0x000000000156da12 swift::GenericSignatureBuilder::finalize(swift::SourceLoc, llvm::ArrayRef<swift::GenericTypeParamType*>, bool) (/path/to/swift/bin/swift+0x156da12)
8 0x00000000013739fe swift::TypeChecker::validateGenericFuncSignature(swift::AbstractFunctionDecl*) (/path/to/swift/bin/swift+0x13739fe)
9 0x0000000001359d89 (anonymous namespace)::DeclChecker::visitFuncDecl(swift::FuncDecl*) (/path/to/swift/bin/swift+0x1359d89)
10 0x0000000001345d9e (anonymous namespace)::DeclChecker::visit(swift::Decl*) (/path/to/swift/bin/swift+0x1345d9e)
11 0x000000000135688b (anonymous namespace)::DeclChecker::visitClassDecl(swift::ClassDecl*) (/path/to/swift/bin/swift+0x135688b)
12 0x0000000001345d8e (anonymous namespace)::DeclChecker::visit(swift::Decl*) (/path/to/swift/bin/swift+0x1345d8e)
13 0x000000000135792b (anonymous namespace)::DeclChecker::visitProtocolDecl(swift::ProtocolDecl*) (/path/to/swift/bin/swift+0x135792b)
14 0x0000000001345c94 (anonymous namespace)::DeclChecker::visit(swift::Decl*) (/path/to/swift/bin/swift+0x1345c94)
15 0x0000000001345ba3 swift::TypeChecker::typeCheckDecl(swift::Decl*, bool) (/path/to/swift/bin/swift+0x1345ba3)
16 0x00000000013cfd95 swift::performTypeChecking(swift::SourceFile&, swift::TopLevelContext&, swift::OptionSet<swift::TypeCheckingFlags, unsigned int>, unsigned int, unsigned int) (/path/to/swift/bin/swift+0x13cfd95)
17 0x0000000000f98dd6 swift::CompilerInstance::performSema() (/path/to/swift/bin/swift+0xf98dd6)
18 0x00000000004aa768 performCompile(swift::CompilerInstance&, swift::CompilerInvocation&, llvm::ArrayRef<char const*>, int&, swift::FrontendObserver*, swift::UnifiedStatsReporter*) (/path/to/swift/bin/swift+0x4aa768)
19 0x00000000004a8d8b swift::performFrontend(llvm::ArrayRef<char const*>, char const*, void*, swift::FrontendObserver*) (/path/to/swift/bin/swift+0x4a8d8b)
20 0x00000000004655c7 main (/path/to/swift/bin/swift+0x4655c7)
21 0x00007fb52dd24830 __libc_start_main /build/glibc-9tT8Do/glibc-2.23/csu/../csu/libc-start.c:325:0
22 0x0000000000462c69 _start (/path/to/swift/bin/swift+0x462c69)
```
2017-05-27 14:19:35 +02:00
Slava Pestov
39d0385e10
Sema: Fix a crasher by removing TVO_CanBindToInOut in a couple of spots
2017-05-26 23:47:10 -07:00
Slava Pestov
fc21ecce68
AST: Don't return hasTypeParameter() for DependentMemberTypes with an ErrorType base
...
Instead, introduce a new hasDependentMember() recursive property.
The only place that cares about this is associated type inference,
where I changed all existing hasTypeParameter() checks to instead
check (hasTypeParameter() || hasDependentMember()). We could
probably refine this over time and remove some of the
hasTypeParameter() checks, but I'm being conservative for now.
Fixes <https://bugs.swift.org/browse/SR-4575 > and
<rdar://problem/31603113>.
2017-05-26 18:10:13 -07:00
Slava Pestov
1c7428666a
Sema: Update isExtensionApplied() for primitive AnyObject
2017-05-24 22:09:23 -07:00
Slava Pestov
d8234bace6
Sema: Fix double type checking of lazy initializer expressions
...
If a lazy var has no declared type, we have to type check the
initializer to get a type before we can build the getter.
Then, the initializer is type checked as part of the getter
again.
Use the new SkipApplyingSolution flag when type checking for
the first time. We still end up doing redundant work, but by
not applying the solution we avoid feeding invalid AST nodes
back into the constraint solver.
This fixes some bad diagnostics and crashes.
Fixes <https://bugs.swift.org/browse/SR-2616 > and
<rdar://problem/28313602>.
2017-05-24 17:21:28 -07:00
Slava Pestov
fa155bf1d1
Sema: Rework typeCheckBinding() to use the new foundSolution() callback
...
Record the initializer type as soon as we have a solution, before
it is applied, and get the type from the constriant system instead
of from the final type checked expression.
Note that the coerceToMaterializable() was unnecessary, since we
always coerce the value to an rvalue type with coerceToType().
Eventually coerceToMaterializable() should go away.
This is mostly NFC, except using the result of simplifyType() rather
than the type of the final expression changes some diagnostics where it
appears we were previously losing sugar.
Also this accidentally fixes a crasher. Unfortunately the underlying
issue is still there (applying a solution has bugs with opened
existentials "leaking" out) -- this merely masks the problem by
getting the initializer type directly from the constriant system.
2017-05-24 17:21:28 -07:00
practicalswift
202ecf15ec
[swiftc (40 vs. 5528)] Add crasher in swift::InFlightDiagnostic
...
Add test case for crash triggered in `swift::InFlightDiagnostic`.
Current number of unresolved compiler crashers: 40 (5528 resolved)
Assertion failure in [`include/swift/AST/DiagnosticEngine.h (line 641)`](4753e8648d/include/swift/AST/DiagnosticEngine.h (L641) ):
```
Assertion `!ActiveDiagnostic && "Already have an active diagnostic"' failed.
When executing: swift::InFlightDiagnostic swift::DiagnosticEngine::diagnose(swift::SourceLoc, const swift::Diagnostic &)
```
Assertion context:
```c++
/// \param D The diagnostic.
///
/// \returns An in-flight diagnostic, to which additional information can
/// be attached.
InFlightDiagnostic diagnose(SourceLoc Loc, const Diagnostic &D) {
assert(!ActiveDiagnostic && "Already have an active diagnostic");
ActiveDiagnostic = D;
ActiveDiagnostic->setLoc(Loc);
return InFlightDiagnostic(*this);
}
```
Stack trace:
```
0 0x0000000003a5fe98 llvm::sys::PrintStackTrace(llvm::raw_ostream&) (/path/to/swift/bin/swift+0x3a5fe98)
1 0x0000000003a605d6 SignalHandler(int) (/path/to/swift/bin/swift+0x3a605d6)
2 0x00007f69a524f390 __restore_rt (/lib/x86_64-linux-gnu/libpthread.so.0+0x11390)
3 0x00007f69a3775428 gsignal /build/glibc-9tT8Do/glibc-2.23/signal/../sysdeps/unix/sysv/linux/raise.c:54:0
4 0x00007f69a377702a abort /build/glibc-9tT8Do/glibc-2.23/stdlib/abort.c:91:0
5 0x00007f69a376dbd7 __assert_fail_base /build/glibc-9tT8Do/glibc-2.23/assert/assert.c:92:0
6 0x00007f69a376dc82 (/lib/x86_64-linux-gnu/libc.so.6+0x2dc82)
7 0x000000000122d298 swift::InFlightDiagnostic swift::Lexer::diagnose<>(char const*, swift::Diag<>) (/path/to/swift/bin/swift+0x122d298)
8 0x0000000001230709 swift::Lexer::lexDollarIdent() (/path/to/swift/bin/swift+0x1230709)
9 0x000000000122c015 swift::Lexer::lexImpl() (/path/to/swift/bin/swift+0x122c015)
10 0x000000000127aa1b swift::Parser::consumeToken() (/path/to/swift/bin/swift+0x127aa1b)
11 0x00000000012bfc14 swift::Parser::parseTypeSimple(swift::Diag<>, bool) (/path/to/swift/bin/swift+0x12bfc14)
12 0x00000000012c2b1d swift::Parser::parseTypeSimpleOrComposition(swift::Diag<>, bool) (/path/to/swift/bin/swift+0x12c2b1d)
13 0x00000000012c2297 swift::Parser::parseType(swift::Diag<>, bool, bool) (/path/to/swift/bin/swift+0x12c2297)
14 0x000000000124540e swift::Parser::parseDeclExtension(swift::OptionSet<swift::Parser::ParseDeclFlags, unsigned int>, swift::DeclAttributes&) (/path/to/swift/bin/swift+0x124540e)
15 0x000000000124253a swift::Parser::parseDecl(swift::OptionSet<swift::Parser::ParseDeclFlags, unsigned int>, llvm::function_ref<void (swift::Decl*)>) (/path/to/swift/bin/swift+0x124253a)
16 0x00000000012b2ffe swift::Parser::parseBraceItems(llvm::SmallVectorImpl<swift::ASTNode>&, swift::BraceItemListKind, swift::BraceItemListKind) (/path/to/swift/bin/swift+0x12b2ffe)
17 0x0000000001236159 swift::Parser::parseTopLevel() (/path/to/swift/bin/swift+0x1236159)
18 0x0000000001278779 swift::parseIntoSourceFile(swift::SourceFile&, unsigned int, bool*, swift::SILParserState*, swift::PersistentParserState*, swift::DelayedParsingCallbacks*) (/path/to/swift/bin/swift+0x1278779)
19 0x0000000000f97063 swift::CompilerInstance::performSema() (/path/to/swift/bin/swift+0xf97063)
20 0x00000000004aa750 performCompile(swift::CompilerInstance&, swift::CompilerInvocation&, llvm::ArrayRef<char const*>, int&, swift::FrontendObserver*, swift::UnifiedStatsReporter*) (/path/to/swift/bin/swift+0x4aa750)
21 0x00000000004a8d7b swift::performFrontend(llvm::ArrayRef<char const*>, char const*, void*, swift::FrontendObserver*) (/path/to/swift/bin/swift+0x4a8d7b)
22 0x00000000004655c7 main (/path/to/swift/bin/swift+0x4655c7)
23 0x00007f69a3760830 __libc_start_main /build/glibc-9tT8Do/glibc-2.23/csu/../csu/libc-start.c:325:0
24 0x0000000000462c69 _start (/path/to/swift/bin/swift+0x462c69)
```
2017-05-24 17:41:56 +02:00
practicalswift
3ee1541b65
[swiftc (39 vs. 5528)] Add crasher in swift::GenericSignatureBuilder::resolveSuperConformance
...
Add test case for crash triggered in `swift::GenericSignatureBuilder::resolveSuperConformance`.
Current number of unresolved compiler crashers: 39 (5528 resolved)
Stack trace:
```
0 0x0000000003a5fe98 llvm::sys::PrintStackTrace(llvm::raw_ostream&) (/path/to/swift/bin/swift+0x3a5fe98)
1 0x0000000003a605d6 SignalHandler(int) (/path/to/swift/bin/swift+0x3a605d6)
2 0x00007f94db060390 __restore_rt (/lib/x86_64-linux-gnu/libpthread.so.0+0x11390)
3 0x000000000155ec2f swift::GenericSignatureBuilder::resolveSuperConformance(swift::GenericSignatureBuilder::PotentialArchetype*, swift::ProtocolDecl*) (/path/to/swift/bin/swift+0x155ec2f)
4 0x0000000001568e0e swift::GenericSignatureBuilder::updateSuperclass(swift::GenericSignatureBuilder::PotentialArchetype*, swift::Type, swift::GenericSignatureBuilder::RequirementSource const*)::$_21::operator()() const (/path/to/swift/bin/swift+0x1568e0e)
5 0x0000000001568d25 swift::GenericSignatureBuilder::updateSuperclass(swift::GenericSignatureBuilder::PotentialArchetype*, swift::Type, swift::GenericSignatureBuilder::RequirementSource const*) (/path/to/swift/bin/swift+0x1568d25)
6 0x000000000156a264 swift::GenericSignatureBuilder::addSameTypeRequirementBetweenArchetypes(swift::GenericSignatureBuilder::PotentialArchetype*, swift::GenericSignatureBuilder::PotentialArchetype*, swift::GenericSignatureBuilder::RequirementSource const*) (/path/to/swift/bin/swift+0x156a264)
7 0x000000000156a86c swift::GenericSignatureBuilder::addSameTypeRequirement(llvm::PointerUnion<swift::GenericSignatureBuilder::PotentialArchetype*, swift::Type>, llvm::PointerUnion<swift::GenericSignatureBuilder::PotentialArchetype*, swift::Type>, swift::GenericSignatureBuilder::FloatingRequirementSource, swift::GenericSignatureBuilder::UnresolvedHandlingKind, llvm::function_ref<void (swift::Type, swift::Type)>) (/path/to/swift/bin/swift+0x156a86c)
8 0x00000000015615d4 swift::GenericSignatureBuilder::PotentialArchetype::updateNestedTypeForConformance(llvm::PointerUnion<swift::AssociatedTypeDecl*, swift::TypeAliasDecl*>, swift::GenericSignatureBuilder::PotentialArchetype::NestedTypeUpdate) (/path/to/swift/bin/swift+0x15615d4)
9 0x00000000015601e0 swift::GenericSignatureBuilder::PotentialArchetype::getNestedArchetypeAnchor(swift::Identifier, swift::GenericSignatureBuilder&, swift::GenericSignatureBuilder::PotentialArchetype::NestedTypeUpdate) (/path/to/swift/bin/swift+0x15601e0)
10 0x000000000156eb7c swift::GenericSignatureBuilder::checkSameTypeConstraints(llvm::ArrayRef<swift::GenericTypeParamType*>, swift::GenericSignatureBuilder::PotentialArchetype*) (/path/to/swift/bin/swift+0x156eb7c)
11 0x000000000156bd60 swift::GenericSignatureBuilder::finalize(swift::SourceLoc, llvm::ArrayRef<swift::GenericTypeParamType*>, bool) (/path/to/swift/bin/swift+0x156bd60)
12 0x00000000013747b9 swift::TypeChecker::checkGenericEnvironment(swift::GenericParamList*, swift::DeclContext*, swift::GenericSignature*, bool, llvm::function_ref<void (swift::GenericSignatureBuilder&)>) (/path/to/swift/bin/swift+0x13747b9)
13 0x0000000001374ba9 swift::TypeChecker::validateGenericTypeSignature(swift::GenericTypeDecl*) (/path/to/swift/bin/swift+0x1374ba9)
14 0x00000000013455a2 swift::TypeChecker::validateDecl(swift::ValueDecl*) (/path/to/swift/bin/swift+0x13455a2)
15 0x0000000001355193 (anonymous namespace)::DeclChecker::visitProtocolDecl(swift::ProtocolDecl*) (/path/to/swift/bin/swift+0x1355193)
16 0x0000000001343814 (anonymous namespace)::DeclChecker::visit(swift::Decl*) (/path/to/swift/bin/swift+0x1343814)
17 0x0000000001343723 swift::TypeChecker::typeCheckDecl(swift::Decl*, bool) (/path/to/swift/bin/swift+0x1343723)
18 0x00000000013cdb45 swift::performTypeChecking(swift::SourceFile&, swift::TopLevelContext&, swift::OptionSet<swift::TypeCheckingFlags, unsigned int>, unsigned int, unsigned int) (/path/to/swift/bin/swift+0x13cdb45)
19 0x0000000000f97086 swift::CompilerInstance::performSema() (/path/to/swift/bin/swift+0xf97086)
20 0x00000000004aa750 performCompile(swift::CompilerInstance&, swift::CompilerInvocation&, llvm::ArrayRef<char const*>, int&, swift::FrontendObserver*, swift::UnifiedStatsReporter*) (/path/to/swift/bin/swift+0x4aa750)
21 0x00000000004a8d7b swift::performFrontend(llvm::ArrayRef<char const*>, char const*, void*, swift::FrontendObserver*) (/path/to/swift/bin/swift+0x4a8d7b)
22 0x00000000004655c7 main (/path/to/swift/bin/swift+0x4655c7)
23 0x00007f94d9571830 __libc_start_main /build/glibc-9tT8Do/glibc-2.23/csu/../csu/libc-start.c:325:0
24 0x0000000000462c69 _start (/path/to/swift/bin/swift+0x462c69)
```
2017-05-24 16:15:34 +02:00
practicalswift
7631814b9f
[swiftc (38 vs. 5528)] Add crasher in swift::TypeChecker::resolveWitness
...
Add test case for crash triggered in `swift::TypeChecker::resolveWitness`.
Current number of unresolved compiler crashers: 38 (5528 resolved)
Assertion failure in [`lib/Sema/TypeCheckProtocol.cpp (line 2451)`](140198cf81/lib/Sema/TypeCheckProtocol.cpp (L2451) ):
```
Assertion `Conformance->getWitness(requirement, nullptr).getDecl() == match.Witness && "Deduced different witnesses?"' failed.
When executing: void (anonymous namespace)::ConformanceChecker::recordWitness(swift::ValueDecl *, const (anonymous namespace)::RequirementMatch &, (anonymous namespace)::RequirementEnvironment &&)
```
Assertion context:
```c++
const RequirementMatch &match,
RequirementEnvironment &&reqEnvironment){
// If we already recorded this witness, don't do so again.
if (Conformance->hasWitness(requirement)) {
assert(Conformance->getWitness(requirement, nullptr).getDecl() ==
match.Witness && "Deduced different witnesses?");
return;
}
// Record this witness in the conformance.
auto witness = match.getWitness(TC.Context, std::move(reqEnvironment));
```
Stack trace:
```
0 0x0000000003a5fe98 llvm::sys::PrintStackTrace(llvm::raw_ostream&) (/path/to/swift/bin/swift+0x3a5fe98)
1 0x0000000003a605d6 SignalHandler(int) (/path/to/swift/bin/swift+0x3a605d6)
2 0x00007fb49f35c390 __restore_rt (/lib/x86_64-linux-gnu/libpthread.so.0+0x11390)
3 0x00007fb49d882428 gsignal /build/glibc-9tT8Do/glibc-2.23/signal/../sysdeps/unix/sysv/linux/raise.c:54:0
4 0x00007fb49d88402a abort /build/glibc-9tT8Do/glibc-2.23/stdlib/abort.c:91:0
5 0x00007fb49d87abd7 __assert_fail_base /build/glibc-9tT8Do/glibc-2.23/assert/assert.c:92:0
6 0x00007fb49d87ac82 (/lib/x86_64-linux-gnu/libc.so.6+0x2dc82)
7 0x000000000138ff32 (anonymous namespace)::ConformanceChecker::recordWitness(swift::ValueDecl*, (anonymous namespace)::RequirementMatch const&, (anonymous namespace)::RequirementEnvironment&&) (/path/to/swift/bin/swift+0x138ff32)
8 0x000000000138de7c (anonymous namespace)::ConformanceChecker::resolveWitnessViaLookup(swift::ValueDecl*) (/path/to/swift/bin/swift+0x138de7c)
9 0x000000000138a0cd swift::TypeChecker::resolveWitness(swift::NormalProtocolConformance const*, swift::ValueDecl*) (/path/to/swift/bin/swift+0x138a0cd)
10 0x00000000015a6e1d swift::NormalProtocolConformance::getWitness(swift::ValueDecl*, swift::LazyResolver*) const (/path/to/swift/bin/swift+0x15a6e1d)
11 0x00000000015a6cef swift::ProtocolConformance::getWitnessDecl(swift::ValueDecl*, swift::LazyResolver*) const (/path/to/swift/bin/swift+0x15a6cef)
12 0x00000000013872af swift::TypeChecker::findWitnessedObjCRequirements(swift::ValueDecl const*, bool) (/path/to/swift/bin/swift+0x13872af)
13 0x0000000001349b53 shouldMarkAsObjC(swift::TypeChecker&, swift::ValueDecl const*, bool) (/path/to/swift/bin/swift+0x1349b53)
14 0x0000000001357d54 (anonymous namespace)::DeclChecker::visitFuncDecl(swift::FuncDecl*) (/path/to/swift/bin/swift+0x1357d54)
15 0x000000000134391e (anonymous namespace)::DeclChecker::visit(swift::Decl*) (/path/to/swift/bin/swift+0x134391e)
16 0x000000000135440b (anonymous namespace)::DeclChecker::visitClassDecl(swift::ClassDecl*) (/path/to/swift/bin/swift+0x135440b)
17 0x000000000134390e (anonymous namespace)::DeclChecker::visit(swift::Decl*) (/path/to/swift/bin/swift+0x134390e)
18 0x0000000001343723 swift::TypeChecker::typeCheckDecl(swift::Decl*, bool) (/path/to/swift/bin/swift+0x1343723)
19 0x00000000013cdb45 swift::performTypeChecking(swift::SourceFile&, swift::TopLevelContext&, swift::OptionSet<swift::TypeCheckingFlags, unsigned int>, unsigned int, unsigned int) (/path/to/swift/bin/swift+0x13cdb45)
20 0x0000000000f97086 swift::CompilerInstance::performSema() (/path/to/swift/bin/swift+0xf97086)
21 0x00000000004aa750 performCompile(swift::CompilerInstance&, swift::CompilerInvocation&, llvm::ArrayRef<char const*>, int&, swift::FrontendObserver*, swift::UnifiedStatsReporter*) (/path/to/swift/bin/swift+0x4aa750)
22 0x00000000004a8d7b swift::performFrontend(llvm::ArrayRef<char const*>, char const*, void*, swift::FrontendObserver*) (/path/to/swift/bin/swift+0x4a8d7b)
23 0x00000000004655c7 main (/path/to/swift/bin/swift+0x4655c7)
24 0x00007fb49d86d830 __libc_start_main /build/glibc-9tT8Do/glibc-2.23/csu/../csu/libc-start.c:325:0
25 0x0000000000462c69 _start (/path/to/swift/bin/swift+0x462c69)
```
2017-05-24 14:35:13 +02:00
practicalswift
be8e67d63b
[swiftc (37 vs. 5528)] Add crasher in swift::ASTVisitor
...
Add test case for crash triggered in `swift::ASTVisitor`.
Current number of unresolved compiler crashers: 37 (5528 resolved)
/cc @huonw - just wanted to let you know that this crasher caused an assertion failure for the assertion `!isObjC() && "cannot get root type of ObjC keypath"` added on 2017-05-01 by you in commit 07c5ab8fb2 :-)
Assertion failure in [`include/swift/AST/Expr.h (line 4891)`](f91a58e0ea/include/swift/AST/Expr.h (L4891) ):
```
Assertion `!isObjC() && "cannot get root type of ObjC keypath"' failed.
When executing: swift::TypeRepr *swift::KeyPathExpr::getRootType() const
```
Assertion context:
```c++
assert(!isObjC() && "cannot set parsed path of ObjC keypath");
ParsedPath = path;
}
TypeRepr *getRootType() const {
assert(!isObjC() && "cannot get root type of ObjC keypath");
return RootType;
}
void setRootType(TypeRepr *rootType) {
assert(!isObjC() && "cannot set root type of ObjC keypath");
RootType = rootType;
```
Stack trace:
```
0 0x0000000003a5fe98 llvm::sys::PrintStackTrace(llvm::raw_ostream&) (/path/to/swift/bin/swift+0x3a5fe98)
1 0x0000000003a605d6 SignalHandler(int) (/path/to/swift/bin/swift+0x3a605d6)
2 0x00007f5683dfa390 __restore_rt (/lib/x86_64-linux-gnu/libpthread.so.0+0x11390)
3 0x00007f5682320428 gsignal /build/glibc-9tT8Do/glibc-2.23/signal/../sysdeps/unix/sysv/linux/raise.c:54:0
4 0x00007f568232202a abort /build/glibc-9tT8Do/glibc-2.23/stdlib/abort.c:91:0
5 0x00007f5682318bd7 __assert_fail_base /build/glibc-9tT8Do/glibc-2.23/assert/assert.c:92:0
6 0x00007f5682318c82 (/lib/x86_64-linux-gnu/libc.so.6+0x2dc82)
7 0x0000000001401a6f swift::ASTVisitor<(anonymous namespace)::FailureDiagnosis, bool, void, void, void, void, void>::visit(swift::Expr*) (/path/to/swift/bin/swift+0x1401a6f)
8 0x00000000013f67ab swift::constraints::ConstraintSystem::diagnoseFailureForExpr(swift::Expr*) (/path/to/swift/bin/swift+0x13f67ab)
9 0x00000000013fc579 swift::constraints::ConstraintSystem::salvage(llvm::SmallVectorImpl<swift::constraints::Solution>&, swift::Expr*) (/path/to/swift/bin/swift+0x13fc579)
10 0x00000000013292e8 swift::TypeChecker::solveForExpression(swift::Expr*&, swift::DeclContext*, swift::Type, swift::FreeTypeVariableBinding, swift::ExprTypeCheckListener*, swift::constraints::ConstraintSystem&, llvm::SmallVectorImpl<swift::constraints::Solution>&, swift::OptionSet<swift::TypeCheckExprFlags, unsigned int>) (/path/to/swift/bin/swift+0x13292e8)
11 0x000000000132cbd6 swift::TypeChecker::typeCheckExpression(swift::Expr*&, swift::DeclContext*, swift::TypeLoc, swift::ContextualTypePurpose, swift::OptionSet<swift::TypeCheckExprFlags, unsigned int>, swift::ExprTypeCheckListener*, swift::constraints::ConstraintSystem*) (/path/to/swift/bin/swift+0x132cbd6)
12 0x0000000001331464 swift::TypeChecker::typeCheckCondition(swift::Expr*&, swift::DeclContext*) (/path/to/swift/bin/swift+0x1331464)
13 0x0000000001331650 swift::TypeChecker::typeCheckStmtCondition(llvm::MutableArrayRef<swift::StmtConditionElement>&, swift::DeclContext*, swift::Diag<>) (/path/to/swift/bin/swift+0x1331650)
14 0x00000000013b11e6 swift::ASTVisitor<(anonymous namespace)::StmtChecker, void, swift::Stmt*, void, void, void, void>::visit(swift::Stmt*) (/path/to/swift/bin/swift+0x13b11e6)
15 0x00000000013b09b6 swift::ASTVisitor<(anonymous namespace)::StmtChecker, void, swift::Stmt*, void, void, void, void>::visit(swift::Stmt*) (/path/to/swift/bin/swift+0x13b09b6)
16 0x00000000013b0296 swift::TypeChecker::typeCheckTopLevelCodeDecl(swift::TopLevelCodeDecl*) (/path/to/swift/bin/swift+0x13b0296)
17 0x00000000013cdbc0 swift::performTypeChecking(swift::SourceFile&, swift::TopLevelContext&, swift::OptionSet<swift::TypeCheckingFlags, unsigned int>, unsigned int, unsigned int) (/path/to/swift/bin/swift+0x13cdbc0)
18 0x0000000000f97086 swift::CompilerInstance::performSema() (/path/to/swift/bin/swift+0xf97086)
19 0x00000000004aa750 performCompile(swift::CompilerInstance&, swift::CompilerInvocation&, llvm::ArrayRef<char const*>, int&, swift::FrontendObserver*, swift::UnifiedStatsReporter*) (/path/to/swift/bin/swift+0x4aa750)
20 0x00000000004a8d7b swift::performFrontend(llvm::ArrayRef<char const*>, char const*, void*, swift::FrontendObserver*) (/path/to/swift/bin/swift+0x4a8d7b)
21 0x00000000004655c7 main (/path/to/swift/bin/swift+0x4655c7)
22 0x00007f568230b830 __libc_start_main /build/glibc-9tT8Do/glibc-2.23/csu/../csu/libc-start.c:325:0
23 0x0000000000462c69 _start (/path/to/swift/bin/swift+0x462c69)
```
2017-05-24 13:14:37 +02:00
practicalswift
794ecc9eab
[swiftc (36 vs. 5528)] Add crasher in swift::isExtensionApplied
...
Add test case for crash triggered in `swift::isExtensionApplied`.
Current number of unresolved compiler crashers: 36 (5528 resolved)
/cc @swiftix - just wanted to let you know that this crasher caused an assertion failure for the assertion `getKind() != RequirementKind::Layout` added on 2017-01-11 by you in commit 29180ca1 :-)
Assertion failure in [`include/swift/AST/Requirement.h (line 86)`](fb7c4edb03/include/swift/AST/Requirement.h (L86) ):
```
Assertion `getKind() != RequirementKind::Layout' failed.
When executing: swift::Type swift::Requirement::getSecondType() const
```
Assertion context:
```c++
return FirstTypeAndKind.getPointer();
}
/// \brief Retrieve the second type.
Type getSecondType() const {
assert(getKind() != RequirementKind::Layout);
return SecondType;
}
/// \brief Subst the types involved in this requirement.
///
```
Stack trace:
```
0 0x0000000003a5fe98 llvm::sys::PrintStackTrace(llvm::raw_ostream&) (/path/to/swift/bin/swift+0x3a5fe98)
1 0x0000000003a605d6 SignalHandler(int) (/path/to/swift/bin/swift+0x3a605d6)
2 0x00007f1439ed3390 __restore_rt (/lib/x86_64-linux-gnu/libpthread.so.0+0x11390)
3 0x00007f14383f9428 gsignal /build/glibc-9tT8Do/glibc-2.23/signal/../sysdeps/unix/sysv/linux/raise.c:54:0
4 0x00007f14383fb02a abort /build/glibc-9tT8Do/glibc-2.23/stdlib/abort.c:91:0
5 0x00007f14383f1bd7 __assert_fail_base /build/glibc-9tT8Do/glibc-2.23/assert/assert.c:92:0
6 0x00007f14383f1c82 (/lib/x86_64-linux-gnu/libc.so.6+0x2dc82)
7 0x00000000012ce169 swift::isExtensionApplied(swift::DeclContext&, swift::Type, swift::ExtensionDecl const*)::$_0::operator()(swift::Requirement&, swift::constraints::ConstraintKind) const (/path/to/swift/bin/swift+0x12ce169)
8 0x00000000012cdf61 swift::isExtensionApplied(swift::DeclContext&, swift::Type, swift::ExtensionDecl const*) (/path/to/swift/bin/swift+0x12cdf61)
9 0x0000000001586df2 doGlobalExtensionLookup(swift::Type, swift::Type, llvm::SmallVectorImpl<swift::ValueDecl*>&, swift::DeclContext const*, (anonymous namespace)::LookupState, swift::DeclVisibilityKind, swift::LazyResolver*) (/path/to/swift/bin/swift+0x1586df2)
10 0x0000000001585f9f lookupTypeMembers(swift::Type, swift::Type, swift::VisibleDeclConsumer&, swift::DeclContext const*, (anonymous namespace)::LookupState, swift::DeclVisibilityKind, swift::LazyResolver*) (/path/to/swift/bin/swift+0x1585f9f)
11 0x0000000001583e3e lookupVisibleMemberDeclsImpl(swift::Type, swift::VisibleDeclConsumer&, swift::DeclContext const*, (anonymous namespace)::LookupState, swift::DeclVisibilityKind, swift::LazyResolver*, llvm::SmallPtrSet<swift::TypeDecl*, 8u>&) (/path/to/swift/bin/swift+0x1583e3e)
12 0x0000000001583767 lookupVisibleMemberDecls(swift::Type, swift::VisibleDeclConsumer&, swift::DeclContext const*, (anonymous namespace)::LookupState, swift::DeclVisibilityKind, swift::LazyResolver*) (/path/to/swift/bin/swift+0x1583767)
13 0x0000000001377d31 swift::TypeChecker::performTypoCorrection(swift::DeclContext*, swift::DeclRefKind, swift::Type, swift::DeclName, swift::SourceLoc, swift::OptionSet<swift::NameLookupFlags, unsigned int>, swift::LookupResult&, unsigned int) (/path/to/swift/bin/swift+0x1377d31)
14 0x00000000014127ea (anonymous namespace)::FailureDiagnosis::diagnoseUnviableLookupResults(swift::constraints::MemberLookupResult&, swift::Type, swift::Expr*, swift::DeclName, swift::DeclNameLoc, swift::SourceLoc) (/path/to/swift/bin/swift+0x14127ea)
15 0x0000000001408370 (anonymous namespace)::FailureDiagnosis::diagnoseMemberFailures(swift::Expr*, swift::Expr*, swift::constraints::ConstraintKind, swift::DeclName, swift::FunctionRefKind, swift::constraints::ConstraintLocator*, llvm::Optional<std::function<bool (llvm::ArrayRef<swift::constraints::OverloadChoice>)> >, bool) (/path/to/swift/bin/swift+0x1408370)
16 0x00000000013fd1d4 swift::ASTVisitor<(anonymous namespace)::FailureDiagnosis, bool, void, void, void, void, void>::visit(swift::Expr*) (/path/to/swift/bin/swift+0x13fd1d4)
17 0x00000000013f67ab swift::constraints::ConstraintSystem::diagnoseFailureForExpr(swift::Expr*) (/path/to/swift/bin/swift+0x13f67ab)
18 0x00000000013fc579 swift::constraints::ConstraintSystem::salvage(llvm::SmallVectorImpl<swift::constraints::Solution>&, swift::Expr*) (/path/to/swift/bin/swift+0x13fc579)
19 0x00000000013292e8 swift::TypeChecker::solveForExpression(swift::Expr*&, swift::DeclContext*, swift::Type, swift::FreeTypeVariableBinding, swift::ExprTypeCheckListener*, swift::constraints::ConstraintSystem&, llvm::SmallVectorImpl<swift::constraints::Solution>&, swift::OptionSet<swift::TypeCheckExprFlags, unsigned int>) (/path/to/swift/bin/swift+0x13292e8)
20 0x000000000132cbd6 swift::TypeChecker::typeCheckExpression(swift::Expr*&, swift::DeclContext*, swift::TypeLoc, swift::ContextualTypePurpose, swift::OptionSet<swift::TypeCheckExprFlags, unsigned int>, swift::ExprTypeCheckListener*, swift::constraints::ConstraintSystem*) (/path/to/swift/bin/swift+0x132cbd6)
21 0x00000000013b0a85 swift::ASTVisitor<(anonymous namespace)::StmtChecker, void, swift::Stmt*, void, void, void, void>::visit(swift::Stmt*) (/path/to/swift/bin/swift+0x13b0a85)
22 0x00000000013b0296 swift::TypeChecker::typeCheckTopLevelCodeDecl(swift::TopLevelCodeDecl*) (/path/to/swift/bin/swift+0x13b0296)
23 0x00000000013cdbc0 swift::performTypeChecking(swift::SourceFile&, swift::TopLevelContext&, swift::OptionSet<swift::TypeCheckingFlags, unsigned int>, unsigned int, unsigned int) (/path/to/swift/bin/swift+0x13cdbc0)
24 0x0000000000f97086 swift::CompilerInstance::performSema() (/path/to/swift/bin/swift+0xf97086)
25 0x00000000004aa750 performCompile(swift::CompilerInstance&, swift::CompilerInvocation&, llvm::ArrayRef<char const*>, int&, swift::FrontendObserver*, swift::UnifiedStatsReporter*) (/path/to/swift/bin/swift+0x4aa750)
26 0x00000000004a8d7b swift::performFrontend(llvm::ArrayRef<char const*>, char const*, void*, swift::FrontendObserver*) (/path/to/swift/bin/swift+0x4a8d7b)
27 0x00000000004655c7 main (/path/to/swift/bin/swift+0x4655c7)
28 0x00007f14383e4830 __libc_start_main /build/glibc-9tT8Do/glibc-2.23/csu/../csu/libc-start.c:325:0
29 0x0000000000462c69 _start (/path/to/swift/bin/swift+0x462c69)
```
2017-05-24 11:52:13 +02:00
practicalswift
7b7a80bad2
[swiftc (35 vs. 5528)] Add crasher in swift::Expr::walk(...)
...
Add test case for crash triggered in `swift::Expr::walk(...)`.
Current number of unresolved compiler crashers: 35 (5528 resolved)
/cc @lattner - just wanted to let you know that this crasher caused an assertion failure for the assertion `value != OpenExistentials.end() && "didn't see this OVE in a containing OpenExistentialExpr?"` added on 2015-11-15 by you in commit 13792f91 :-)
Assertion failure in [`lib/Sema/CSDiag.cpp (line 3223)`](1c4f299a3c/lib/Sema/CSDiag.cpp (L3223) ):
```
Assertion `value != OpenExistentials.end() && "didn't see this OVE in a containing OpenExistentialExpr?"' failed.
When executing: virtual std::pair<bool, Expr *> eraseOpenedExistentials(swift::Expr *&)::ExistentialEraser::walkToExprPre(swift::Expr *)
```
Assertion context:
```c++
}
if (auto OVE = dyn_cast<OpaqueValueExpr>(expr)) {
auto value = OpenExistentials.find(OVE);
assert(value != OpenExistentials.end() &&
"didn't see this OVE in a containing OpenExistentialExpr?");
return { true, value->second };
}
// Handle collection upcasts specially so that we don't blow up on
// their embedded OVEs.
```
Stack trace:
```
0 0x0000000003a5fe98 llvm::sys::PrintStackTrace(llvm::raw_ostream&) (/path/to/swift/bin/swift+0x3a5fe98)
1 0x0000000003a605d6 SignalHandler(int) (/path/to/swift/bin/swift+0x3a605d6)
2 0x00007efea3b8d390 __restore_rt (/lib/x86_64-linux-gnu/libpthread.so.0+0x11390)
3 0x00007efea20b3428 gsignal /build/glibc-9tT8Do/glibc-2.23/signal/../sysdeps/unix/sysv/linux/raise.c:54:0
4 0x00007efea20b502a abort /build/glibc-9tT8Do/glibc-2.23/stdlib/abort.c:91:0
5 0x00007efea20abbd7 __assert_fail_base /build/glibc-9tT8Do/glibc-2.23/assert/assert.c:92:0
6 0x00007efea20abc82 (/lib/x86_64-linux-gnu/libc.so.6+0x2dc82)
7 0x00000000014063d4 eraseOpenedExistentials(swift::Expr*&)::ExistentialEraser::walkToExprPre(swift::Expr*) (/path/to/swift/bin/swift+0x14063d4)
8 0x0000000001510e95 (anonymous namespace)::Traversal::visitSelfApplyExpr(swift::SelfApplyExpr*) (/path/to/swift/bin/swift+0x1510e95)
9 0x0000000001510d2a (anonymous namespace)::Traversal::visitApplyExpr(swift::ApplyExpr*) (/path/to/swift/bin/swift+0x1510d2a)
10 0x000000000150d55b swift::Expr::walk(swift::ASTWalker&) (/path/to/swift/bin/swift+0x150d55b)
11 0x0000000001402581 (anonymous namespace)::FailureDiagnosis::typeCheckChildIndependently(swift::Expr*, swift::Type, swift::ContextualTypePurpose, swift::OptionSet<TCCFlags, unsigned int>, swift::ExprTypeCheckListener*, bool) (/path/to/swift/bin/swift+0x1402581)
12 0x00000000013ffc00 swift::ASTVisitor<(anonymous namespace)::FailureDiagnosis, bool, void, void, void, void, void>::visit(swift::Expr*) (/path/to/swift/bin/swift+0x13ffc00)
13 0x00000000013f67ab swift::constraints::ConstraintSystem::diagnoseFailureForExpr(swift::Expr*) (/path/to/swift/bin/swift+0x13f67ab)
14 0x00000000013fc579 swift::constraints::ConstraintSystem::salvage(llvm::SmallVectorImpl<swift::constraints::Solution>&, swift::Expr*) (/path/to/swift/bin/swift+0x13fc579)
15 0x00000000013292e8 swift::TypeChecker::solveForExpression(swift::Expr*&, swift::DeclContext*, swift::Type, swift::FreeTypeVariableBinding, swift::ExprTypeCheckListener*, swift::constraints::ConstraintSystem&, llvm::SmallVectorImpl<swift::constraints::Solution>&, swift::OptionSet<swift::TypeCheckExprFlags, unsigned int>) (/path/to/swift/bin/swift+0x13292e8)
16 0x000000000132cbd6 swift::TypeChecker::typeCheckExpression(swift::Expr*&, swift::DeclContext*, swift::TypeLoc, swift::ContextualTypePurpose, swift::OptionSet<swift::TypeCheckExprFlags, unsigned int>, swift::ExprTypeCheckListener*, swift::constraints::ConstraintSystem*) (/path/to/swift/bin/swift+0x132cbd6)
17 0x00000000013b0a85 swift::ASTVisitor<(anonymous namespace)::StmtChecker, void, swift::Stmt*, void, void, void, void>::visit(swift::Stmt*) (/path/to/swift/bin/swift+0x13b0a85)
18 0x00000000013b0296 swift::TypeChecker::typeCheckTopLevelCodeDecl(swift::TopLevelCodeDecl*) (/path/to/swift/bin/swift+0x13b0296)
19 0x00000000013cdbc0 swift::performTypeChecking(swift::SourceFile&, swift::TopLevelContext&, swift::OptionSet<swift::TypeCheckingFlags, unsigned int>, unsigned int, unsigned int) (/path/to/swift/bin/swift+0x13cdbc0)
20 0x0000000000f97086 swift::CompilerInstance::performSema() (/path/to/swift/bin/swift+0xf97086)
21 0x00000000004aa750 performCompile(swift::CompilerInstance&, swift::CompilerInvocation&, llvm::ArrayRef<char const*>, int&, swift::FrontendObserver*, swift::UnifiedStatsReporter*) (/path/to/swift/bin/swift+0x4aa750)
22 0x00000000004a8d7b swift::performFrontend(llvm::ArrayRef<char const*>, char const*, void*, swift::FrontendObserver*) (/path/to/swift/bin/swift+0x4a8d7b)
23 0x00000000004655c7 main (/path/to/swift/bin/swift+0x4655c7)
24 0x00007efea209e830 __libc_start_main /build/glibc-9tT8Do/glibc-2.23/csu/../csu/libc-start.c:325:0
25 0x0000000000462c69 _start (/path/to/swift/bin/swift+0x462c69)
```
2017-05-24 10:26:53 +02:00
Slava Pestov
a3ff37c1ad
Add an unfixed crasher and two fixed ones
2017-05-23 23:14:10 -07:00
Slava Pestov
e4b08e00a2
Add a regression test
2017-05-22 18:35:52 -07:00
Ben Cohen
02e2bd5380
Re-gyb sorting ( #9818 )
2017-05-21 16:59:46 -07:00
Joe Groff
2e04e24ad8
Merge pull request #9760 from jckarter/sibling-nested-generic-call
...
Sema: Bind context generic params using the current ConstraintSystem's generic environment instead of the decl's DC.
2017-05-19 13:14:26 -07:00
Ben Cohen
169f3aed6f
Revert "Un-XFAIL Lazy.swift test ( #9777 )"
...
This reverts commit f9893a9758 .
2017-05-19 11:30:33 -07:00
Joe Groff
d16eb33477
Sema: Bind context generic params using the current ConstraintSystem's generic environment instead of the decl's DC.
...
Fixes SR-4833.
2017-05-19 10:47:57 -07:00
Ben Cohen
f9893a9758
Un-XFAIL Lazy.swift test ( #9777 )
2017-05-19 10:03:54 -07:00
practicalswift
eed79dd7f4
[swiftc (35 vs. 5527)] Add crasher in swift::GenericSignature::getConformanceAccessPath
...
Add test case for crash triggered in `swift::GenericSignature::getConformanceAccessPath`.
Current number of unresolved compiler crashers: 35 (5527 resolved)
/cc @DougGregor - just wanted to let you know that this crasher caused an assertion failure for the assertion `conforms != equivClass->conformsTo.end()` added on 2017-03-06 by you in commit eaee4add :-)
Assertion failure in [`lib/AST/GenericSignature.cpp (line 882)`](4ebd7163cb/lib/AST/GenericSignature.cpp (L882) ):
```
Assertion `conforms != equivClass->conformsTo.end()' failed.
When executing: auto swift::GenericSignature::getConformanceAccessPath(swift::Type, swift::ProtocolDecl *, swift::ModuleDecl &)::(anonymous class)::operator()(swift::GenericSignature *, const RequirementSource *, swift::ProtocolDecl *, swift::Type) const
```
Assertion context:
```c++
auto equivClass = pa->getOrCreateEquivalenceClass();
// Find the conformance of this potential archetype to the protocol in
// question.
auto conforms = equivClass->conformsTo.find(conformingProto);
assert(conforms != equivClass->conformsTo.end());
// Compute the root type, canonicalizing it w.r.t. the protocol context.
auto inProtoSig = inProtocol->getGenericSignature();
auto conformsSource = getBestRequirementSource(conforms->second);
Type localRootType = conformsSource->getRootPotentialArchetype()
```
Stack trace:
```
0 0x0000000003a4f3e8 llvm::sys::PrintStackTrace(llvm::raw_ostream&) (/path/to/swift/bin/swift+0x3a4f3e8)
1 0x0000000003a4fb26 SignalHandler(int) (/path/to/swift/bin/swift+0x3a4fb26)
2 0x00007fa5cfe28390 __restore_rt (/lib/x86_64-linux-gnu/libpthread.so.0+0x11390)
3 0x00007fa5ce34e428 gsignal /build/glibc-9tT8Do/glibc-2.23/signal/../sysdeps/unix/sysv/linux/raise.c:54:0
4 0x00007fa5ce35002a abort /build/glibc-9tT8Do/glibc-2.23/stdlib/abort.c:91:0
5 0x00007fa5ce346bd7 __assert_fail_base /build/glibc-9tT8Do/glibc-2.23/assert/assert.c:92:0
6 0x00007fa5ce346c82 (/lib/x86_64-linux-gnu/libc.so.6+0x2dc82)
7 0x00000000015488c0 std::_Function_handler<void (swift::GenericSignature*, swift::GenericSignatureBuilder::RequirementSource const*, swift::ProtocolDecl*, swift::Type), swift::GenericSignature::getConformanceAccessPath(swift::Type, swift::ProtocolDecl*, swift::ModuleDecl&)::$_11>::_M_invoke(std::_Any_data const&, swift::GenericSignature*&&, swift::GenericSignatureBuilder::RequirementSource const*&&, swift::ProtocolDecl*&&, swift::Type&&) (/path/to/swift/bin/swift+0x15488c0)
8 0x0000000001547579 swift::GenericSignature::getConformanceAccessPath(swift::Type, swift::ProtocolDecl*, swift::ModuleDecl&) (/path/to/swift/bin/swift+0x1547579)
9 0x000000000159eb95 swift::SubstitutionMap::lookupConformance(swift::CanType, swift::ProtocolDecl*) const (/path/to/swift/bin/swift+0x159eb95)
10 0x0000000001547f9e bool llvm::function_ref<bool (swift::Type, llvm::ArrayRef<swift::Requirement>)>::callback_fn<swift::GenericSignature::getSubstitutions(swift::SubstitutionMap const&, llvm::SmallVectorImpl<swift::Substitution>&) const::$_8>(long, swift::Type, llvm::ArrayRef<swift::Requirement>) (/path/to/swift/bin/swift+0x1547f9e)
11 0x0000000001544e37 swift::GenericSignature::enumeratePairedRequirements(llvm::function_ref<bool (swift::Type, llvm::ArrayRef<swift::Requirement>)>) const (/path/to/swift/bin/swift+0x1544e37)
12 0x00000000015463a2 swift::GenericSignature::getSubstitutions(swift::SubstitutionMap const&, llvm::SmallVectorImpl<swift::Substitution>&) const (/path/to/swift/bin/swift+0x15463a2)
13 0x0000000001543b70 swift::GenericEnvironment::getForwardingSubstitutions() const (/path/to/swift/bin/swift+0x1543b70)
14 0x00000000013fd06f (anonymous namespace)::UncurriedCandidate::UncurriedCandidate(swift::ValueDecl*, unsigned int) (/path/to/swift/bin/swift+0x13fd06f)
15 0x000000000140cc10 (anonymous namespace)::CalleeCandidateInfo::collectCalleeCandidates(swift::Expr*, bool) (/path/to/swift/bin/swift+0x140cc10)
16 0x0000000001409632 (anonymous namespace)::FailureDiagnosis::visitApplyExpr(swift::ApplyExpr*) (/path/to/swift/bin/swift+0x1409632)
17 0x00000000013ee52d swift::ASTVisitor<(anonymous namespace)::FailureDiagnosis, bool, void, void, void, void, void>::visit(swift::Expr*) (/path/to/swift/bin/swift+0x13ee52d)
18 0x00000000013e7f4b swift::constraints::ConstraintSystem::diagnoseFailureForExpr(swift::Expr*) (/path/to/swift/bin/swift+0x13e7f4b)
19 0x00000000013ede82 swift::constraints::ConstraintSystem::salvage(llvm::SmallVectorImpl<swift::constraints::Solution>&, swift::Expr*) (/path/to/swift/bin/swift+0x13ede82)
20 0x000000000131aa48 swift::TypeChecker::solveForExpression(swift::Expr*&, swift::DeclContext*, swift::Type, swift::FreeTypeVariableBinding, swift::ExprTypeCheckListener*, swift::constraints::ConstraintSystem&, llvm::SmallVectorImpl<swift::constraints::Solution>&, swift::OptionSet<swift::TypeCheckExprFlags, unsigned int>) (/path/to/swift/bin/swift+0x131aa48)
21 0x000000000131e466 swift::TypeChecker::typeCheckExpression(swift::Expr*&, swift::DeclContext*, swift::TypeLoc, swift::ContextualTypePurpose, swift::OptionSet<swift::TypeCheckExprFlags, unsigned int>, swift::ExprTypeCheckListener*, swift::constraints::ConstraintSystem*) (/path/to/swift/bin/swift+0x131e466)
22 0x00000000013a1945 swift::ASTVisitor<(anonymous namespace)::StmtChecker, void, swift::Stmt*, void, void, void, void>::visit(swift::Stmt*) (/path/to/swift/bin/swift+0x13a1945)
23 0x000000000139fbdd swift::TypeChecker::typeCheckFunctionBodyUntil(swift::FuncDecl*, swift::SourceLoc) (/path/to/swift/bin/swift+0x139fbdd)
24 0x000000000139fa4d swift::TypeChecker::typeCheckAbstractFunctionBodyUntil(swift::AbstractFunctionDecl*, swift::SourceLoc) (/path/to/swift/bin/swift+0x139fa4d)
25 0x00000000013a079d swift::TypeChecker::typeCheckAbstractFunctionBody(swift::AbstractFunctionDecl*) (/path/to/swift/bin/swift+0x13a079d)
26 0x00000000013bdd08 typeCheckFunctionsAndExternalDecls(swift::TypeChecker&) (/path/to/swift/bin/swift+0x13bdd08)
27 0x00000000013bebe8 swift::performTypeChecking(swift::SourceFile&, swift::TopLevelContext&, swift::OptionSet<swift::TypeCheckingFlags, unsigned int>, unsigned int, unsigned int) (/path/to/swift/bin/swift+0x13bebe8)
28 0x0000000000f885f6 swift::CompilerInstance::performSema() (/path/to/swift/bin/swift+0xf885f6)
29 0x00000000004aaac0 performCompile(swift::CompilerInstance&, swift::CompilerInvocation&, llvm::ArrayRef<char const*>, int&, swift::FrontendObserver*, swift::UnifiedStatsReporter*) (/path/to/swift/bin/swift+0x4aaac0)
30 0x00000000004a90eb swift::performFrontend(llvm::ArrayRef<char const*>, char const*, void*, swift::FrontendObserver*) (/path/to/swift/bin/swift+0x4a90eb)
31 0x00000000004656d7 main (/path/to/swift/bin/swift+0x4656d7)
32 0x00007fa5ce339830 __libc_start_main /build/glibc-9tT8Do/glibc-2.23/csu/../csu/libc-start.c:325:0
33 0x0000000000462d79 _start (/path/to/swift/bin/swift+0x462d79)
```
2017-05-19 14:15:35 +02:00
practicalswift
05411fc8c1
[swiftc (34 vs. 5527)] Add crasher in swift::ProtocolDecl::findProtocolSelfReferences
...
Add test case for crash triggered in `swift::ProtocolDecl::findProtocolSelfReferences`.
Current number of unresolved compiler crashers: 34 (5527 resolved)
/cc @slavapestov - just wanted to let you know that this crasher caused an assertion failure for the assertion `hasInterfaceType() && "No interface type was set"` added on 2016-12-04 by you in commit c1a21613 :-)
Assertion failure in [`lib/AST/Decl.cpp (line 1787)`](69d69c723b/lib/AST/Decl.cpp (L1787) ):
```
Assertion `hasInterfaceType() && "No interface type was set"' failed.
When executing: swift::Type swift::ValueDecl::getInterfaceType() const
```
Assertion context:
```c++
bool ValueDecl::hasInterfaceType() const {
return !TypeAndAccess.getPointer().isNull();
}
Type ValueDecl::getInterfaceType() const {
assert(hasInterfaceType() && "No interface type was set");
return TypeAndAccess.getPointer();
}
void ValueDecl::setInterfaceType(Type type) {
// lldb creates global typealiases with archetypes in them.
```
Stack trace:
```
0 0x0000000003a4f3e8 llvm::sys::PrintStackTrace(llvm::raw_ostream&) (/path/to/swift/bin/swift+0x3a4f3e8)
1 0x0000000003a4fb26 SignalHandler(int) (/path/to/swift/bin/swift+0x3a4fb26)
2 0x00007fafb7e37390 __restore_rt (/lib/x86_64-linux-gnu/libpthread.so.0+0x11390)
3 0x00007fafb635d428 gsignal /build/glibc-9tT8Do/glibc-2.23/signal/../sysdeps/unix/sysv/linux/raise.c:54:0
4 0x00007fafb635f02a abort /build/glibc-9tT8Do/glibc-2.23/stdlib/abort.c:91:0
5 0x00007fafb6355bd7 __assert_fail_base /build/glibc-9tT8Do/glibc-2.23/assert/assert.c:92:0
6 0x00007fafb6355c82 (/lib/x86_64-linux-gnu/libc.so.6+0x2dc82)
7 0x0000000001524035 swift::ProtocolDecl::findProtocolSelfReferences(swift::ValueDecl const*, bool, bool) const (/path/to/swift/bin/swift+0x1524035)
8 0x00000000015245ad swift::ProtocolDecl::existentialTypeSupportedSlow(swift::LazyResolver*) (/path/to/swift/bin/swift+0x15245ad)
9 0x0000000001579ae0 swift::ModuleDecl::lookupConformance(swift::Type, swift::ProtocolDecl*, swift::LazyResolver*) (/path/to/swift/bin/swift+0x1579ae0)
10 0x0000000001372cae swift::TypeChecker::conformsToProtocol(swift::Type, swift::ProtocolDecl*, swift::DeclContext*, swift::OptionSet<swift::ConformanceCheckFlags, unsigned int>, swift::SourceLoc) (/path/to/swift/bin/swift+0x1372cae)
11 0x0000000001373a6a swift::TypeChecker::LookUpConformance::operator()(swift::CanType, swift::Type, swift::ProtocolType*) const (/path/to/swift/bin/swift+0x1373a6a)
12 0x00000000013671a2 std::_Function_handler<llvm::Optional<swift::ProtocolConformanceRef> (swift::CanType, swift::Type, swift::ProtocolType*), swift::TypeChecker::LookUpConformance>::_M_invoke(std::_Any_data const&, swift::CanType&&, swift::Type&&, swift::ProtocolType*&&) (/path/to/swift/bin/swift+0x13671a2)
13 0x000000000155a551 swift::GenericSignatureBuilder::addSameTypeRequirementToConcrete(swift::GenericSignatureBuilder::PotentialArchetype*, swift::Type, swift::GenericSignatureBuilder::RequirementSource const*) (/path/to/swift/bin/swift+0x155a551)
14 0x0000000001559f7c swift::GenericSignatureBuilder::addSameTypeRequirement(llvm::PointerUnion<swift::GenericSignatureBuilder::PotentialArchetype*, swift::Type>, llvm::PointerUnion<swift::GenericSignatureBuilder::PotentialArchetype*, swift::Type>, swift::GenericSignatureBuilder::FloatingRequirementSource, swift::GenericSignatureBuilder::UnresolvedHandlingKind, llvm::function_ref<void (swift::Type, swift::Type)>) (/path/to/swift/bin/swift+0x1559f7c)
15 0x0000000001550ce4 swift::GenericSignatureBuilder::PotentialArchetype::updateNestedTypeForConformance(llvm::PointerUnion<swift::AssociatedTypeDecl*, swift::TypeAliasDecl*>, swift::GenericSignatureBuilder::PotentialArchetype::NestedTypeUpdate) (/path/to/swift/bin/swift+0x1550ce4)
16 0x000000000154f8f0 swift::GenericSignatureBuilder::PotentialArchetype::getNestedArchetypeAnchor(swift::Identifier, swift::GenericSignatureBuilder&, swift::GenericSignatureBuilder::PotentialArchetype::NestedTypeUpdate) (/path/to/swift/bin/swift+0x154f8f0)
17 0x000000000155e4ac swift::GenericSignatureBuilder::checkSameTypeConstraints(llvm::ArrayRef<swift::GenericTypeParamType*>, swift::GenericSignatureBuilder::PotentialArchetype*) (/path/to/swift/bin/swift+0x155e4ac)
18 0x000000000155b690 swift::GenericSignatureBuilder::finalize(swift::SourceLoc, llvm::ArrayRef<swift::GenericTypeParamType*>, bool) (/path/to/swift/bin/swift+0x155b690)
19 0x0000000001365d09 swift::TypeChecker::checkGenericEnvironment(swift::GenericParamList*, swift::DeclContext*, swift::GenericSignature*, bool, llvm::function_ref<void (swift::GenericSignatureBuilder&)>) (/path/to/swift/bin/swift+0x1365d09)
20 0x00000000013660f9 swift::TypeChecker::validateGenericTypeSignature(swift::GenericTypeDecl*) (/path/to/swift/bin/swift+0x13660f9)
21 0x0000000001336bc2 swift::TypeChecker::validateDecl(swift::ValueDecl*) (/path/to/swift/bin/swift+0x1336bc2)
22 0x00000000013466e3 (anonymous namespace)::DeclChecker::visitProtocolDecl(swift::ProtocolDecl*) (/path/to/swift/bin/swift+0x13466e3)
23 0x0000000001334e34 (anonymous namespace)::DeclChecker::visit(swift::Decl*) (/path/to/swift/bin/swift+0x1334e34)
24 0x0000000001334d43 swift::TypeChecker::typeCheckDecl(swift::Decl*, bool) (/path/to/swift/bin/swift+0x1334d43)
25 0x00000000013beae5 swift::performTypeChecking(swift::SourceFile&, swift::TopLevelContext&, swift::OptionSet<swift::TypeCheckingFlags, unsigned int>, unsigned int, unsigned int) (/path/to/swift/bin/swift+0x13beae5)
26 0x0000000000f885f6 swift::CompilerInstance::performSema() (/path/to/swift/bin/swift+0xf885f6)
27 0x00000000004aaac0 performCompile(swift::CompilerInstance&, swift::CompilerInvocation&, llvm::ArrayRef<char const*>, int&, swift::FrontendObserver*, swift::UnifiedStatsReporter*) (/path/to/swift/bin/swift+0x4aaac0)
28 0x00000000004a90eb swift::performFrontend(llvm::ArrayRef<char const*>, char const*, void*, swift::FrontendObserver*) (/path/to/swift/bin/swift+0x4a90eb)
29 0x00000000004656d7 main (/path/to/swift/bin/swift+0x4656d7)
30 0x00007fafb6348830 __libc_start_main /build/glibc-9tT8Do/glibc-2.23/csu/../csu/libc-start.c:325:0
31 0x0000000000462d79 _start (/path/to/swift/bin/swift+0x462d79)
```
2017-05-19 12:28:27 +02:00
practicalswift
99c2233480
[swiftc (33 vs. 5527)] Add crasher in swift::TypeChecker::resolveIdentifierType
...
Add test case for crash triggered in `swift::TypeChecker::resolveIdentifierType`.
Current number of unresolved compiler crashers: 33 (5527 resolved)
/cc @jrose-apple - just wanted to let you know that this crasher caused an assertion failure for the assertion `memberType && "Missing type witness?"` added on 2014-10-10 by you in commit c7761d9e :-)
Assertion failure in [`lib/Sema/TypeCheckNameLookup.cpp (line 450)`](0725bc92ff/lib/Sema/TypeCheckNameLookup.cpp (L450) ):
```
Assertion `memberType && "Missing type witness?"' failed.
When executing: swift::LookupTypeResult swift::TypeChecker::lookupMemberType(swift::DeclContext *, swift::Type, swift::Identifier, NameLookupOptions)
```
Assertion context:
```c++
}
// Use the type witness.
auto concrete = conformance->getConcrete();
Type memberType = concrete->getTypeWitness(assocType, this);
assert(memberType && "Missing type witness?");
// If we haven't seen this type result yet, add it to the result set.
if (types.insert(memberType->getCanonicalType()).second)
result.Results.push_back({assocType, memberType});
}
```
Stack trace:
```
0 0x0000000003a4f3e8 llvm::sys::PrintStackTrace(llvm::raw_ostream&) (/path/to/swift/bin/swift+0x3a4f3e8)
1 0x0000000003a4fb26 SignalHandler(int) (/path/to/swift/bin/swift+0x3a4fb26)
2 0x00007f11a2547390 __restore_rt (/lib/x86_64-linux-gnu/libpthread.so.0+0x11390)
3 0x00007f11a0a6d428 gsignal /build/glibc-9tT8Do/glibc-2.23/signal/../sysdeps/unix/sysv/linux/raise.c:54:0
4 0x00007f11a0a6f02a abort /build/glibc-9tT8Do/glibc-2.23/stdlib/abort.c:91:0
5 0x00007f11a0a65bd7 __assert_fail_base /build/glibc-9tT8Do/glibc-2.23/assert/assert.c:92:0
6 0x00007f11a0a65c82 (/lib/x86_64-linux-gnu/libc.so.6+0x2dc82)
7 0x00000000013690d5 (/path/to/swift/bin/swift+0x13690d5)
8 0x00000000013b0c67 resolveIdentTypeComponent(swift::TypeChecker&, swift::DeclContext*, llvm::ArrayRef<swift::ComponentIdentTypeRepr*>, swift::OptionSet<swift::TypeResolutionFlags, unsigned int>, bool, swift::GenericTypeResolver*, llvm::function_ref<bool (swift::TypeCheckRequest)>*) (/path/to/swift/bin/swift+0x13b0c67)
9 0x00000000013b03e3 swift::TypeChecker::resolveIdentifierType(swift::DeclContext*, swift::IdentTypeRepr*, swift::OptionSet<swift::TypeResolutionFlags, unsigned int>, bool, swift::GenericTypeResolver*, llvm::function_ref<bool (swift::TypeCheckRequest)>*) (/path/to/swift/bin/swift+0x13b03e3)
10 0x00000000013b1598 (anonymous namespace)::TypeResolver::resolveType(swift::TypeRepr*, swift::OptionSet<swift::TypeResolutionFlags, unsigned int>) (/path/to/swift/bin/swift+0x13b1598)
11 0x00000000013b149c swift::TypeChecker::resolveType(swift::TypeRepr*, swift::DeclContext*, swift::OptionSet<swift::TypeResolutionFlags, unsigned int>, swift::GenericTypeResolver*, llvm::function_ref<bool (swift::TypeCheckRequest)>*) (/path/to/swift/bin/swift+0x13b149c)
12 0x00000000013afab0 swift::TypeChecker::validateType(swift::TypeLoc&, swift::DeclContext*, swift::OptionSet<swift::TypeResolutionFlags, unsigned int>, swift::GenericTypeResolver*, llvm::function_ref<bool (swift::TypeCheckRequest)>*) (/path/to/swift/bin/swift+0x13afab0)
13 0x0000000001336b59 swift::TypeChecker::validateDecl(swift::ValueDecl*) (/path/to/swift/bin/swift+0x1336b59)
14 0x000000000158b37c swift::DeclContext::lookupQualified(swift::Type, swift::DeclName, swift::NLOptions, swift::LazyResolver*, llvm::SmallVectorImpl<swift::ValueDecl*>&) const (/path/to/swift/bin/swift+0x158b37c)
15 0x00000000013689ef swift::TypeChecker::lookupMemberType(swift::DeclContext*, swift::Type, swift::Identifier, swift::OptionSet<swift::NameLookupFlags, unsigned int>) (/path/to/swift/bin/swift+0x13689ef)
16 0x000000000138bba9 (anonymous namespace)::ConformanceChecker::resolveTypeWitnessViaLookup(swift::AssociatedTypeDecl*) (/path/to/swift/bin/swift+0x138bba9)
17 0x000000000137994a (anonymous namespace)::ConformanceChecker::resolveTypeWitnesses() (/path/to/swift/bin/swift+0x137994a)
18 0x0000000001374cee (anonymous namespace)::MultiConformanceChecker::checkAllConformances() (/path/to/swift/bin/swift+0x1374cee)
19 0x0000000001376512 swift::TypeChecker::checkConformancesInContext(swift::DeclContext*, swift::IterableDeclContext*) (/path/to/swift/bin/swift+0x1376512)
20 0x000000000134593e (anonymous namespace)::DeclChecker::visitClassDecl(swift::ClassDecl*) (/path/to/swift/bin/swift+0x134593e)
21 0x0000000001334f2e (anonymous namespace)::DeclChecker::visit(swift::Decl*) (/path/to/swift/bin/swift+0x1334f2e)
22 0x0000000001334d43 swift::TypeChecker::typeCheckDecl(swift::Decl*, bool) (/path/to/swift/bin/swift+0x1334d43)
23 0x00000000013a18e6 swift::ASTVisitor<(anonymous namespace)::StmtChecker, void, swift::Stmt*, void, void, void, void>::visit(swift::Stmt*) (/path/to/swift/bin/swift+0x13a18e6)
24 0x00000000013a0f9b swift::TypeChecker::typeCheckClosureBody(swift::ClosureExpr*) (/path/to/swift/bin/swift+0x13a0f9b)
25 0x00000000013c468c swift::constraints::ConstraintSystem::applySolution(swift::constraints::Solution&, swift::Expr*, swift::Type, bool, bool, bool) (/path/to/swift/bin/swift+0x13c468c)
26 0x000000000131e4f0 swift::TypeChecker::typeCheckExpression(swift::Expr*&, swift::DeclContext*, swift::TypeLoc, swift::ContextualTypePurpose, swift::OptionSet<swift::TypeCheckExprFlags, unsigned int>, swift::ExprTypeCheckListener*, swift::constraints::ConstraintSystem*) (/path/to/swift/bin/swift+0x131e4f0)
27 0x00000000013a1945 swift::ASTVisitor<(anonymous namespace)::StmtChecker, void, swift::Stmt*, void, void, void, void>::visit(swift::Stmt*) (/path/to/swift/bin/swift+0x13a1945)
28 0x00000000013a1156 swift::TypeChecker::typeCheckTopLevelCodeDecl(swift::TopLevelCodeDecl*) (/path/to/swift/bin/swift+0x13a1156)
29 0x00000000013beb60 swift::performTypeChecking(swift::SourceFile&, swift::TopLevelContext&, swift::OptionSet<swift::TypeCheckingFlags, unsigned int>, unsigned int, unsigned int) (/path/to/swift/bin/swift+0x13beb60)
30 0x0000000000f885f6 swift::CompilerInstance::performSema() (/path/to/swift/bin/swift+0xf885f6)
31 0x00000000004aaac0 performCompile(swift::CompilerInstance&, swift::CompilerInvocation&, llvm::ArrayRef<char const*>, int&, swift::FrontendObserver*, swift::UnifiedStatsReporter*) (/path/to/swift/bin/swift+0x4aaac0)
32 0x00000000004a90eb swift::performFrontend(llvm::ArrayRef<char const*>, char const*, void*, swift::FrontendObserver*) (/path/to/swift/bin/swift+0x4a90eb)
33 0x00000000004656d7 main (/path/to/swift/bin/swift+0x4656d7)
34 0x00007f11a0a58830 __libc_start_main /build/glibc-9tT8Do/glibc-2.23/csu/../csu/libc-start.c:325:0
35 0x0000000000462d79 _start (/path/to/swift/bin/swift+0x462d79)
```
2017-05-19 10:59:31 +02:00
Dave Abrahams
fd30b72ee1
[stdlib] Fix a race
...
Lock-free programming is almost always a bug.
Fixes <rdar://25398370> Data Race in StringBuffer.append (found by TSan)
2017-05-18 16:29:59 -07:00
Doug Gregor
684bddf667
Merge pull request #9733 from DougGregor/cgcolor-color-literal
...
[CoreGraphics] Make CGColor adopt _ExpressibleByColorLiteral.
2017-05-18 11:06:36 -07:00
Doug Gregor
2a9867bf88
[CoreGraphics] Make CGColor adopt _ExpressibleByColorLiteral.
...
The backflips here are because we cannot add initializers to imported
CF types; they would be factory initializers. Fixes
rdar://problem/32196175.
2017-05-18 09:57:52 -07:00
Dave Abrahams
4660a77816
Patch up tests per https://github.com/apple/swift/pull/9689
2017-05-17 17:17:49 -07:00
Dave Abrahams
9f37da8bb6
Merge branch 'master' into string-init-from-character-speedup
2017-05-17 12:23:56 -07:00
Dave Abrahams
4db3509ad6
[stdlib] A Character's buffer should only contain 1 grapheme
...
This speeds up construction of a String from large Character representations,
and various other operations that would otherwise require additional grapheme
breaking just to interpret the Character.
2017-05-17 10:06:35 -07:00
Slava Pestov
e58ae766a3
Fix and un-XFAIL regressed crashers from recent stdlib change
2017-05-17 05:51:51 -07:00
Doug Gregor
cf5424b617
[GSB] Move the Recursive(Concrete|Superclass)Type bits into EquivalenceClass.
...
Recursive concrete and superclass constraints are detected
per-equivalence-class; record them that way.
Use that information to drop recursive concrete and superclass
constraints from the resulting signature, which frees the canonical
generic signature builder from having to worry about such recursive
constraints. This eliminates the invalid-code crashes introduced in
the prior commit that disabled finalization for the canonical GSBs, as
well as fixing one other random crash-on-invalid.
2017-05-15 22:05:07 -07:00
Mark Lacey
a1ed4e6174
Merge pull request #9606 from rudkx/revert-ecfa406fc580df48260c6ad606bfd11c10f6ad4c
...
Revert "Re-instate "Improve disjunction selection""
2017-05-15 13:24:11 -07:00
Mark Lacey
bc7dff5c9f
Revert "Re-instate "Improve disjunction selection""
...
This reverts commit
ecfa406fc5 , which was reinstating
3c5b393e0c .
It does not revert one test change from that commit, because
inexplicably one of the tests is still failing, probably due to some
other changes that have happened since. I'm leaving a ticket open to
investigate.
I've added one of the new cases that is failing as a result of this
change.
This is being reverted not because of bugs in this particular commit,
but because it seems to be exposing other bugs in the type checker that
are resulting in source compatibility problems. We need to shake these
other bugs out of the type checker before bringing this change back.
2017-05-15 11:27:11 -07:00
practicalswift
6fc2efbe49
Merge pull request #9572 from practicalswift/gardening-20170513
...
[gardening] Remove assert requirement from fixed crashers. Fix spacing. Remove unused variables.
2017-05-15 14:00:21 +02:00
swift-ci
88d3d20c45
Merge pull request #9571 from practicalswift/swiftc-28750-false-should-have-found-context-by-now
2017-05-15 02:56:19 -07:00
Ben Cohen
ea2f64cad2
[stdlib] Add Sequence.Element, change ExpressibleByArrayLiteral.Element to ArrayLiteralElement ( #8990 )
...
* Give Sequence a top-level Element, constrain Iterator to match
* Remove many instances of Iterator.
* Fixed various hard-coded tests
* XFAIL a few tests that need further investigation
* Change assoc type for arrayLiteralConvertible
* Mop up remaining "better expressed as a where clause" warnings
* Fix UnicodeDecoders prototype test
* Fix UIntBuffer
* Fix hard-coded Element identifier in CSDiag
* Fix up more tests
* Account for flatMap changes
2017-05-14 06:33:25 -07:00
practicalswift
4f05554682
[gardening] Remove assert requirement from fixed crashers
2017-05-13 10:57:05 +02:00
practicalswift
65b71e9970
[swiftc (33 vs. 5526)] Add crasher in swift::TypeChecker::resolveTypeInContext
...
Add test case for crash triggered in `swift::TypeChecker::resolveTypeInContext`.
Current number of unresolved compiler crashers: 33 (5526 resolved)
/cc @slavapestov - just wanted to let you know that this crasher caused an assertion failure for the assertion `false && "Should have found context by now"` added on 2016-12-06 by you in commit fdaa88606 :-)
Assertion failure in [`lib/Sema/TypeCheckType.cpp (line 402)`](50e4620c82/lib/Sema/TypeCheckType.cpp (L402) ):
```
Assertion `false && "Should have found context by now"' failed.
When executing: std::tuple<Type, bool> findDeclContextForType(swift::TypeChecker &, swift::TypeDecl *, swift::DeclContext *, TypeResolutionOptions, swift::GenericTypeResolver *)
```
Assertion context:
```c++
// If not, walk into the refined protocols, if any.
pushRefined(protoDecl);
}
}
assert(false && "Should have found context by now");
return std::make_tuple(Type(), false);
}
Type TypeChecker::resolveTypeInContext(
TypeDecl *typeDecl,
```
Stack trace:
```
0 0x0000000003a3b478 llvm::sys::PrintStackTrace(llvm::raw_ostream&) (/path/to/swift/bin/swift+0x3a3b478)
1 0x0000000003a3bbb6 SignalHandler(int) (/path/to/swift/bin/swift+0x3a3bbb6)
2 0x00007f33d9b4d390 __restore_rt (/lib/x86_64-linux-gnu/libpthread.so.0+0x11390)
3 0x00007f33d8073428 gsignal /build/glibc-9tT8Do/glibc-2.23/signal/../sysdeps/unix/sysv/linux/raise.c:54:0
4 0x00007f33d807502a abort /build/glibc-9tT8Do/glibc-2.23/stdlib/abort.c:91:0
5 0x00007f33d806bbd7 __assert_fail_base /build/glibc-9tT8Do/glibc-2.23/assert/assert.c:92:0
6 0x00007f33d806bc82 (/lib/x86_64-linux-gnu/libc.so.6+0x2dc82)
7 0x000000000139e556 swift::TypeChecker::resolveTypeInContext(swift::TypeDecl*, swift::DeclContext*, swift::OptionSet<swift::TypeResolutionFlags, unsigned int>, bool, swift::GenericTypeResolver*) (/path/to/swift/bin/swift+0x139e556)
8 0x00000000013a68ce resolveTypeDecl(swift::TypeChecker&, swift::TypeDecl*, swift::SourceLoc, swift::DeclContext*, swift::GenericIdentTypeRepr*, swift::OptionSet<swift::TypeResolutionFlags, unsigned int>, swift::GenericTypeResolver*, llvm::function_ref<bool (swift::TypeCheckRequest)>*) (/path/to/swift/bin/swift+0x13a68ce)
9 0x00000000013a649f resolveTopLevelIdentTypeComponent(swift::TypeChecker&, swift::DeclContext*, swift::ComponentIdentTypeRepr*, swift::OptionSet<swift::TypeResolutionFlags, unsigned int>, bool, swift::GenericTypeResolver*, llvm::function_ref<bool (swift::TypeCheckRequest)>*) (/path/to/swift/bin/swift+0x13a649f)
10 0x00000000013a0496 resolveIdentTypeComponent(swift::TypeChecker&, swift::DeclContext*, llvm::ArrayRef<swift::ComponentIdentTypeRepr*>, swift::OptionSet<swift::TypeResolutionFlags, unsigned int>, bool, swift::GenericTypeResolver*, llvm::function_ref<bool (swift::TypeCheckRequest)>*) (/path/to/swift/bin/swift+0x13a0496)
11 0x000000000139fec3 swift::TypeChecker::resolveIdentifierType(swift::DeclContext*, swift::IdentTypeRepr*, swift::OptionSet<swift::TypeResolutionFlags, unsigned int>, bool, swift::GenericTypeResolver*, llvm::function_ref<bool (swift::TypeCheckRequest)>*) (/path/to/swift/bin/swift+0x139fec3)
12 0x00000000013a1078 (anonymous namespace)::TypeResolver::resolveType(swift::TypeRepr*, swift::OptionSet<swift::TypeResolutionFlags, unsigned int>) (/path/to/swift/bin/swift+0x13a1078)
13 0x00000000013a0f7c swift::TypeChecker::resolveType(swift::TypeRepr*, swift::DeclContext*, swift::OptionSet<swift::TypeResolutionFlags, unsigned int>, swift::GenericTypeResolver*, llvm::function_ref<bool (swift::TypeCheckRequest)>*) (/path/to/swift/bin/swift+0x13a0f7c)
14 0x000000000139f590 swift::TypeChecker::validateType(swift::TypeLoc&, swift::DeclContext*, swift::OptionSet<swift::TypeResolutionFlags, unsigned int>, swift::GenericTypeResolver*, llvm::function_ref<bool (swift::TypeCheckRequest)>*) (/path/to/swift/bin/swift+0x139f590)
15 0x000000000131db0c swift::TypeChecker::checkInheritanceClause(swift::Decl*, swift::GenericTypeResolver*) (/path/to/swift/bin/swift+0x131db0c)
16 0x0000000001326171 swift::TypeChecker::validateDecl(swift::ValueDecl*) (/path/to/swift/bin/swift+0x1326171)
17 0x00000000013352fc (anonymous namespace)::DeclChecker::visitClassDecl(swift::ClassDecl*) (/path/to/swift/bin/swift+0x13352fc)
18 0x00000000013249ce (anonymous namespace)::DeclChecker::visit(swift::Decl*) (/path/to/swift/bin/swift+0x13249ce)
19 0x00000000013353fb (anonymous namespace)::DeclChecker::visitClassDecl(swift::ClassDecl*) (/path/to/swift/bin/swift+0x13353fb)
20 0x00000000013249ce (anonymous namespace)::DeclChecker::visit(swift::Decl*) (/path/to/swift/bin/swift+0x13249ce)
21 0x00000000013247e3 swift::TypeChecker::typeCheckDecl(swift::Decl*, bool) (/path/to/swift/bin/swift+0x13247e3)
22 0x00000000013ae445 swift::performTypeChecking(swift::SourceFile&, swift::TopLevelContext&, swift::OptionSet<swift::TypeCheckingFlags, unsigned int>, unsigned int, unsigned int) (/path/to/swift/bin/swift+0x13ae445)
23 0x0000000000f84f66 swift::CompilerInstance::performSema() (/path/to/swift/bin/swift+0xf84f66)
24 0x00000000004aaa40 performCompile(swift::CompilerInstance&, swift::CompilerInvocation&, llvm::ArrayRef<char const*>, int&, swift::FrontendObserver*, swift::UnifiedStatsReporter*) (/path/to/swift/bin/swift+0x4aaa40)
25 0x00000000004a906b swift::performFrontend(llvm::ArrayRef<char const*>, char const*, void*, swift::FrontendObserver*) (/path/to/swift/bin/swift+0x4a906b)
26 0x00000000004656d7 main (/path/to/swift/bin/swift+0x4656d7)
27 0x00007f33d805e830 __libc_start_main /build/glibc-9tT8Do/glibc-2.23/csu/../csu/libc-start.c:325:0
28 0x0000000000462d79 _start (/path/to/swift/bin/swift+0x462d79)
```
2017-05-13 10:54:00 +02:00
practicalswift
50e4620c82
Merge pull request #9539 from practicalswift/swiftc-28749-reftype-hastypeparameter-cannot-have-a-dependent-type-here
...
[swiftc (32 vs. 5526)] Add crasher in swift::constraints::ConstraintSystem::resolveOverload
2017-05-13 10:53:41 +02:00
Kuba (Brecka) Mracek
fc7dbefcf8
Revert backtrace ban and start printing backtraces from the runtime again ( #9528 )
...
* Revert "[strip -ST] Disable runtime stack trace dumping on Darwin when asserts are disabled."
This reverts commit 6bc28ff1c9 .
* Bring back important fixes from the revert of 6bc28ff1c9 .
* Change swift::swift_reportError to only print the backtrace in assert builds (swift::warning prints backtrace always).
2017-05-12 15:46:35 -07:00
Huon Wilson
a0fe4050ec
Merge pull request #9419 from huonw/where-completion-crash
...
[Parse] Don't tell CodeCompletion nonsense about protocol/AT where clauses.
2017-05-12 20:44:53 +10:00
Huon Wilson
8c8f35ee78
[Parse] Don't tell CodeCompletion nonsense about protocol/AT where clauses.
...
This doesn't give particularly useful information yet (i.e. Self isn't
listed, see rdar://problem/31981641 ), but it does stop the completion
code from just directly crashing.
Fixes rdar://problem/31981486.
2017-05-12 16:00:00 +10:00
practicalswift
62c58923f1
[swiftc (32 vs. 5526)] Add crasher in swift::constraints::ConstraintSystem::resolveOverload
...
Add test case for crash triggered in `swift::constraints::ConstraintSystem::resolveOverload`.
Current number of unresolved compiler crashers: 32 (5526 resolved)
/cc @DougGregor - just wanted to let you know that this crasher caused an assertion failure for the assertion `!refType->hasTypeParameter() && "Cannot have a dependent type here"` added on 2015-07-07 by you in commit 3023a710 :-)
Assertion failure in [`lib/Sema/ConstraintSystem.cpp (line 1533)`](3dd78ac537/lib/Sema/ConstraintSystem.cpp (L1533) ):
```
Assertion `!refType->hasTypeParameter() && "Cannot have a dependent type here"' failed.
When executing: void swift::constraints::ConstraintSystem::resolveOverload(swift::constraints::ConstraintLocator *, swift::Type, swift::constraints::OverloadChoice, swift::DeclContext *)
```
Assertion context:
```c++
// Increase the score so that actual subscripts get preference.
increaseScore(SK_KeyPathSubscript);
}
}
assert(!refType->hasTypeParameter() && "Cannot have a dependent type here");
// If we're binding to an init member, the 'throws' need to line up between
// the bound and reference types.
if (choice.isDecl()) {
auto decl = choice.getDecl();
```
Stack trace:
```
0 0x0000000003a3a088 llvm::sys::PrintStackTrace(llvm::raw_ostream&) (/path/to/swift/bin/swift+0x3a3a088)
1 0x0000000003a3a7c6 SignalHandler(int) (/path/to/swift/bin/swift+0x3a3a7c6)
2 0x00007fe2a44b2390 __restore_rt (/lib/x86_64-linux-gnu/libpthread.so.0+0x11390)
3 0x00007fe2a29d8428 gsignal /build/glibc-9tT8Do/glibc-2.23/signal/../sysdeps/unix/sysv/linux/raise.c:54:0
4 0x00007fe2a29da02a abort /build/glibc-9tT8Do/glibc-2.23/stdlib/abort.c:91:0
5 0x00007fe2a29d0bd7 __assert_fail_base /build/glibc-9tT8Do/glibc-2.23/assert/assert.c:92:0
6 0x00007fe2a29d0c82 (/lib/x86_64-linux-gnu/libc.so.6+0x2dc82)
7 0x00000000012f7580 swift::constraints::ConstraintSystem::resolveOverload(swift::constraints::ConstraintLocator*, swift::Type, swift::constraints::OverloadChoice, swift::DeclContext*) (/path/to/swift/bin/swift+0x12f7580)
8 0x00000000012c8570 swift::constraints::ConstraintSystem::simplifyConstraint(swift::constraints::Constraint const&) (/path/to/swift/bin/swift+0x12c8570)
9 0x00000000012d62b8 swift::constraints::ConstraintSystem::solveSimplified(llvm::SmallVectorImpl<swift::constraints::Solution>&, swift::FreeTypeVariableBinding) (/path/to/swift/bin/swift+0x12d62b8)
10 0x00000000012cdd55 swift::constraints::ConstraintSystem::solveRec(llvm::SmallVectorImpl<swift::constraints::Solution>&, swift::FreeTypeVariableBinding) (/path/to/swift/bin/swift+0x12cdd55)
11 0x00000000012cd712 swift::constraints::ConstraintSystem::solve(llvm::SmallVectorImpl<swift::constraints::Solution>&, swift::FreeTypeVariableBinding) (/path/to/swift/bin/swift+0x12cd712)
12 0x00000000012d0a48 swift::constraints::ConstraintSystem::solve(swift::Expr*&, swift::Type, swift::ExprTypeCheckListener*, llvm::SmallVectorImpl<swift::constraints::Solution>&, swift::FreeTypeVariableBinding) (/path/to/swift/bin/swift+0x12d0a48)
13 0x00000000013098c4 swift::TypeChecker::solveForExpression(swift::Expr*&, swift::DeclContext*, swift::Type, swift::FreeTypeVariableBinding, swift::ExprTypeCheckListener*, swift::constraints::ConstraintSystem&, llvm::SmallVectorImpl<swift::constraints::Solution>&, swift::OptionSet<swift::TypeCheckExprFlags, unsigned int>) (/path/to/swift/bin/swift+0x13098c4)
14 0x000000000130d326 swift::TypeChecker::typeCheckExpression(swift::Expr*&, swift::DeclContext*, swift::TypeLoc, swift::ContextualTypePurpose, swift::OptionSet<swift::TypeCheckExprFlags, unsigned int>, swift::ExprTypeCheckListener*, swift::constraints::ConstraintSystem*) (/path/to/swift/bin/swift+0x130d326)
15 0x0000000001311411 swift::TypeChecker::typeCheckBinding(swift::Pattern*&, swift::Expr*&, swift::DeclContext*, bool) (/path/to/swift/bin/swift+0x1311411)
16 0x00000000013115d6 swift::TypeChecker::typeCheckPatternBinding(swift::PatternBindingDecl*, unsigned int, bool) (/path/to/swift/bin/swift+0x13115d6)
17 0x0000000001329718 validatePatternBindingEntries(swift::TypeChecker&, swift::PatternBindingDecl*) (/path/to/swift/bin/swift+0x1329718)
18 0x0000000001323bcd (anonymous namespace)::DeclChecker::visit(swift::Decl*) (/path/to/swift/bin/swift+0x1323bcd)
19 0x000000000133453b (anonymous namespace)::DeclChecker::visitStructDecl(swift::StructDecl*) (/path/to/swift/bin/swift+0x133453b)
20 0x0000000001323b74 (anonymous namespace)::DeclChecker::visit(swift::Decl*) (/path/to/swift/bin/swift+0x1323b74)
21 0x000000000133574b (anonymous namespace)::DeclChecker::visitProtocolDecl(swift::ProtocolDecl*) (/path/to/swift/bin/swift+0x133574b)
22 0x0000000001323b84 (anonymous namespace)::DeclChecker::visit(swift::Decl*) (/path/to/swift/bin/swift+0x1323b84)
23 0x0000000001323a93 swift::TypeChecker::typeCheckDecl(swift::Decl*, bool) (/path/to/swift/bin/swift+0x1323a93)
24 0x00000000013ad885 swift::performTypeChecking(swift::SourceFile&, swift::TopLevelContext&, swift::OptionSet<swift::TypeCheckingFlags, unsigned int>, unsigned int, unsigned int) (/path/to/swift/bin/swift+0x13ad885)
25 0x0000000000f84766 swift::CompilerInstance::performSema() (/path/to/swift/bin/swift+0xf84766)
26 0x00000000004aa580 performCompile(swift::CompilerInstance&, swift::CompilerInvocation&, llvm::ArrayRef<char const*>, int&, swift::FrontendObserver*, swift::UnifiedStatsReporter*) (/path/to/swift/bin/swift+0x4aa580)
27 0x00000000004a8c6b swift::performFrontend(llvm::ArrayRef<char const*>, char const*, void*, swift::FrontendObserver*) (/path/to/swift/bin/swift+0x4a8c6b)
28 0x00000000004656d7 main (/path/to/swift/bin/swift+0x4656d7)
29 0x00007fe2a29c3830 __libc_start_main /build/glibc-9tT8Do/glibc-2.23/csu/../csu/libc-start.c:325:0
30 0x0000000000462d79 _start (/path/to/swift/bin/swift+0x462d79)
```
2017-05-12 06:57:43 +02:00
Doug Gregor
8483524265
Merge pull request #9503 from DougGregor/rdar30154791-testcase
...
Add fixed crasher for rdar://problem/30154791.
2017-05-11 10:36:17 -07:00
swift-ci
cd61cf6d1b
Merge pull request #9494 from DougGregor/common-return-type-cleanup
2017-05-11 09:46:49 -07:00