Skip to content

Assertion failed: (func->isOperator() && "Lookup should only find operators") #59315

Closed
@ahoppen

Description

@ahoppen

The following new test case started failing after #59003 with the following stack trace

// RUN: %swift-ide-test -code-completion -source-filename %s -code-completion-token COMPLETE

func foo(closure: (String) -> Void) -> String? { 
    return nil 
}

func test() { 
    if let key = foo(closure: { str in str.suffix(2) == #^COMPLETE^#

Stack trace

Assertion failed: (func->isOperator() && "Lookup should only find operators"), function getTypeOfReference, file ConstraintSystem.cpp, line 1454.
PLEASE submit a bug report to https://bugs.llvm.org/ and include the crash backtrace.
Stack dump:
0.	Program arguments: /Users/alex/swift-src/mbuild/Release+Asserts/swift-macosx-x86_64/bin/swift-ide-test -module-cache-path /Users/alex/swift-src/mbuild/Release+Asserts/swift-macosx-x86_64/swift-test-results/x86_64-apple-macosx10.9/clang-module-cache -completion-cache-path /Users/alex/swift-src/mbuild/Release+Asserts/swift-macosx-x86_64/swift-test-results/x86_64-apple-macosx10.9/completion-cache -swift-version 4 -resource-dir /Users/alex/swift-src/mbuild/Release+Asserts/swift-macosx-x86_64/lib/swift -code-completion -source-filename /Users/alex/swift-src/swift/test/test.swift -code-completion-token COMPLETE
1.	While performing new completion
2.	While evaluating request CodeCompletionSecondPassRequest(source_file "/Users/alex/swift-src/swift/test/test.swift", )
Stack dump without symbol names (ensure you have llvm-symbolizer in your PATH or set the environment var `LLVM_SYMBOLIZER_PATH` to point to it):
0  swift-ide-test           0x000000010f63c1e7 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) + 39
1  swift-ide-test           0x000000010f63b128 llvm::sys::RunSignalHandlers() + 248
2  swift-ide-test           0x000000010f63c830 SignalHandler(int) + 288
3  libsystem_platform.dylib 0x00007ff81b9c9c1d _sigtramp + 29
4  libsystem_platform.dylib 0x00007ff7b7259018 _sigtramp + 18446744072024028184
5  libsystem_c.dylib        0x00007ff81b8e8cb8 abort + 123
6  libsystem_c.dylib        0x00007ff81b8e805f err + 0
7  swift-ide-test           0x000000010a21c7c3 swift::constraints::ConstraintSystem::getTypeOfReference(swift::ValueDecl*, swift::FunctionRefKind, swift::constraints::ConstraintLocatorBuilder, swift::DeclContext*) (.cold.10) + 35
8  swift-ide-test           0x000000010a1fc884 swift::constraints::ConstraintSystem::getTypeOfReference(swift::ValueDecl*, swift::FunctionRefKind, swift::constraints::ConstraintLocatorBuilder, swift::DeclContext*) + 2148
9  swift-ide-test           0x000000010a203824 swift::constraints::ConstraintSystem::resolveOverload(swift::constraints::ConstraintLocator*, swift::Type, swift::constraints::OverloadChoice, swift::DeclContext*) + 3396
10 swift-ide-test           0x000000010a0d7b03 swift::ASTVisitor<(anonymous namespace)::ConstraintGenerator, swift::Type, void, void, void, void, void>::visit(swift::Expr*) + 9683
11 swift-ide-test           0x000000010a0d3044 (anonymous namespace)::ConstraintWalker::walkToExprPost(swift::Expr*) + 196
12 swift-ide-test           0x0000000108db6135 (anonymous namespace)::Traversal::visitSelfApplyExpr(swift::SelfApplyExpr*) + 229
13 swift-ide-test           0x0000000108db4505 swift::ASTVisitor<(anonymous namespace)::Traversal, swift::Expr*, swift::Stmt*, bool, swift::Pattern*, bool, void>::visit(swift::Expr*) + 517
14 swift-ide-test           0x0000000108db4258 (anonymous namespace)::Traversal::doIt(swift::ArgumentList*) + 184
15 swift-ide-test           0x0000000108db4541 swift::ASTVisitor<(anonymous namespace)::Traversal, swift::Expr*, swift::Stmt*, bool, swift::Pattern*, bool, void>::visit(swift::Expr*) + 577
16 swift-ide-test           0x0000000108db3b49 swift::Expr::walk(swift::ASTWalker&) + 73
17 swift-ide-test           0x000000010a0ce492 swift::constraints::ConstraintSystem::generateConstraints(swift::Expr*, swift::DeclContext*, bool) + 210
18 swift-ide-test           0x000000010a0cd9a0 swift::constraints::ConstraintSystem::generateConstraints(swift::constraints::SolutionApplicationTarget&, swift::FreeTypeVariableBinding) + 352
19 swift-ide-test           0x000000010a16b2a2 swift::constraints::ConstraintSystem::solveForCodeCompletion(swift::constraints::SolutionApplicationTarget&, llvm::SmallVectorImpl<swift::constraints::Solution>&) + 130
20 swift-ide-test           0x000000010a2ca8d5 swift::TypeChecker::typeCheckForCodeCompletion(swift::constraints::SolutionApplicationTarget&, bool, llvm::function_ref<void (swift::constraints::Solution const&)>)::$_3::operator()(swift::constraints::SolutionApplicationTarget&) const + 101
21 swift-ide-test           0x000000010a2ca66b swift::TypeChecker::typeCheckForCodeCompletion(swift::constraints::SolutionApplicationTarget&, bool, llvm::function_ref<void (swift::constraints::Solution const&)>) + 459
22 swift-ide-test           0x000000010924a331 swift::ide::TypeCheckCompletionCallback::fallbackTypeCheck(swift::DeclContext*) + 145
23 swift-ide-test           0x00000001091cc122 (anonymous namespace)::CodeCompletionCallbacksImpl::trySolverCompletion(bool)::$_19::operator()(swift::ide::TypeCheckCompletionCallback&) const + 162
24 swift-ide-test           0x00000001091c52d4 (anonymous namespace)::CodeCompletionCallbacksImpl::doneParsing() + 436
25 swift-ide-test           0x000000010a7b2fae swift::Parser::performCodeCompletionSecondPassImpl(swift::CodeCompletionDelayedDeclState&) + 862
26 swift-ide-test           0x000000010a7b2b57 swift::CodeCompletionSecondPassRequest::evaluate(swift::Evaluator&, swift::SourceFile*, swift::CodeCompletionCallbacksFactory*) const + 231
27 swift-ide-test           0x000000010a7bab90 llvm::Expected<swift::CodeCompletionSecondPassRequest::OutputType> swift::Evaluator::getResultUncached<swift::CodeCompletionSecondPassRequest>(swift::CodeCompletionSecondPassRequest const&) + 272
28 swift-ide-test           0x000000010a7b2966 swift::CodeCompletionSecondPassRequest::OutputType swift::evaluateOrDefault<swift::CodeCompletionSecondPassRequest>(swift::Evaluator&, swift::CodeCompletionSecondPassRequest, swift::CodeCompletionSecondPassRequest::OutputType) + 38
29 swift-ide-test           0x00000001091eb99a void llvm::function_ref<void (swift::ide::CompletionInstanceResult&, llvm::function_ref<void (swift::ide::CancellableResult<swift::ide::CodeCompleteResult>)>)>::callback_fn<swift::ide::CompletionInstance::codeComplete(swift::CompilerInvocation&, llvm::ArrayRef<char const*>, llvm::IntrusiveRefCntPtr<llvm::vfs::FileSystem>, llvm::MemoryBuffer*, unsigned int, swift::DiagnosticConsumer*, swift::ide::CodeCompletionContext&, std::__1::shared_ptr<std::__1::atomic<bool> >, llvm::function_ref<void (swift::ide::CancellableResult<swift::ide::CodeCompleteResult>)>)::$_1::operator()(swift::ide::CancellableResult<swift::ide::CompletionInstanceResult>) const::'lambda'(auto&, auto)>(long, swift::ide::CompletionInstanceResult&, llvm::function_ref<void (swift::ide::CancellableResult<swift::ide::CodeCompleteResult>)>) + 1098
30 swift-ide-test           0x00000001091eade9 void swift::ide::CancellableResult<swift::ide::CompletionInstanceResult>::mapAsync<swift::ide::CodeCompleteResult>(llvm::function_ref<void (swift::ide::CompletionInstanceResult&, llvm::function_ref<void (swift::ide::CancellableResult<swift::ide::CodeCompleteResult>)>)>, llvm::function_ref<void (swift::ide::CancellableResult<swift::ide::CodeCompleteResult>)>) + 89
31 swift-ide-test           0x00000001091ead73 void llvm::function_ref<void (swift::ide::CancellableResult<swift::ide::CompletionInstanceResult>)>::callback_fn<swift::ide::CompletionInstance::codeComplete(swift::CompilerInvocation&, llvm::ArrayRef<char const*>, llvm::IntrusiveRefCntPtr<llvm::vfs::FileSystem>, llvm::MemoryBuffer*, unsigned int, swift::DiagnosticConsumer*, swift::ide::CodeCompletionContext&, std::__1::shared_ptr<std::__1::atomic<bool> >, llvm::function_ref<void (swift::ide::CancellableResult<swift::ide::CodeCompleteResult>)>)::$_1>(long, swift::ide::CancellableResult<swift::ide::CompletionInstanceResult>) + 115
32 swift-ide-test           0x00000001091e9d12 swift::ide::CompletionInstance::performNewOperation(llvm::Optional<llvm::hash_code>, swift::CompilerInvocation&, llvm::IntrusiveRefCntPtr<llvm::vfs::FileSystem>, llvm::MemoryBuffer*, unsigned int, swift::DiagnosticConsumer*, std::__1::shared_ptr<std::__1::atomic<bool> >, llvm::function_ref<void (swift::ide::CancellableResult<swift::ide::CompletionInstanceResult>)>) + 866
33 swift-ide-test           0x00000001091ea3d5 swift::ide::CompletionInstance::performOperation(swift::CompilerInvocation&, llvm::ArrayRef<char const*>, llvm::IntrusiveRefCntPtr<llvm::vfs::FileSystem>, llvm::MemoryBuffer*, unsigned int, swift::DiagnosticConsumer*, std::__1::shared_ptr<std::__1::atomic<bool> >, llvm::function_ref<void (swift::ide::CancellableResult<swift::ide::CompletionInstanceResult>)>) + 837
34 swift-ide-test           0x00000001091ea4bd swift::ide::CompletionInstance::codeComplete(swift::CompilerInvocation&, llvm::ArrayRef<char const*>, llvm::IntrusiveRefCntPtr<llvm::vfs::FileSystem>, llvm::MemoryBuffer*, unsigned int, swift::DiagnosticConsumer*, swift::ide::CodeCompletionContext&, std::__1::shared_ptr<std::__1::atomic<bool> >, llvm::function_ref<void (swift::ide::CancellableResult<swift::ide::CodeCompleteResult>)>) + 141
35 swift-ide-test           0x0000000108cb5091 bool llvm::function_ref<bool (CompletionLikeOperationParams)>::callback_fn<doCodeCompletion(swift::CompilerInvocation const&, llvm::StringRef, llvm::StringRef, llvm::StringRef, bool, bool, bool, bool, bool, bool, bool, bool)::$_5>(long, CompletionLikeOperationParams) + 273
36 swift-ide-test           0x0000000108cb4e0e performWithCompletionLikeOperationParams(swift::CompilerInvocation const&, llvm::StringRef, llvm::StringRef, llvm::StringRef, bool, llvm::function_ref<bool (CompletionLikeOperationParams)>) + 1070
37 swift-ide-test           0x0000000108ca518b main + 31243
38 dyld                     0x00007ffb369ee105 start + 2325
/Users/alex/swift-src/mbuild/Release+Asserts/swift-macosx-x86_64/test-macosx-x86_64/Output/test.swift.script: line 1: 14708 Abort trap: 6           '/Users/alex/swift-src/mbuild/Release+Asserts/swift-macosx-x86_64/bin/swift-ide-test' -module-cache-path /Users/alex/swift-src/mbuild/Release+Asserts/swift-macosx-x86_64/swift-test-results/x86_64-apple-macosx10.9/clang-module-cache -completion-cache-path '/Users/alex/swift-src/mbuild/Release+Asserts/swift-macosx-x86_64/swift-test-results/x86_64-apple-macosx10.9/completion-cache' -swift-version 4 -resource-dir /Users/alex/swift-src/mbuild/Release+Asserts/swift-macosx-x86_64/lib/swift -code-completion -source-filename /Users/alex/swift-src/swift/test/test.swift -code-completion-token COMPLETE

rdar://94619388

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugA deviation from expected or documented behavior. Also: expected but undesirable behavior.found by stress testerFlag: An issue found by the SourceKit stress tester

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions