Ошибка сегментации: 11 (в целевой «X iOS» из проекта «X») [Xcode 11.4 / 11.4.1] - PullRequest
1 голос
/ 06 мая 2020

Итак, многие люди уже просили исправить эту проблему, и я испробовал все предлагаемые исправления, такие как включение возможности тестирования или отключение оптимизации компиляции.

Env : iOS с несколькими модулями меньшего размера, один из которых предназначен как для iOS, так и для watchOS. цели watchOS собираются нормально, но сборка iOS завершается неудачей с segfault 11. Он не может скомпилироваться в конфигурациях сборки DEBUG и RELEASE.

обзор рабочего пространства

  • основное приложение iOS/watchOS/extensions/etc. imports X, Y, Z, pods
  • модуль X iOS/watchOS [Segfault11 when compiling iOS target]
  • модуль Y iOS imports X
  • модуль Z iOS imports X, Y
  • бобы

Дамп стека:

1.  Apple Swift version 5.2.2 (swiftlang-1103.0.32.6 clang-1103.0.32.51)
2.  While generating SIL witness table protocol conformance to 'Hashable' (in module 'Swift') for type 'NSNotification.Name'
3.  While generating protocol witness thunk SIL function "@$sSo18NSNotificationNameaSHSCSH4hash4intoys6HasherVz_tFTW".
 for 'hash(into:)' (in module 'Foundation')
4.  While emitting SIL for 'hash(into:)' (in module 'Foundation')
5.  While silgen emitFunction SIL function "@$sSo18NSNotificationNamea4hash4intoys6HasherVz_tF".
 for 'hash(into:)' (in module 'Foundation')
0  swift                    0x0000000106f0b4ea PrintStackTraceSignalHandler(void*) + 42
1  swift                    0x0000000106f0acc0 SignalHandler(int) + 352
2  libsystem_platform.dylib 0x00007fff712955fd _sigtramp + 29
3  libsystem_platform.dylib 0x00007fe5cdd76a50 _sigtramp + 1554912368
4  swift                    0x0000000103158ebe swift::ASTVisitor<(anonymous namespace)::StmtEmitter, void, void, void, void, void, void>::visit(swift::Stmt*) + 382
5  swift                    0x000000010310bb4f swift::Lowering::SILGenFunction::emitFunction(swift::FuncDecl*) + 799
6  swift                    0x0000000103071d29 swift::Lowering::SILGenModule::emitFunction(swift::FuncDecl*) + 953
7  swift                    0x0000000103070958 swift::Lowering::SILGenModule::getFunction(swift::SILDeclRef, swift::ForDefinition_t) + 1368
8  swift                    0x0000000103164b35 swift::Lowering::SILGenFunction::emitGlobalFunctionRef(swift::SILLocation, swift::SILDeclRef, swift::Lowering::SILConstantInfo, bool) + 485
9  swift                    0x0000000103153e5b swift::Lowering::SILGenFunction::emitProtocolWitness(swift::Lowering::AbstractionPattern, swift::CanTypeWrapper<swift::AnyFunctionType>, swift::SILDeclRef, swift::SubstitutionMap, swift::SILDeclRef, swift::SubstitutionMap, swift::Lowering::IsFreeFunctionWitness_t, bool) + 2507
10 swift                    0x0000000103167a8e swift::Lowering::SILGenModule::emitProtocolWitness(swift::ProtocolConformanceRef, swift::SILLinkage, swift::IsSerialized_t, swift::SILDeclRef, swift::SILDeclRef, swift::Lowering::IsFreeFunctionWitness_t, swift::Witness) + 2686
11 swift                    0x0000000103166f96 (anonymous namespace)::SILGenWitnessTable<(anonymous namespace)::SILGenConformance>::addMethod(swift::SILDeclRef) + 902
12 swift                    0x000000010316654d swift::SILWitnessVisitor<(anonymous namespace)::SILGenConformance>::visitProtocolDecl(swift::ProtocolDecl*) + 1805
13 swift                    0x0000000103165af6 swift::Lowering::SILGenModule::getWitnessTable(swift::NormalProtocolConformance*) + 550
14 swift                    0x000000010307d6c2 swift::SILModule::constructSIL(swift::ModuleDecl*, swift::Lowering::TypeConverter&, swift::SILOptions&, swift::FileUnit*) + 2242
15 swift                    0x0000000102c5ee9b swift::performFrontend(llvm::ArrayRef<char const*>, char const*, void*, swift::FrontendObserver*) + 55595
16 swift                    0x0000000102bd4f53 main + 1283
17 libdyld.dylib            0x00007fff7109ccc9 start + 1
18 libdyld.dylib            0x00000000000000fe start + 2398499894
error: Segmentation fault: 11 (in target 'X iOS' from project 'X')

Проект отлично строится с Xcode 11.3.1

Пробные решения из этих потоков [ничего не помогает]:

Я также отправил отзыв в Apple 26 марта (FB7640933) и не получил ответа ...

1 Ответ

0 голосов
/ 06 мая 2020

Итак, я думаю, что выяснил, что было причиной проблем. Удаление этого кода привело к правильной сборке модуля.

extension Hashable where Self: RawRepresentable, Self.RawValue == String {
    public func hash(into hasher: inout Hasher) {
        hasher.combine(rawValue)
    }
}
...