Open
Description
The following new test case crashes
// RUN: %empty-directory(%t)
// RUN: %target-swift-ide-test -batch-code-completion -source-filename %s -filecheck %raw-FileCheck -completion-output-dir %t
protocol Publisher<Output, Failure> {
associatedtype Output
associatedtype Failure : Error
}
func pnReceive<P: Publisher>(_ publisher: P) where P.Failure == Never
func test() {
pnReceive(#^COMPLETE^#) { }
}
Stack trace
Thread 3 Crashed:
0 libsystem_kernel.dylib 0x184c221fc __pthread_kill + 8
1 libsystem_pthread.dylib 0x184c59cc0 pthread_kill + 288
2 libsystem_c.dylib 0x184b69b24 __abort + 128 (abort.c:155)
3 libsystem_c.dylib 0x184b69aa4 abort + 192 (abort.c:126)
4 SourceKitService 0x1024bb790 swift::GenericSignatureImpl::getDependentUpperBounds(swift::Type) const (.cold.15) + 80
5 SourceKitService 0x1024b361c swift::GenericSignatureImpl::getDependentUpperBounds(swift::Type) const + 1540
6 SourceKitService 0x1025f32cc swift::ArchetypeType::getExistentialType() const + 140
7 SourceKitService 0x10187291c swift::ide::USRBasedType::fromType(swift::Type, swift::ide::USRBasedTypeArena&) + 140
8 SourceKitService 0x101872588 swift::ide::USRBasedTypeContext::USRBasedTypeContext(swift::ide::ExpectedTypeContext const*, swift::ide::USRBasedTypeArena&) + 156
9 SourceKitService 0x101869674 swift::ide::SimpleCachingCodeCompletionConsumer::handleResultsAndModules(swift::ide::CodeCompletionContext&, llvm::ArrayRef<swift::ide::RequestedCachedModule>, swift::ide::ExpectedTypeContext const*, swift::DeclContext const*, bool) + 1372
10 SourceKitService 0x101855904 swift::ide::deliverCompletionResults(swift::ide::CodeCompletionContext&, swift::ide::CompletionLookup&, swift::DeclContext*, swift::ide::CodeCompletionConsumer&) + 1504
11 SourceKitService 0x10185a9d8 (anonymous namespace)::CodeCompletionCallbacksImpl::doneParsing(swift::SourceFile*) + 5768
12 SourceKitService 0x1021b7904 swift::Parser::performIDEInspectionSecondPassImpl(swift::IDEInspectionDelayedDeclState&) + 588
13 SourceKitService 0x1021b75c8 swift::IDEInspectionSecondPassRequest::evaluate(swift::Evaluator&, swift::SourceFile*, swift::IDEInspectionCallbacksFactory*) const + 168
14 SourceKitService 0x1021bdcc4 llvm::Expected<swift::IDEInspectionSecondPassRequest::OutputType> swift::Evaluator::getResultUncached<swift::IDEInspectionSecondPassRequest>(swift::IDEInspectionSecondPassRequest const&) + 280
15 SourceKitService 0x1021b7440 swift::IDEInspectionSecondPassRequest::OutputType swift::evaluateOrDefault<swift::IDEInspectionSecondPassRequest>(swift::Evaluator&, swift::IDEInspectionSecondPassRequest, swift::IDEInspectionSecondPassRequest::OutputType) + 36
16 SourceKitService 0x100ab1234 void llvm::function_ref<void (swift::ide::IDEInspectionInstanceResult&, llvm::function_ref<void (swift::ide::CancellableResult<swift::ide::CodeCompleteResult>)>)>::callback_fn<swift::ide::IDEInspectionInstance::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::IDEInspectionInstanceResult>) const::'lambda'(auto&, auto)>(long, swift::ide::IDEInspectionInstanceResult&, llvm::function_ref<void (swift::ide::CancellableResult<swift::ide::CodeCompleteResult>)>) + 912
17 SourceKitService 0x100ab0ad0 void swift::ide::CancellableResult<swift::ide::IDEInspectionInstanceResult>::mapAsync<swift::ide::CodeCompleteResult>(llvm::function_ref<void (swift::ide::IDEInspectionInstanceResult&, llvm::function_ref<void (swift::ide::CancellableResult<swift::ide::CodeCompleteResult>)>)>, llvm::function_ref<void (swift::ide::CancellableResult<swift::ide::CodeCompleteResult>)>) + 84
18 SourceKitService 0x100ab0a18 void llvm::function_ref<void (swift::ide::CancellableResult<swift::ide::IDEInspectionInstanceResult>)>::callback_fn<swift::ide::IDEInspectionInstance::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::IDEInspectionInstanceResult>) + 128
19 SourceKitService 0x100aaf6cc llvm::function_ref<void (swift::ide::CancellableResult<swift::ide::IDEInspectionInstanceResult>)>::operator()(swift::ide::CancellableResult<swift::ide::IDEInspectionInstanceResult>) const + 104
20 SourceKitService 0x100aae9f0 swift::ide::IDEInspectionInstance::performCachedOperationIfPossible(llvm::hash_code, llvm::IntrusiveRefCntPtr<llvm::vfs::FileSystem>, swift::SearchPathOptions const&, llvm::MemoryBuffer*, unsigned int, swift::DiagnosticConsumer*, std::__1::shared_ptr<std::__1::atomic<bool>>, llvm::function_ref<void (swift::ide::CancellableResult<swift::ide::IDEInspectionInstanceResult>)>) + 3392
21 SourceKitService 0x100ab03b0 swift::ide::IDEInspectionInstance::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::IDEInspectionInstanceResult>)>) + 252
22 SourceKitService 0x100ab05b8 swift::ide::IDEInspectionInstance::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>)>) + 124
23 SourceKitService 0x100a6f780 void llvm::function_ref<void (SourceKit::SwiftLangSupport::CompletionLikeOperationParams&, llvm::function_ref<void (swift::ide::CancellableResult<swift::ide::CodeCompleteResult>)>)>::callback_fn<swiftCodeCompleteImpl(SourceKit::SwiftLangSupport&, llvm::MemoryBuffer*, unsigned int, llvm::ArrayRef<char const*>, llvm::IntrusiveRefCntPtr<llvm::vfs::FileSystem>, SourceKit::CodeCompletion::Options const&, void const*, llvm::function_ref<void (swift::ide::CancellableResult<swift::ide::CodeCompleteResult>)>)::$_0::operator()(swift::ide::CancellableResult<SourceKit::SwiftLangSupport::CompletionLikeOperationParams>) const::'lambda'(auto&, auto)>(long, SourceKit::SwiftLangSupport::CompletionLikeOperationParams&, llvm::function_ref<void (swift::ide::CancellableResult<swift::ide::CodeCompleteResult>)>) + 148
24 SourceKitService 0x100a6f0f4 void swift::ide::CancellableResult<SourceKit::SwiftLangSupport::CompletionLikeOperationParams>::mapAsync<swift::ide::CodeCompleteResult>(llvm::function_ref<void (SourceKit::SwiftLangSupport::CompletionLikeOperationParams&, llvm::function_ref<void (swift::ide::CancellableResult<swift::ide::CodeCompleteResult>)>)>, llvm::function_ref<void (swift::ide::CancellableResult<swift::ide::CodeCompleteResult>)>) + 84
25 SourceKitService 0x100a6f03c void llvm::function_ref<void (swift::ide::CancellableResult<SourceKit::SwiftLangSupport::CompletionLikeOperationParams>)>::callback_fn<swiftCodeCompleteImpl(SourceKit::SwiftLangSupport&, llvm::MemoryBuffer*, unsigned int, llvm::ArrayRef<char const*>, llvm::IntrusiveRefCntPtr<llvm::vfs::FileSystem>, SourceKit::CodeCompletion::Options const&, void const*, llvm::function_ref<void (swift::ide::CancellableResult<swift::ide::CodeCompleteResult>)>)::$_0>(long, swift::ide::CancellableResult<SourceKit::SwiftLangSupport::CompletionLikeOperationParams>) + 152
26 SourceKitService 0x100a7d548 SourceKit::SwiftLangSupport::performWithParamsToCompletionLikeOperation(llvm::MemoryBuffer*, unsigned int, bool, llvm::ArrayRef<char const*>, llvm::IntrusiveRefCntPtr<llvm::vfs::FileSystem>, void const*, llvm::function_ref<void (swift::ide::CancellableResult<SourceKit::SwiftLangSupport::CompletionLikeOperationParams>)>) + 3036
27 SourceKitService 0x100a6abf0 swiftCodeCompleteImpl(SourceKit::SwiftLangSupport&, llvm::MemoryBuffer*, unsigned int, llvm::ArrayRef<char const*>, llvm::IntrusiveRefCntPtr<llvm::vfs::FileSystem>, SourceKit::CodeCompletion::Options const&, void const*, llvm::function_ref<void (swift::ide::CancellableResult<swift::ide::CodeCompleteResult>)>) + 392
28 SourceKitService 0x100a6cb20 SourceKit::SwiftLangSupport::codeCompleteOpen(llvm::StringRef, llvm::MemoryBuffer*, unsigned int, SourceKit::OptionsDictionary*, llvm::ArrayRef<SourceKit::FilterRule>, SourceKit::GroupedCodeCompletionConsumer&, llvm::ArrayRef<char const*>, llvm::Optional<SourceKit::VFSOptions>, void const*) + 6852
29 SourceKitService 0x100a933fc std::__1::__function::__func<handleRequestCodeCompleteOpen(sourcekitd::RequestDict const&, void const*, std::__1::function<void (void*)>)::$_16, std::__1::allocator<handleRequestCodeCompleteOpen(sourcekitd::RequestDict const&, void const*, std::__1::function<void (void*)>)::$_16>, void ()>::operator()() + 1156
30 SourceKitService 0x100a92138 void SourceKit::WorkQueue::DispatchData::callAndDelete<handleSemanticRequest(sourcekitd::RequestDict const&, std::__1::function<void (void*)>, std::__1::function<void ()>)::$_8>(void*) + 36
31 libdispatch.dylib 0x184aac970 _dispatch_client_callout + 20 (object.m:560)
32 libdispatch.dylib 0x184ab03bc _dispatch_block_invoke_direct + 284 (queue.c:496)
33 SourceKitService 0x10694605c executeBlock(void*) + 28
34 SourceKitService 0x10694608c void* llvm::thread::ThreadProxy<std::__1::tuple<void (*)(void*), void*>>(void*) + 24
35 libsystem_pthread.dylib 0x184c5a034 _pthread_start + 136
36 libsystem_pthread.dylib 0x184c54e3c thread_start + 8
rdar://108835466
Metadata
Metadata
Assignees
Labels
Area → compiler: The libSwiftAST libraryArea → source tooling: code completionThe Swift compiler itselfBug: A crash, i.e., an abnormal termination of softwareFlag: An issue found by the SourceKit stress testerFeature: generic declarations and typesArea: IDE support, SourceKit, and other source tooling