When I get into these situations, I never find myself using our DTS incidents, 
but that’s what they’re for. If you have any left, it’s always a good option to 
look into.


Jeff Kelley

slauncha...@gmail.com | @SlaunchaMan <https://twitter.com/SlaunchaMan> | 
jeffkelley.org <http://jeffkelley.org/>
> On Oct 24, 2016, at 5:25 PM, Evan Maloney via swift-users 
> <swift-users@swift.org> wrote:
> 
> I'm a bit depressed to report that our codebase still crashes the Swift 
> compiler in the version of Xcode released today. And since we're not using 
> ObjC generics, the issue isn't related to the radar below.
> 
> Do I have any other option other than (1) spending who knows how long 
> attempting to rewrite our codebase of hundreds of files until the Swift 
> compiler hopefully doesn't crash, or (2) waiting who knows how long for 
> another version of Xcode that may still crash anyway (like this one)?
> 
> It is very frustrating that Apple is encouraging developers to adopt the 
> latest version of Swift, and when we spend considerable time and effort 
> updating, only to end up completely dead in the water after doing so. We're 
> an online retailer hoping to update our app for the holiday season, and all 
> the Swift 3 work that we've done since August is basically a waste. At this 
> point, I don't know how we ship in time, since I am familiar enough with 
> Apple's Xcode release cadence to assume that there will not be another Xcode 
> release that fixes this problem before mid-November, which is when we'd need 
> to submit our app to have it ready in time.
> 
> I should note that we've hit some variation of this problem with virtually 
> every major Xcode beta cycle since Swift 2.0, where our code crashes the 
> Swift compiler. I've always diligently filed radars, and the problems have 
> gotten fixed. (Joe, you may recall that you even helped me with this exact 
> sort of problem at WWDC this year.) But every time it happens, it's a 
> nerve-wracking experience because I just have to wait and hope that Apple 
> fixes it before our submission deadline. In the past, we've gotten lucky, and 
> Apple has fixed the problem in time.
> 
> I guess we finally got unlucky this time.
> 
> I have to say, I've dealt with many different platforms and compilers over 
> the years, from MPW to CodeWarrior, to Microsoft Visual C++, to various Java 
> IDEs, and I've never coded on a platform where the compiler crashes so 
> regularly. I'm beginning to wonder whether my enthusiasm about Swift is 
> misplaced. I was never beholden to Apple's bugfix schedule when shipping 
> Objective-C apps.
> 
> Are we just having really bad luck with the Swift compiler, or is this 
> happening to other people as well?
> 
> 
> 
>> On Oct 21, 2016, at 5:29 PM, Joe Groff <jgr...@apple.com 
>> <mailto:jgr...@apple.com>> wrote:
>> 
>> We discovered a problem recently where we would miscompile when imported 
>> ObjC lightweight generic classes are extended to conform to Swift protocols. 
>> This is being tracked by Apple as rdar://problem/28873860 
>> <rdar://problem/28873860>, for reference, and should be release noted in 
>> upcoming Xcode seeds. If you happen to be extending any ObjC generic classes 
>> to conform to Swift protocols, there are a couple of workarounds that may 
>> work:
>> 
>> - making the protocol @objc, if possible, or
>> - wrapping the ObjC class reference in a generic struct, and making that 
>> struct conform to the protocol instead of the class.
>> 
>> Does that help at all?
>> 
>> -Joe
>> 
>>> On Oct 21, 2016, at 9:44 AM, Evan Maloney via swift-users 
>>> <swift-users@swift.org <mailto:swift-users@swift.org>> wrote:
>>> 
>>> This is definitely not my first time hitting Swift compiler crashes :)
>>> 
>>> In the past, the stack traces have been helpful, pointing to what code the 
>>> compiler was working on when it crashed. Unfortunately, this latest crash 
>>> doesn't fall into that category:
>>> 
>>> CompileSwift normal x86_64 
>>> /Users/emaloney/Documents/Code/CleanroomProject/AppleTart/Sources/iOS/FormBuilder/Row.swift
>>>     cd /Users/emaloney/Documents/Code/CleanroomProject/AppleTart
>>>     
>>> /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swift
>>>  -frontend -c -filelist 
>>> /var/folders/gn/gt76_ktx7w1010xg4v68p3txynz8ws/T/sources-a27d97 
>>> -primary-file 
>>> /Users/emaloney/Documents/Code/CleanroomProject/AppleTart/Sources/iOS/FormBuilder/Row.swift
>>>  -target x86_64-apple-ios9.0 -enable-objc-interop -sdk 
>>> /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator10.0.sdk
>>>  -I 
>>> /Users/emaloney/Library/Developer/Xcode/DerivedData/AppleTart-gydtadecugkemlbxcybcwsxuynku/Build/Products/Debug-iphonesimulator
>>>  -F 
>>> /Users/emaloney/Library/Developer/Xcode/DerivedData/AppleTart-gydtadecugkemlbxcybcwsxuynku/Build/Products/Debug-iphonesimulator
>>>  -F 
>>> /Users/emaloney/Documents/Code/CleanroomProject/AppleTart/Carthage/Checkouts/AppleApiDocClients/build/Debug
>>>  -F 
>>> /Users/emaloney/Documents/Code/CleanroomProject/AppleTart/Carthage/Checkouts/AppleTapstreamClient/build/Debug
>>>  -F 
>>> /Users/emaloney/Documents/Code/CleanroomProject/AppleTart/Carthage/Checkouts/PromiseKit/build/Debug
>>>  -enable-testing -g -import-objc-header 
>>> /Users/emaloney/Documents/Code/CleanroomProject/AppleTart/BuildControl/Bridging-Header.h
>>>  -module-cache-path 
>>> /Users/emaloney/Library/Developer/Xcode/DerivedData/ModuleCache -D DEBUG 
>>> -serialize-debugging-options -Xcc 
>>> -I/Users/emaloney/Library/Developer/Xcode/DerivedData/AppleTart-gydtadecugkemlbxcybcwsxuynku/Build/Intermediates/AppleTart.build/Debug-iphonesimulator/AppleTart-iOS.build/swift-overrides.hmap
>>>  -Xcc -iquote -Xcc 
>>> /Users/emaloney/Library/Developer/Xcode/DerivedData/AppleTart-gydtadecugkemlbxcybcwsxuynku/Build/Intermediates/AppleTart.build/Debug-iphonesimulator/AppleTart-iOS.build/AppleTart-generated-files.hmap
>>>  -Xcc 
>>> -I/Users/emaloney/Library/Developer/Xcode/DerivedData/AppleTart-gydtadecugkemlbxcybcwsxuynku/Build/Intermediates/AppleTart.build/Debug-iphonesimulator/AppleTart-iOS.build/AppleTart-own-target-headers.hmap
>>>  -Xcc 
>>> -I/Users/emaloney/Library/Developer/Xcode/DerivedData/AppleTart-gydtadecugkemlbxcybcwsxuynku/Build/Intermediates/AppleTart.build/Debug-iphonesimulator/AppleTart-iOS.build/AppleTart-all-non-framework-target-headers.hmap
>>>  -Xcc -ivfsoverlay -Xcc 
>>> /Users/emaloney/Library/Developer/Xcode/DerivedData/AppleTart-gydtadecugkemlbxcybcwsxuynku/Build/Intermediates/AppleTart.build/all-product-headers.yaml
>>>  -Xcc -iquote -Xcc 
>>> /Users/emaloney/Library/Developer/Xcode/DerivedData/AppleTart-gydtadecugkemlbxcybcwsxuynku/Build/Intermediates/AppleTart.build/Debug-iphonesimulator/AppleTart-iOS.build/AppleTart-project-headers.hmap
>>>  -Xcc 
>>> -I/Users/emaloney/Library/Developer/Xcode/DerivedData/AppleTart-gydtadecugkemlbxcybcwsxuynku/Build/Products/Debug-iphonesimulator/include
>>>  -Xcc 
>>> -I/Users/emaloney/Library/Developer/Xcode/DerivedData/AppleTart-gydtadecugkemlbxcybcwsxuynku/Build/Products/Debug-iphonesimulator/CardIO.framework/Headers
>>>  -Xcc 
>>> -I/Users/emaloney/Library/Developer/Xcode/DerivedData/AppleTart-gydtadecugkemlbxcybcwsxuynku/Build/Intermediates/AppleTart.build/Debug-iphonesimulator/AppleTart-iOS.build/DerivedSources/x86_64
>>>  -Xcc 
>>> -I/Users/emaloney/Library/Developer/Xcode/DerivedData/AppleTart-gydtadecugkemlbxcybcwsxuynku/Build/Intermediates/AppleTart.build/Debug-iphonesimulator/AppleTart-iOS.build/DerivedSources
>>>  -Xcc -DDEBUG=1 -Xcc 
>>> -working-directory/Users/emaloney/Documents/Code/CleanroomProject/AppleTart 
>>> -emit-module-doc-path 
>>> /Users/emaloney/Library/Developer/Xcode/DerivedData/AppleTart-gydtadecugkemlbxcybcwsxuynku/Build/Intermediates/AppleTart.build/Debug-iphonesimulator/AppleTart-iOS.build/Objects-normal/x86_64/Row~partial.swiftdoc
>>>  -Onone -module-name AppleTart -emit-module-path 
>>> /Users/emaloney/Library/Developer/Xcode/DerivedData/AppleTart-gydtadecugkemlbxcybcwsxuynku/Build/Intermediates/AppleTart.build/Debug-iphonesimulator/AppleTart-iOS.build/Objects-normal/x86_64/Row~partial.swiftmodule
>>>  -serialize-diagnostics-path 
>>> /Users/emaloney/Library/Developer/Xcode/DerivedData/AppleTart-gydtadecugkemlbxcybcwsxuynku/Build/Intermediates/AppleTart.build/Debug-iphonesimulator/AppleTart-iOS.build/Objects-normal/x86_64/Row.dia
>>>  -emit-dependencies-path 
>>> /Users/emaloney/Library/Developer/Xcode/DerivedData/AppleTart-gydtadecugkemlbxcybcwsxuynku/Build/Intermediates/AppleTart.build/Debug-iphonesimulator/AppleTart-iOS.build/Objects-normal/x86_64/Row.d
>>>  -emit-reference-dependencies-path 
>>> /Users/emaloney/Library/Developer/Xcode/DerivedData/AppleTart-gydtadecugkemlbxcybcwsxuynku/Build/Intermediates/AppleTart.build/Debug-iphonesimulator/AppleTart-iOS.build/Objects-normal/x86_64/Row.swiftdeps
>>>  -o 
>>> /Users/emaloney/Library/Developer/Xcode/DerivedData/AppleTart-gydtadecugkemlbxcybcwsxuynku/Build/Intermediates/AppleTart.build/Debug-iphonesimulator/AppleTart-iOS.build/Objects-normal/x86_64/Row.o
>>> 
>>> 0  swift                    0x000000010e668b6d 
>>> PrintStackTraceSignalHandler(void*) + 45
>>> 1  swift                    0x000000010e6685b6 SignalHandler(int) + 470
>>> 2  libsystem_platform.dylib 0x00007fff94a7b52a _sigtramp + 26
>>> 3  libsystem_platform.dylib 0x0000000000000004 _sigtramp + 1800948468
>>> 4  swift                    0x000000010baa58d2 llvm::Value* 
>>> llvm::function_ref<llvm::Value* (unsigned 
>>> int)>::callback_fn<swift::irgen::emitArchetypeWitnessTableRef(swift::irgen::IRGenFunction&,
>>>  swift::CanTypeWrapper<swift::ArchetypeType>, 
>>> swift::ProtocolDecl*)::$_0>(long, unsigned int) + 530
>>> 5  swift                    0x000000010bb83600 
>>> swift::irgen::emitImpliedWitnessTableRef(swift::irgen::IRGenFunction&, 
>>> llvm::ArrayRef<swift::irgen::ProtocolEntry>, swift::ProtocolDecl*, 
>>> llvm::function_ref<llvm::Value* (unsigned int)> const&) + 240
>>> 6  swift                    0x000000010baa56a7 
>>> swift::irgen::emitArchetypeWitnessTableRef(swift::irgen::IRGenFunction&, 
>>> swift::CanTypeWrapper<swift::ArchetypeType>, swift::ProtocolDecl*) + 247
>>> 7  swift                    0x000000010bb7f9cd 
>>> swift::SILWitnessVisitor<(anonymous 
>>> namespace)::WitnessTableBuilder>::visitProtocolDecl(swift::ProtocolDecl*) + 
>>> 5997
>>> 8  swift                    0x000000010bb7d4d7 
>>> swift::irgen::IRGenModule::emitSILWitnessTable(swift::SILWitnessTable*) + 
>>> 503
>>> 9  swift                    0x000000010baef8ed 
>>> swift::irgen::IRGenerator::emitGlobalTopLevel() + 2077
>>> 10 swift                    0x000000010bbb0fcb 
>>> performIRGeneration(swift::IRGenOptions&, swift::ModuleDecl*, 
>>> swift::SILModule*, llvm::StringRef, llvm::LLVMContext&, swift::SourceFile*, 
>>> unsigned int) + 1259
>>> 11 swift                    0x000000010ba7f1c7 
>>> performCompile(swift::CompilerInstance&, swift::CompilerInvocation&, 
>>> llvm::ArrayRef<char const*>, int&, swift::FrontendObserver*) + 23687
>>> 12 swift                    0x000000010ba77265 
>>> swift::performFrontend(llvm::ArrayRef<char const*>, char const*, void*, 
>>> swift::FrontendObserver*) + 17029
>>> 13 swift                    0x000000010ba3482d main + 8685
>>> 14 libdyld.dylib            0x00007fff8ab5c5ad start + 1
>>> Stack dump:
>>> 0.  Program arguments: 
>>> /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swift
>>>  -frontend -c -filelist 
>>> /var/folders/gn/gt76_ktx7w1010xg4v68p3txynz8ws/T/sources-a27d97 
>>> -primary-file 
>>> /Users/emaloney/Documents/Code/CleanroomProject/AppleTart/Sources/iOS/FormBuilder/Row.swift
>>>  -target x86_64-apple-ios9.0 -enable-objc-interop -sdk 
>>> /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator10.0.sdk
>>>  -I 
>>> /Users/emaloney/Library/Developer/Xcode/DerivedData/AppleTart-gydtadecugkemlbxcybcwsxuynku/Build/Products/Debug-iphonesimulator
>>>  -F 
>>> /Users/emaloney/Library/Developer/Xcode/DerivedData/AppleTart-gydtadecugkemlbxcybcwsxuynku/Build/Products/Debug-iphonesimulator
>>>  -F 
>>> /Users/emaloney/Documents/Code/CleanroomProject/AppleTart/Carthage/Checkouts/AppleApiDocClients/build/Debug
>>>  -F 
>>> /Users/emaloney/Documents/Code/CleanroomProject/AppleTart/Carthage/Checkouts/AppleTapstreamClient/build/Debug
>>>  -F 
>>> /Users/emaloney/Documents/Code/CleanroomProject/AppleTart/Carthage/Checkouts/PromiseKit/build/Debug
>>>  -enable-testing -g -import-objc-header 
>>> /Users/emaloney/Documents/Code/CleanroomProject/AppleTart/BuildControl/Bridging-Header.h
>>>  -module-cache-path 
>>> /Users/emaloney/Library/Developer/Xcode/DerivedData/ModuleCache -D DEBUG 
>>> -serialize-debugging-options -Xcc 
>>> -I/Users/emaloney/Library/Developer/Xcode/DerivedData/AppleTart-gydtadecugkemlbxcybcwsxuynku/Build/Intermediates/AppleTart.build/Debug-iphonesimulator/AppleTart-iOS.build/swift-overrides.hmap
>>>  -Xcc -iquote -Xcc 
>>> /Users/emaloney/Library/Developer/Xcode/DerivedData/AppleTart-gydtadecugkemlbxcybcwsxuynku/Build/Intermediates/AppleTart.build/Debug-iphonesimulator/AppleTart-iOS.build/AppleTart-generated-files.hmap
>>>  -Xcc 
>>> -I/Users/emaloney/Library/Developer/Xcode/DerivedData/AppleTart-gydtadecugkemlbxcybcwsxuynku/Build/Intermediates/AppleTart.build/Debug-iphonesimulator/AppleTart-iOS.build/AppleTart-own-target-headers.hmap
>>>  -Xcc 
>>> -I/Users/emaloney/Library/Developer/Xcode/DerivedData/AppleTart-gydtadecugkemlbxcybcwsxuynku/Build/Intermediates/AppleTart.build/Debug-iphonesimulator/AppleTart-iOS.build/AppleTart-all-non-framework-target-headers.hmap
>>>  -Xcc -ivfsoverlay -Xcc 
>>> /Users/emaloney/Library/Developer/Xcode/DerivedData/AppleTart-gydtadecugkemlbxcybcwsxuynku/Build/Intermediates/AppleTart.build/all-product-headers.yaml
>>>  -Xcc -iquote -Xcc 
>>> /Users/emaloney/Library/Developer/Xcode/DerivedData/AppleTart-gydtadecugkemlbxcybcwsxuynku/Build/Intermediates/AppleTart.build/Debug-iphonesimulator/AppleTart-iOS.build/AppleTart-project-headers.hmap
>>>  -Xcc 
>>> -I/Users/emaloney/Library/Developer/Xcode/DerivedData/AppleTart-gydtadecugkemlbxcybcwsxuynku/Build/Products/Debug-iphonesimulator/include
>>>  -Xcc 
>>> -I/Users/emaloney/Library/Developer/Xcode/DerivedData/AppleTart-gydtadecugkemlbxcybcwsxuynku/Build/Products/Debug-iphonesimulator/CardIO.framework/Headers
>>>  -Xcc 
>>> -I/Users/emaloney/Library/Developer/Xcode/DerivedData/AppleTart-gydtadecugkemlbxcybcwsxuynku/Build/Intermediates/AppleTart.build/Debug-iphonesimulator/AppleTart-iOS.build/DerivedSources/x86_64
>>>  -Xcc 
>>> -I/Users/emaloney/Library/Developer/Xcode/DerivedData/AppleTart-gydtadecugkemlbxcybcwsxuynku/Build/Intermediates/AppleTart.build/Debug-iphonesimulator/AppleTart-iOS.build/DerivedSources
>>>  -Xcc -DDEBUG=1 -Xcc 
>>> -working-directory/Users/emaloney/Documents/Code/CleanroomProject/AppleTart 
>>> -emit-module-doc-path 
>>> /Users/emaloney/Library/Developer/Xcode/DerivedData/AppleTart-gydtadecugkemlbxcybcwsxuynku/Build/Intermediates/AppleTart.build/Debug-iphonesimulator/AppleTart-iOS.build/Objects-normal/x86_64/Row~partial.swiftdoc
>>>  -Onone -module-name AppleTart -emit-module-path 
>>> /Users/emaloney/Library/Developer/Xcode/DerivedData/AppleTart-gydtadecugkemlbxcybcwsxuynku/Build/Intermediates/AppleTart.build/Debug-iphonesimulator/AppleTart-iOS.build/Objects-normal/x86_64/Row~partial.swiftmodule
>>>  -serialize-diagnostics-path 
>>> /Users/emaloney/Library/Developer/Xcode/DerivedData/AppleTart-gydtadecugkemlbxcybcwsxuynku/Build/Intermediates/AppleTart.build/Debug-iphonesimulator/AppleTart-iOS.build/Objects-normal/x86_64/Row.dia
>>>  -emit-dependencies-path 
>>> /Users/emaloney/Library/Developer/Xcode/DerivedData/AppleTart-gydtadecugkemlbxcybcwsxuynku/Build/Intermediates/AppleTart.build/Debug-iphonesimulator/AppleTart-iOS.build/Objects-normal/x86_64/Row.d
>>>  -emit-reference-dependencies-path 
>>> /Users/emaloney/Library/Developer/Xcode/DerivedData/AppleTart-gydtadecugkemlbxcybcwsxuynku/Build/Intermediates/AppleTart.build/Debug-iphonesimulator/AppleTart-iOS.build/Objects-normal/x86_64/Row.swiftdeps
>>>  -o 
>>> /Users/emaloney/Library/Developer/Xcode/DerivedData/AppleTart-gydtadecugkemlbxcybcwsxuynku/Build/Intermediates/AppleTart.build/Debug-iphonesimulator/AppleTart-iOS.build/Objects-normal/x86_64/Row.o
>>>  
>>> 
>>> 
>>> 
>>> 
>>>> On Oct 21, 2016, at 12:41 PM, Jon Shier <j...@jonshier.com 
>>>> <mailto:j...@jonshier.com>> wrote:
>>>> 
>>>> With Swift 3 I’ve found these crashes to be indicative of an underlying 
>>>> source issue rather than something random in the compiler. When you get 
>>>> the crash, can you get the backtrace in the Xcode build log? Sometimes 
>>>> that has clues about what it was doing when it crashed. A lot of the time 
>>>> when the crash is during the parsing or SIL generation for one of your 
>>>> functions, it will note it and you can take a look, as there may be a type 
>>>> mismatch. 
>>>> 
>>>> 
>>>> 
>>>> Jon
>>>> 
>>>>> On Oct 21, 2016, at 12:26 PM, Evan Maloney via swift-users 
>>>>> <swift-users@swift.org <mailto:swift-users@swift.org>> wrote:
>>>>> 
>>>>> After a gargantuan effort updating our entire codebase to Swift 3.0, we 
>>>>> are now being greeted with "Segmentation fault: 11" compiler crash 
>>>>> whenever attempting to build.
>>>>> 
>>>>> The issue seems to be related to generics, and sounds similar to this 
>>>>> issue:
>>>>> 
>>>>>   
>>>>> http://stackoverflow.com/questions/39426535/segmentation-fault-11-xcode-8-swift-3-after-using-notificationcenter/39426812
>>>>>  
>>>>> <http://stackoverflow.com/questions/39426535/segmentation-fault-11-xcode-8-swift-3-after-using-notificationcenter/39426812>
>>>>> 
>>>>> I've filed a bug report that includes our project codebase, which 
>>>>> triggers the issue 100% of the time:
>>>>> 
>>>>>   rdar://problem/28890409 <rdar://problem/28890409>
>>>>> 
>>>>> The usual work-around of turning off Whole Module Optimization (which has 
>>>>> gotten around a lot of compiler crashes in the past) does not work here.
>>>>> 
>>>>> Unfortunately, this code is in such a tangle of generics that undoing it 
>>>>> is not going to be simple. Until a new version of Xcode ships, we're 
>>>>> pretty much blocked from using Swift 3.0 unless another work-around is 
>>>>> possible.
>>>>> _______________________________________________
>>>>> swift-users mailing list
>>>>> swift-users@swift.org <mailto:swift-users@swift.org>
>>>>> https://lists.swift.org/mailman/listinfo/swift-users
>>>> 
>>> 
>>> _______________________________________________
>>> swift-users mailing list
>>> swift-users@swift.org <mailto:swift-users@swift.org>
>>> https://lists.swift.org/mailman/listinfo/swift-users 
>>> <https://lists.swift.org/mailman/listinfo/swift-users>
>> 
> 
> _______________________________________________
> swift-users mailing list
> swift-users@swift.org
> https://lists.swift.org/mailman/listinfo/swift-users

_______________________________________________
swift-users mailing list
swift-users@swift.org
https://lists.swift.org/mailman/listinfo/swift-users

Reply via email to