swiftlang / swift

The Swift Programming Language
https://swift.org
Apache License 2.0
67.49k stars 10.35k forks source link

Assertion failed: (false && "Refactor this") #76561

Open tayloraswift opened 1 month ago

tayloraswift commented 1 month ago

Description

Assertion failed: (false && "Refactor this"), function operator(), file IDETypeChecking.cpp, line 381.
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace.

Reproduction

/Library/Developer/Toolchains/swift-6.0-RELEASE.xctoolchain/usr/bin/swift-symbolgraph-extract \ 
    -module-name Foundation \
    -target arm64-apple-macosx14.0 \
    -output-dir $OUTPUT \
    -minimum-access-level internal \
    -include-spi-symbols \
    -skip-inherited-docs \
     -sdk /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk \
    -pretty-print

Stack dump

Stack dump:
0.  Program arguments: /Library/Developer/Toolchains/swift-6.0-RELEASE.xctoolchain/usr/bin/swift-symbolgraph-extract -module-name Foundation -target arm64-apple-macosx14.0 -output-dir /Users/runner/work/swift-unidoc/swift-unidoc/.testing/cache/swift -minimum-access-level internal -include-spi-symbols -skip-inherited-docs -sdk /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk -pretty-print
1.  Apple Swift version 6.0 (swift-6.0-RELEASE)
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-frontend           0x0000000107fd1e28 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) + 56
1  swift-frontend           0x0000000107fd05f4 llvm::sys::RunSignalHandlers() + 112
2  swift-frontend           0x0000000107fd2470 SignalHandler(int) + 304
3  libsystem_platform.dylib 0x00000001885d2584 _sigtramp + 56
4  libsystem_pthread.dylib  0x00000001885a1c20 pthread_kill + 288
5  libsystem_c.dylib        0x00000001884aea30 abort + 180
6  libsystem_c.dylib        0x00000001884add20 err + 0
7  swift-frontend           0x000000010829f06c swift::SynthesizedExtensionAnalyzer::Implementation::isApplicable(swift::ExtensionDecl*, bool, swift::ExtensionDecl*, swift::NormalProtocolConformance*)::'lambda'(swift::SubstitutionMap, swift::ExtensionDecl*, llvm::ArrayRef<swift::Requirement>)::operator()(swift::SubstitutionMap, swift::ExtensionDecl*, llvm::ArrayRef<swift::Requirement>) const (.cold.8) + 0
8  swift-frontend           0x00000001037cdba0 swift::SynthesizedExtensionAnalyzer::Implementation::isApplicable(swift::ExtensionDecl*, bool, swift::ExtensionDecl*, swift::NormalProtocolConformance*)::'lambda'(swift::SubstitutionMap, swift::ExtensionDecl*, llvm::ArrayRef<swift::Requirement>)::operator()(swift::SubstitutionMap, swift::ExtensionDecl*, llvm::ArrayRef<swift::Requirement>) const + 652
9  swift-frontend           0x00000001037cd5b4 swift::SynthesizedExtensionAnalyzer::Implementation::isApplicable(swift::ExtensionDecl*, bool, swift::ExtensionDecl*, swift::NormalProtocolConformance*) + 464
10 swift-frontend           0x00000001037ccef8 swift::SynthesizedExtensionAnalyzer::Implementation::collectSynthesizedExtensionInfo(std::__1::vector<swift::SynthesizedExtensionAnalyzer::Implementation::ExtensionMergeGroup, std::__1::allocator<swift::SynthesizedExtensionAnalyzer::Implementation::ExtensionMergeGroup>>&)::'lambda'(swift::ExtensionDecl*, bool, swift::ExtensionDecl*, swift::NormalProtocolConformance*)::operator()(swift::ExtensionDecl*, bool, swift::ExtensionDecl*, swift::NormalProtocolConformance*) const + 164
11 swift-frontend           0x00000001037cc7c8 swift::SynthesizedExtensionAnalyzer::Implementation::collectSynthesizedExtensionInfo(std::__1::vector<swift::SynthesizedExtensionAnalyzer::Implementation::ExtensionMergeGroup, std::__1::allocator<swift::SynthesizedExtensionAnalyzer::Implementation::ExtensionMergeGroup>>&) + 576
12 swift-frontend           0x00000001037cbdc4 swift::SynthesizedExtensionAnalyzer::SynthesizedExtensionAnalyzer(swift::NominalTypeDecl*, swift::PrintOptions, bool) + 156
13 swift-frontend           0x00000001037a4de4 swift::symbolgraphgen::SymbolGraph::recordConformanceSynthesizedMemberRelationships(swift::symbolgraphgen::Symbol) + 292
14 swift-frontend           0x00000001037a4a48 swift::symbolgraphgen::SymbolGraph::recordNode(swift::symbolgraphgen::Symbol) + 116
15 swift-frontend           0x00000001037ad5b8 swift::symbolgraphgen::SymbolGraphASTWalker::walkToDeclPre(swift::Decl*, swift::CharSourceRange) + 732
16 swift-frontend           0x00000001037eab2c (anonymous namespace)::SemaAnnotator::walkToDeclPre(swift::Decl*) + 1904
17 swift-frontend           0x0000000104199064 (anonymous namespace)::Traversal::doIt(swift::Decl*) + 252
18 swift-frontend           0x000000010419c664 (anonymous namespace)::Traversal::visit(swift::Decl*) + 2912
19 swift-frontend           0x0000000104199088 (anonymous namespace)::Traversal::doIt(swift::Decl*) + 288
20 swift-frontend           0x0000000104198f5c swift::Decl::walk(swift::ASTWalker&) + 32
21 swift-frontend           0x00000001037e9404 swift::SourceEntityWalker::walk(swift::Decl*) + 200
22 swift-frontend           0x00000001037ac2dc swift::symbolgraphgen::emitSymbolGraphForModule(swift::ModuleDecl*, swift::symbolgraphgen::SymbolGraphOptions const&) + 468
23 swift-frontend           0x00000001029940ac swift_symbolgraph_extract_main(llvm::ArrayRef<char const*>, char const*, void*) + 6712
24 swift-frontend           0x000000010293d6e8 swift::mainEntry(int, char const**) + 8640
25 dyld                     0x0000000188217154 start + 2476

Expected behavior

it should not crash

Environment

Apple Swift version 6.0 (swift-6.0-RELEASE) Target: arm64-apple-macosx14.0

Additional information

No response

slavapestov commented 1 week ago

I'm sorry:

d27231a91cb8 (Slava Pestov          2023-03-16 21:33:49 -0400  376)         case CheckRequirementResult::ConditionalConformance:
d27231a91cb8 (Slava Pestov          2023-03-16 21:33:49 -0400  377)           // FIXME: Need to handle conditional requirements here!
d27231a91cb8 (Slava Pestov          2023-03-16 21:33:49 -0400  378)           break;
d27231a91cb8 (Slava Pestov          2023-03-16 21:33:49 -0400  379) 
b6b51cf4cfbb (Slava Pestov          2023-03-17 17:48:35 -0400  380)         case CheckRequirementResult::PackRequirement:
b6b51cf4cfbb (Slava Pestov          2023-03-17 17:48:35 -0400  381)           // FIXME
b6b51cf4cfbb (Slava Pestov          2023-03-17 17:48:35 -0400  382)           assert(false && "Refactor this");
b6b51cf4cfbb (Slava Pestov          2023-03-17 17:48:35 -0400  383)           return true;
slavapestov commented 1 week ago

That PR fixes the crash with Foundation. I'll come up with a reduced test case