Skip to content

[SR-7927] Crash with renamed objective-c initializer #50462

Open
@swift-ci

Description

@swift-ci
Previous ID SR-7927
Radar rdar://problem/40916837
Original Reporter vmagalhaes (JIRA User)
Type Bug

Attachment: Download

Environment

Xcode 10 Beta 1

Xcode 9.3

Xcode 9.4

It does not crash on 9.2

Additional Detail from JIRA
Votes 0
Component/s Compiler
Labels Bug, 4.1Regression, ClangImporter, CompilerCrash
Assignee None
Priority Medium

md5: b77ea6e63a849340bed99ac129b18b7a

Issue Description:

using NS_SWIFT_NAME in a given initializer causes assertions to fail.

Assertion failed: (Name.getBaseName() == DeclBaseName::createConstructor()), function ConstructorDecl, file /Users/buildnode/jenkins/workspace/oss-swift-package-osx/swift/lib/AST/Decl.cpp, line 5250.
0  swift                    0x000000010afba498 llvm::sys::PrintStackTrace(llvm::raw_ostream&) + 40
1  swift                    0x000000010afb96d7 llvm::sys::RunSignalHandlers() + 39
2  swift                    0x000000010afbab12 SignalHandler(int) + 258
3  libsystem_platform.dylib 0x00007fff7dd09f5a _sigtramp + 26
4  libsystem_platform.dylib 000000000000000000 _sigtramp + 2184143040
5  libsystem_c.dylib        0x00007fff7daa71ae abort + 127
6  libsystem_c.dylib        0x00007fff7da6f1ac basename_r + 0
7  swift                    0x00000001089a71a1 swift::ConstructorDecl::ConstructorDecl(swift::DeclName, swift::SourceLoc, swift::OptionalTypeKind, swift::SourceLoc, bool, swift::SourceLoc, swift::ParamDecl*, swift::ParameterList*, swift::GenericParamList*, swift::DeclContext*) + 225
8  swift                    0x00000001088303ff swift::ConstructorDecl* swift::ClangImporter::Implementation::createDeclWithClangNode<swift::ConstructorDecl, swift::DeclName, swift::SourceLoc, swift::OptionalTypeKind&, swift::SourceLoc, bool, swift::SourceLoc, swift::ParamDecl*&, swift::ParameterList*&, std::nullptr_t, swift::DeclContext*&>(swift::ClangNode, swift::AccessLevel, swift::DeclName&&, swift::SourceLoc&&, swift::OptionalTypeKind&&&, swift::SourceLoc&&, bool&&, swift::SourceLoc&&, swift::ParamDecl*&&&, swift::ParameterList*&&&, std::nullptr_t&&, swift::DeclContext*&&&) + 191
9  swift                    0x000000010882bec9 (anonymous namespace)::SwiftDeclConverter::importConstructor(clang::ObjCMethodDecl const*, swift::DeclContext*, bool, llvm::Optional<swift::CtorInitializerKind>, bool, swift::ObjCSelector, swift::importer::ImportedName, llvm::ArrayRef<clang::ParmVarDecl const*>, bool, bool&) + 5225
10 swift                    0x00000001088298d3 (anonymous namespace)::SwiftDeclConverter::importConstructor(clang::ObjCMethodDecl const*, swift::DeclContext*, bool, llvm::Optional<swift::CtorInitializerKind>, bool) + 851
11 swift                    0x0000000108827da8 (anonymous namespace)::SwiftDeclConverter::importObjCMethodDecl(clang::ObjCMethodDecl const*, swift::DeclContext*, bool, llvm::Optional<(anonymous namespace)::AccessorInfo>) + 104
12 swift                    0x000000010881f352 clang::declvisitor::Base<clang::declvisitor::make_const_ptr, (anonymous namespace)::SwiftDeclConverter, swift::Decl*>::Visit(clang::Decl const*) + 1378
13 swift                    0x000000010881e5dd swift::ClangImporter::Implementation::importDeclImpl(clang::NamedDecl const*, swift::importer::ImportNameVersion, bool&, bool&) + 285
14 swift                    0x0000000108822651 swift::ClangImporter::Implementation::importDeclAndCacheImpl(clang::NamedDecl const*, swift::importer::ImportNameVersion, bool) + 513
15 swift                    0x000000010884925f bool llvm::function_ref<bool (swift::importer::ImportedName, swift::importer::ImportNameVersion)>::callback_fn<swift::ClangImporter::Implementation::insertMembersAndAlternates(clang::NamedDecl const*, llvm::SmallVectorImpl<swift::Decl*>&)::$_3>(long, swift::importer::ImportedName, swift::importer::ImportNameVersion) + 47
16 swift                    0x0000000108855eb3 swift::importer::NameImporter::forEachDistinctImportName(clang::NamedDecl const*, swift::importer::ImportNameVersion, llvm::function_ref<bool (swift::importer::ImportedName, swift::importer::ImportNameVersion)>) + 195
17 swift                    0x0000000108826060 swift::ClangImporter::Implementation::collectMembersToAdd(clang::ObjCContainerDecl const*, swift::Decl*, swift::DeclContext*, llvm::SmallVectorImpl<swift::Decl*>&) + 304
18 swift                    0x00000001088258b2 swift::ClangImporter::Implementation::loadAllMembersOfObjcContainer(swift::Decl*, clang::ObjCContainerDecl const*) + 370
19 swift                    0x000000010882570f swift::ClangImporter::Implementation::loadAllMembers(swift::Decl*, unsigned long long) + 207
20 swift                    0x00000001089ac984 swift::IterableDeclContext::loadAllMembers() const + 100
21 swift                    0x00000001089ac90e swift::IterableDeclContext::getMembers() const + 14
22 swift                    0x00000001086840ac swift::TypeChecker::addImplicitConstructors(swift::NominalTypeDecl*) + 76
23 swift                    0x0000000108684776 swift::TypeChecker::addImplicitConstructors(swift::NominalTypeDecl*) + 1814
24 swift                    0x000000010868ddf9 (anonymous namespace)::DeclChecker::visitClassDecl(swift::ClassDecl*) + 2473
25 swift                    0x000000010867849c (anonymous namespace)::DeclChecker::visit(swift::Decl*) + 684
26 swift                    0x00000001086781e6 swift::TypeChecker::typeCheckDecl(swift::Decl*) + 38
27 swift                    0x0000000108713f18 swift::performTypeChecking(swift::SourceFile&, swift::TopLevelContext&, swift::OptionSet<swift::TypeCheckingFlags, unsigned int>, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int) + 1720
28 swift                    0x000000010834aa42 swift::CompilerInstance::parseAndCheckTypes(swift::CompilerInstance::ImplicitImports const&) + 834
29 swift                    0x000000010834a2a8 swift::CompilerInstance::performSema() + 472
30 swift                    0x00000001077b8532 performCompile(swift::CompilerInstance&, swift::CompilerInvocation&, llvm::ArrayRef<char const*>, int&, swift::FrontendObserver*, swift::UnifiedStatsReporter*) + 1410
31 swift                    0x00000001077b6f3d swift::performFrontend(llvm::ArrayRef<char const*>, char const*, void*, swift::FrontendObserver*) + 2973
32 swift                    0x00000001077725dd main + 2317
33 libdyld.dylib            0x00007fff7d9fb015 start + 1
Stack dump:
0. Program arguments: /Library/Developer/Toolchains/swift-DEVELOPMENT-SNAPSHOT-2018-06-06-a.xctoolchain/usr/bin/swift -frontend -c -primary-file /Users/vmagalhaes/work/SwiftInitConstructorCrash/SwiftInitConstructorCrash/SomeConsumer.swift -emit-module-path /Users/vmagalhaes/Library/Developer/Xcode/DerivedData/SwiftInitConstructorCrash-agiqluydycbhdkaujidmwpqdaeln/Build/Intermediates.noindex/SwiftInitConstructorCrash.build/Debug-iphonesimulator/SwiftInitConstructorCrash.build/Objects-normal/x86_64/SomeConsumer~partial.swiftmodule -emit-module-doc-path /Users/vmagalhaes/Library/Developer/Xcode/DerivedData/SwiftInitConstructorCrash-agiqluydycbhdkaujidmwpqdaeln/Build/Intermediates.noindex/SwiftInitConstructorCrash.build/Debug-iphonesimulator/SwiftInitConstructorCrash.build/Objects-normal/x86_64/SomeConsumer~partial.swiftdoc -serialize-diagnostics-path /Users/vmagalhaes/Library/Developer/Xcode/DerivedData/SwiftInitConstructorCrash-agiqluydycbhdkaujidmwpqdaeln/Build/Intermediates.noindex/SwiftInitConstructorCrash.build/Debug-iphonesimulator/SwiftInitConstructorCrash.build/Objects-normal/x86_64/SomeConsumer.dia -emit-dependencies-path /Users/vmagalhaes/Library/Developer/Xcode/DerivedData/SwiftInitConstructorCrash-agiqluydycbhdkaujidmwpqdaeln/Build/Intermediates.noindex/SwiftInitConstructorCrash.build/Debug-iphonesimulator/SwiftInitConstructorCrash.build/Objects-normal/x86_64/SomeConsumer.d -emit-reference-dependencies-path /Users/vmagalhaes/Library/Developer/Xcode/DerivedData/SwiftInitConstructorCrash-agiqluydycbhdkaujidmwpqdaeln/Build/Intermediates.noindex/SwiftInitConstructorCrash.build/Debug-iphonesimulator/SwiftInitConstructorCrash.build/Objects-normal/x86_64/SomeConsumer.swiftdeps -target x86_64-apple-ios12.0-simulator -enable-objc-interop -sdk /Applications/Xcode-beta.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator12.0.sdk -I /Users/vmagalhaes/Library/Developer/Xcode/DerivedData/SwiftInitConstructorCrash-agiqluydycbhdkaujidmwpqdaeln/Build/Products/Debug-iphonesimulator -F /Users/vmagalhaes/Library/Developer/Xcode/DerivedData/SwiftInitConstructorCrash-agiqluydycbhdkaujidmwpqdaeln/Build/Products/Debug-iphonesimulator -enable-testing -g -module-cache-path /Users/vmagalhaes/Library/Developer/Xcode/DerivedData/ModuleCache.noindex -swift-version 4.2 -enforce-exclusivity=checked -Onone -D DEBUG -serialize-debugging-options -Xcc -I/Users/vmagalhaes/Library/Developer/Xcode/DerivedData/SwiftInitConstructorCrash-agiqluydycbhdkaujidmwpqdaeln/Build/Intermediates.noindex/SwiftInitConstructorCrash.build/Debug-iphonesimulator/SwiftInitConstructorCrash.build/swift-overrides.hmap -Xcc -iquote -Xcc /Users/vmagalhaes/Library/Developer/Xcode/DerivedData/SwiftInitConstructorCrash-agiqluydycbhdkaujidmwpqdaeln/Build/Intermediates.noindex/SwiftInitConstructorCrash.build/Debug-iphonesimulator/SwiftInitConstructorCrash.build/SwiftInitConstructorCrash-generated-files.hmap -Xcc -I/Users/vmagalhaes/Library/Developer/Xcode/DerivedData/SwiftInitConstructorCrash-agiqluydycbhdkaujidmwpqdaeln/Build/Intermediates.noindex/SwiftInitConstructorCrash.build/Debug-iphonesimulator/SwiftInitConstructorCrash.build/SwiftInitConstructorCrash-own-target-headers.hmap -Xcc -I/Users/vmagalhaes/Library/Developer/Xcode/DerivedData/SwiftInitConstructorCrash-agiqluydycbhdkaujidmwpqdaeln/Build/Intermediates.noindex/SwiftInitConstructorCrash.build/Debug-iphonesimulator/SwiftInitConstructorCrash.build/SwiftInitConstructorCrash-all-target-headers.hmap -Xcc -iquote -Xcc /Users/vmagalhaes/Library/Developer/Xcode/DerivedData/SwiftInitConstructorCrash-agiqluydycbhdkaujidmwpqdaeln/Build/Intermediates.noindex/SwiftInitConstructorCrash.build/Debug-iphonesimulator/SwiftInitConstructorCrash.build/SwiftInitConstructorCrash-project-headers.hmap -Xcc -I/Users/vmagalhaes/Library/Developer/Xcode/DerivedData/SwiftInitConstructorCrash-agiqluydycbhdkaujidmwpqdaeln/Build/Products/Debug-iphonesimulator/include -Xcc -I/Users/vmagalhaes/Library/Developer/Xcode/DerivedData/SwiftInitConstructorCrash-agiqluydycbhdkaujidmwpqdaeln/Build/Intermediates.noindex/SwiftInitConstructorCrash.build/Debug-iphonesimulator/SwiftInitConstructorCrash.build/DerivedSources/x86_64 -Xcc -I/Users/vmagalhaes/Library/Developer/Xcode/DerivedData/SwiftInitConstructorCrash-agiqluydycbhdkaujidmwpqdaeln/Build/Intermediates.noindex/SwiftInitConstructorCrash.build/Debug-iphonesimulator/SwiftInitConstructorCrash.build/DerivedSources -Xcc -DDEBUG=1 -Xcc -working-directory/Users/vmagalhaes/work/SwiftInitConstructorCrash -import-objc-header /Users/vmagalhaes/work/SwiftInitConstructorCrash/SwiftInitConstructorCrash/SwiftInitConstructorCrash-Bridging-Header.h -pch-output-dir /Users/vmagalhaes/Library/Developer/Xcode/DerivedData/SwiftInitConstructorCrash-agiqluydycbhdkaujidmwpqdaeln/Build/Intermediates.noindex/PrecompiledHeaders -parse-as-library -module-name SwiftInitConstructorCrash -o /Users/vmagalhaes/Library/Developer/Xcode/DerivedData/SwiftInitConstructorCrash-agiqluydycbhdkaujidmwpqdaeln/Build/Intermediates.noindex/SwiftInitConstructorCrash.build/Debug-iphonesimulator/SwiftInitConstructorCrash.build/Objects-normal/x86_64/SomeConsumer.o -index-store-path /Users/vmagalhaes/Library/Developer/Xcode/DerivedData/SwiftInitConstructorCrash-agiqluydycbhdkaujidmwpqdaeln/Index/DataStore -index-system-modules
1. While type-checking 'SomeConsumer' at /Users/vmagalhaes/work/SwiftInitConstructorCrash/SwiftInitConstructorCrash/SomeConsumer.swift:11:1
2. /Users/vmagalhaes/work/SwiftInitConstructorCrash/SwiftInitConstructorCrash/SomeObjc.h:11:12: loading members for 'SomeObjc'
3. /Users/vmagalhaes/work/SwiftInitConstructorCrash/SwiftInitConstructorCrash/SomeObjc.h:13:1: importing 'SomeObjc::initWithMenuPlaceholder'
error: Abort trap: 6

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugA deviation from expected or documented behavior. Also: expected but undesirable behavior.compilerThe Swift compiler itselfcrashBug: A crash, i.e., an abnormal termination of softwareregressionswift 4.1

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions