Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[SR-13734] Segfault on let t: Error.Type = Error.self #56131

Closed
swift-ci opened this issue Oct 14, 2020 · 2 comments
Closed

[SR-13734] Segfault on let t: Error.Type = Error.self #56131

swift-ci opened this issue Oct 14, 2020 · 2 comments
Labels
bug A deviation from expected or documented behavior. Also: expected but undesirable behavior.

Comments

@swift-ci
Copy link
Collaborator

Previous ID SR-13734
Radar rdar://problem/70338670
Original Reporter mpokhylets (JIRA User)
Type Bug
Status Resolved
Resolution Done
Environment

Xcode 12.0.1 (12A7300)
Apple Swift version 5.3 (swiftlang-1200.0.29.2 clang-1200.0.30.1)
Target: x86_64-apple-darwin19.6.0

Additional Detail from JIRA
Votes 0
Component/s
Labels Bug
Assignee None
Priority Medium

md5: 74dcfc119f61aab80efde1dda52db9d0

Issue Description:

Error protocol is self-conformant, which means that it should be possible to implicitly cast `Error.self` to `Error.Type`, and `Error.Protocol` is a subtype of `Error.Type`. But the line from the subj is crashing compiler.

Stack dump:
0.  Program arguments: /Applications/Xcode-12.0.1.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swift -frontend -c -primary-file /Users/npohilets/git_tree/Probes/SelfConformanceMetatypes/SelfConformanceMetatypes/main.swift -emit-module-path /Users/npohilets/Library/Developer/Xcode/DerivedData/SelfConformanceMetatypes-farvdnpueqorascfaagruerqrvic/Build/Intermediates.noindex/SelfConformanceMetatypes.build/Debug/SelfConformanceMetatypes.build/Objects-normal/x86_64/main~partial.swiftmodule -emit-module-doc-path /Users/npohilets/Library/Developer/Xcode/DerivedData/SelfConformanceMetatypes-farvdnpueqorascfaagruerqrvic/Build/Intermediates.noindex/SelfConformanceMetatypes.build/Debug/SelfConformanceMetatypes.build/Objects-normal/x86_64/main~partial.swiftdoc -emit-module-source-info-path /Users/npohilets/Library/Developer/Xcode/DerivedData/SelfConformanceMetatypes-farvdnpueqorascfaagruerqrvic/Build/Intermediates.noindex/SelfConformanceMetatypes.build/Debug/SelfConformanceMetatypes.build/Objects-normal/x86_64/main~partial.swiftsourceinfo -serialize-diagnostics-path /Users/npohilets/Library/Developer/Xcode/DerivedData/SelfConformanceMetatypes-farvdnpueqorascfaagruerqrvic/Build/Intermediates.noindex/SelfConformanceMetatypes.build/Debug/SelfConformanceMetatypes.build/Objects-normal/x86_64/main.dia -emit-dependencies-path /Users/npohilets/Library/Developer/Xcode/DerivedData/SelfConformanceMetatypes-farvdnpueqorascfaagruerqrvic/Build/Intermediates.noindex/SelfConformanceMetatypes.build/Debug/SelfConformanceMetatypes.build/Objects-normal/x86_64/main.d -emit-reference-dependencies-path /Users/npohilets/Library/Developer/Xcode/DerivedData/SelfConformanceMetatypes-farvdnpueqorascfaagruerqrvic/Build/Intermediates.noindex/SelfConformanceMetatypes.build/Debug/SelfConformanceMetatypes.build/Objects-normal/x86_64/main.swiftdeps -target x86_64-apple-macos10.15 -enable-objc-interop -stack-check -sdk /Applications/Xcode-12.0.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk -I /Users/npohilets/Library/Developer/Xcode/DerivedData/SelfConformanceMetatypes-farvdnpueqorascfaagruerqrvic/Build/Products/Debug -F /Users/npohilets/Library/Developer/Xcode/DerivedData/SelfConformanceMetatypes-farvdnpueqorascfaagruerqrvic/Build/Products/Debug -enable-testing -g -module-cache-path /Users/npohilets/Library/Developer/Xcode/DerivedData/ModuleCache.noindex -swift-version 5 -enforce-exclusivity=checked -Onone -D DEBUG -serialize-debugging-options -Xcc -working-directory -Xcc /Users/npohilets/git_tree/Probes/SelfConformanceMetatypes -enable-anonymous-context-mangled-names -Xcc -I/Users/npohilets/Library/Developer/Xcode/DerivedData/SelfConformanceMetatypes-farvdnpueqorascfaagruerqrvic/Build/Intermediates.noindex/SelfConformanceMetatypes.build/Debug/SelfConformanceMetatypes.build/swift-overrides.hmap -Xcc -iquote -Xcc /Users/npohilets/Library/Developer/Xcode/DerivedData/SelfConformanceMetatypes-farvdnpueqorascfaagruerqrvic/Build/Intermediates.noindex/SelfConformanceMetatypes.build/Debug/SelfConformanceMetatypes.build/SelfConformanceMetatypes-generated-files.hmap -Xcc -I/Users/npohilets/Library/Developer/Xcode/DerivedData/SelfConformanceMetatypes-farvdnpueqorascfaagruerqrvic/Build/Intermediates.noindex/SelfConformanceMetatypes.build/Debug/SelfConformanceMetatypes.build/SelfConformanceMetatypes-own-target-headers.hmap -Xcc -I/Users/npohilets/Library/Developer/Xcode/DerivedData/SelfConformanceMetatypes-farvdnpueqorascfaagruerqrvic/Build/Intermediates.noindex/SelfConformanceMetatypes.build/Debug/SelfConformanceMetatypes.build/SelfConformanceMetatypes-all-target-headers.hmap -Xcc -iquote -Xcc /Users/npohilets/Library/Developer/Xcode/DerivedData/SelfConformanceMetatypes-farvdnpueqorascfaagruerqrvic/Build/Intermediates.noindex/SelfConformanceMetatypes.build/Debug/SelfConformanceMetatypes.build/SelfConformanceMetatypes-project-headers.hmap -Xcc -I/Users/npohilets/Library/Developer/Xcode/DerivedData/SelfConformanceMetatypes-farvdnpueqorascfaagruerqrvic/Build/Products/Debug/include -Xcc -I/Users/npohilets/Library/Developer/Xcode/DerivedData/SelfConformanceMetatypes-farvdnpueqorascfaagruerqrvic/Build/Intermediates.noindex/SelfConformanceMetatypes.build/Debug/SelfConformanceMetatypes.build/DerivedSources-normal/x86_64 -Xcc -I/Users/npohilets/Library/Developer/Xcode/DerivedData/SelfConformanceMetatypes-farvdnpueqorascfaagruerqrvic/Build/Intermediates.noindex/SelfConformanceMetatypes.build/Debug/SelfConformanceMetatypes.build/DerivedSources/x86_64 -Xcc -I/Users/npohilets/Library/Developer/Xcode/DerivedData/SelfConformanceMetatypes-farvdnpueqorascfaagruerqrvic/Build/Intermediates.noindex/SelfConformanceMetatypes.build/Debug/SelfConformanceMetatypes.build/DerivedSources -Xcc -DDEBUG=1 -target-sdk-version 10.15.6 -module-name SelfConformanceMetatypes -o /Users/npohilets/Library/Developer/Xcode/DerivedData/SelfConformanceMetatypes-farvdnpueqorascfaagruerqrvic/Build/Intermediates.noindex/SelfConformanceMetatypes.build/Debug/SelfConformanceMetatypes.build/Objects-normal/x86_64/main.o -index-store-path /Users/npohilets/Library/Developer/Xcode/DerivedData/SelfConformanceMetatypes-farvdnpueqorascfaagruerqrvic/Index/DataStore -index-system-modules 
1.  Apple Swift version 5.3 (swiftlang-1200.0.29.2 clang-1200.0.30.1)
2.  While evaluating request IRGenSourceFileRequest(IR Generation for file "/Users/npohilets/git_tree/Probes/SelfConformanceMetatypes/SelfConformanceMetatypes/main.swift")
3.  While emitting IR SIL function "@main".
0  swift                    0x0000000113f4e865 llvm::sys::PrintStackTrace(llvm::raw_ostream&) + 37
1  swift                    0x0000000113f4d865 llvm::sys::RunSignalHandlers() + 85
2  swift                    0x0000000113f4ee1f SignalHandler(int) + 111
3  libsystem_platform.dylib 0x00007fff6a2b95fd _sigtramp + 29
4  libsystem_platform.dylib 0x0000000116195000 _sigtramp + 18446603343400647200
5  swift                    0x0000000110d5dc5f swift::GenericSignatureImpl::getConformanceAccessPath(swift::Type, swift::ProtocolDecl*) + 31
6  swift                    0x000000010fcce944 swift::irgen::emitArchetypeWitnessTableRef(swift::irgen::IRGenFunction&, swift::CanTypeWrapper<swift::ArchetypeType>, swift::ProtocolDecl*) + 372
7  swift                    0x000000010fd911a6 forEachProtocolWitnessTable(swift::irgen::IRGenFunction&, swift::CanType, llvm::Value**, swift::CanType, llvm::ArrayRef<swift::ProtocolDecl const*>, llvm::ArrayRef<swift::ProtocolConformanceRef>, llvm::function_ref<void (unsigned int, llvm::Value*)>) + 470
8  swift                    0x000000010fd914b2 swift::irgen::emitExistentialMetatypeContainer(swift::irgen::IRGenFunction&, swift::irgen::Explosion&, swift::SILType, llvm::Value*, swift::SILType, llvm::ArrayRef<swift::ProtocolConformanceRef>) + 194
9  swift                    0x000000010feaefde swift::SILInstructionVisitor<(anonymous namespace)::IRGenSILFunction, void>::visit(swift::SILInstruction*) + 24222
10 swift                    0x000000010fea4c26 swift::irgen::IRGenModule::emitSILFunction(swift::SILFunction*) + 8982
11 swift                    0x000000010fd3edc7 swift::irgen::IRGenerator::emitGlobalTopLevel(llvm::StringSet<llvm::MallocAllocator>*) + 1607
12 swift                    0x000000010fe799d7 performIRGeneration(swift::IRGenOptions const&, swift::ModuleDecl*, std::__1::unique_ptr<swift::SILModule, std::__1::default_delete<swift::SILModule> >, llvm::StringRef, swift::PrimarySpecificPaths const&, llvm::StringRef, swift::SourceFile*, llvm::GlobalVariable**, llvm::StringSet<llvm::MallocAllocator>*) + 1687
13 swift                    0x000000010fea2681 swift::SimpleRequest<swift::IRGenSourceFileRequest, swift::GeneratedModule (swift::IRGenDescriptor), (swift::RequestFlags)9>::evaluateRequest(swift::IRGenSourceFileRequest const&, swift::Evaluator&) + 97
14 swift                    0x000000010fe7ddec llvm::Expected<swift::IRGenSourceFileRequest::OutputType> swift::Evaluator::getResultUncached<swift::IRGenSourceFileRequest>(swift::IRGenSourceFileRequest const&) + 940
15 swift                    0x000000010fe7a03d swift::performIRGeneration(swift::IRGenOptions const&, swift::SourceFile&, std::__1::unique_ptr<swift::SILModule, std::__1::default_delete<swift::SILModule> >, llvm::StringRef, swift::PrimarySpecificPaths const&, llvm::StringRef, llvm::GlobalVariable**, llvm::StringSet<llvm::MallocAllocator>*) + 269
16 swift                    0x000000010fac5d3a performCompileStepsPostSILGen(swift::CompilerInstance&, swift::CompilerInvocation const&, std::__1::unique_ptr<swift::SILModule, std::__1::default_delete<swift::SILModule> >, llvm::PointerUnion<swift::ModuleDecl*, swift::SourceFile*>, swift::PrimarySpecificPaths const&, int&, swift::FrontendObserver*) + 3002
17 swift                    0x000000010fab5928 swift::performFrontend(llvm::ArrayRef<char const*>, char const*, void*, swift::FrontendObserver*) + 20712
18 swift                    0x000000010fa36c07 main + 1255
19 libdyld.dylib            0x00007fff6a0c0cc9 start + 1
error: Segmentation fault: 11 (in target 'SelfConformanceMetatypes' from project 'SelfConformanceMetatypes')
@typesanitizer
Copy link

@swift-ci create

@slavapestov
Copy link
Member

#36918

@swift-ci swift-ci transferred this issue from apple/swift-issues Apr 25, 2022
This issue was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug A deviation from expected or documented behavior. Also: expected but undesirable behavior.
Projects
None yet
Development

No branches or pull requests

3 participants