[Swift2][Xcode7b2] Swift compiler crashes when setting `NSOperation.maxConcurrentOperationCount`

Originator:p4checo
Number:rdar://21621459 Date Originated:30-Jun-2015
Status:Closed Resolved:
Product:Xcode7b2 Product Version:
Classification: Reproducible:Always
 
André Neves30-Jun-2015 11:57 PM


Summary:
When attempting to set `NSOperationQueue.maxConcurrentOperationCount` to `NSOperationQueueDefaultMaxConcurrentOperationCount` the build fails due to the compiler crashing with a segmentation fault.

The issue is always reproducible and I've attached the build log transcript

Steps to Reproduce:
Compile the given example source file

Expected Results:
The file should compile successfully

Actual Results:
The file fails to compile

Version:
Version 7.0 beta (7A121l)

Notes:


Configuration:
Happens in Xcode7b2, Swift2

Attachments:

CompileSwiftCrash.swift:

import Foundation

struct CompileSwiftCrash {
    
    let queue : NSOperationQueue = {
        let operationQueue = NSOperationQueue()
        operationQueue.maxConcurrentOperationCount = NSOperationQueueDefaultMaxConcurrentOperationCount
        
        return operationQueue
        }()
}

CompileSwiftCrash-Command_failed_due_to_signal-Segmentation_fault_11.txt


Build target CompileSwiftCrash of project CompileSwiftCrash with configuration Debug

CompileSwiftSources normal x86_64 com.apple.xcode.tools.swift.compiler
    cd /Users/apneves/Desktop/CompileSwiftCrash
    export PATH="/Applications/Xcode-beta.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin:/Applications/Xcode-beta.app/Contents/Developer/usr/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin"
    /Applications/Xcode-beta.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swiftc -incremental -module-name CompileSwiftCrash -Onone -sdk /Applications/Xcode-beta.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator9.0.sdk -target x86_64-apple-ios9.0 -g -module-cache-path /Users/apneves/Library/Developer/Xcode/DerivedData/ModuleCache -Xfrontend -serialize-debugging-options -enable-testing -I /Users/apneves/Library/Developer/Xcode/DerivedData/CompileSwiftCrash-dpsmzebpotphrtemdopjrtqbtxox/Build/Products/Debug-iphonesimulator -F /Users/apneves/Library/Developer/Xcode/DerivedData/CompileSwiftCrash-dpsmzebpotphrtemdopjrtqbtxox/Build/Products/Debug-iphonesimulator -c -j2 /Users/apneves/Desktop/CompileSwiftCrash/CompileSwiftCrash/CompileSwiftCrash.swift /Users/apneves/Desktop/CompileSwiftCrash/CompileSwiftCrash/ViewController.swift /Users/apneves/Desktop/CompileSwiftCrash/CompileSwiftCrash/AppDelegate.swift -output-file-map /Users/apneves/Library/Developer/Xcode/DerivedData/CompileSwiftCrash-dpsmzebpotphrtemdopjrtqbtxox/Build/Intermediates/CompileSwiftCrash.build/Debug-iphonesimulator/CompileSwiftCrash.build/Objects-normal/x86_64/CompileSwiftCrash-OutputFileMap.json -parseable-output -serialize-diagnostics -emit-dependencies -emit-module -emit-module-path /Users/apneves/Library/Developer/Xcode/DerivedData/CompileSwiftCrash-dpsmzebpotphrtemdopjrtqbtxox/Build/Intermediates/CompileSwiftCrash.build/Debug-iphonesimulator/CompileSwiftCrash.build/Objects-normal/x86_64/CompileSwiftCrash.swiftmodule -Xcc -I/Users/apneves/Library/Developer/Xcode/DerivedData/CompileSwiftCrash-dpsmzebpotphrtemdopjrtqbtxox/Build/Intermediates/CompileSwiftCrash.build/Debug-iphonesimulator/CompileSwiftCrash.build/swift-overrides.hmap -Xcc -iquote -Xcc /Users/apneves/Library/Developer/Xcode/DerivedData/CompileSwiftCrash-dpsmzebpotphrtemdopjrtqbtxox/Build/Intermediates/CompileSwiftCrash.build/Debug-iphonesimulator/CompileSwiftCrash.build/CompileSwiftCrash-generated-files.hmap -Xcc -I/Users/apneves/Library/Developer/Xcode/DerivedData/CompileSwiftCrash-dpsmzebpotphrtemdopjrtqbtxox/Build/Intermediates/CompileSwiftCrash.build/Debug-iphonesimulator/CompileSwiftCrash.build/CompileSwiftCrash-own-target-headers.hmap -Xcc -I/Users/apneves/Library/Developer/Xcode/DerivedData/CompileSwiftCrash-dpsmzebpotphrtemdopjrtqbtxox/Build/Intermediates/CompileSwiftCrash.build/Debug-iphonesimulator/CompileSwiftCrash.build/CompileSwiftCrash-all-target-headers.hmap -Xcc -iquote -Xcc /Users/apneves/Library/Developer/Xcode/DerivedData/CompileSwiftCrash-dpsmzebpotphrtemdopjrtqbtxox/Build/Intermediates/CompileSwiftCrash.build/Debug-iphonesimulator/CompileSwiftCrash.build/CompileSwiftCrash-project-headers.hmap -Xcc -I/Users/apneves/Library/Developer/Xcode/DerivedData/CompileSwiftCrash-dpsmzebpotphrtemdopjrtqbtxox/Build/Products/Debug-iphonesimulator/include -Xcc -I/Users/apneves/Library/Developer/Xcode/DerivedData/CompileSwiftCrash-dpsmzebpotphrtemdopjrtqbtxox/Build/Intermediates/CompileSwiftCrash.build/Debug-iphonesimulator/CompileSwiftCrash.build/DerivedSources/x86_64 -Xcc -I/Users/apneves/Library/Developer/Xcode/DerivedData/CompileSwiftCrash-dpsmzebpotphrtemdopjrtqbtxox/Build/Intermediates/CompileSwiftCrash.build/Debug-iphonesimulator/CompileSwiftCrash.build/DerivedSources -Xcc -DDEBUG=1 -emit-objc-header -emit-objc-header-path /Users/apneves/Library/Developer/Xcode/DerivedData/CompileSwiftCrash-dpsmzebpotphrtemdopjrtqbtxox/Build/Intermediates/CompileSwiftCrash.build/Debug-iphonesimulator/CompileSwiftCrash.build/Objects-normal/x86_64/CompileSwiftCrash-Swift.h -Xcc -working-directory/Users/apneves/Desktop/CompileSwiftCrash

<unknown>:0: error: unable to execute command: Segmentation fault: 11
<unknown>:0: error: swift frontend command failed due to signal (use -v to see invocation)

CompileSwift normal x86_64 /Users/apneves/Desktop/CompileSwiftCrash/CompileSwiftCrash/CompileSwiftCrash.swift
    cd /Users/apneves/Desktop/CompileSwiftCrash
    /Applications/Xcode-beta.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swift -frontend -c -primary-file /Users/apneves/Desktop/CompileSwiftCrash/CompileSwiftCrash/CompileSwiftCrash.swift /Users/apneves/Desktop/CompileSwiftCrash/CompileSwiftCrash/ViewController.swift /Users/apneves/Desktop/CompileSwiftCrash/CompileSwiftCrash/AppDelegate.swift -target x86_64-apple-ios9.0 -enable-objc-interop -sdk /Applications/Xcode-beta.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator9.0.sdk -I /Users/apneves/Library/Developer/Xcode/DerivedData/CompileSwiftCrash-dpsmzebpotphrtemdopjrtqbtxox/Build/Products/Debug-iphonesimulator -F /Users/apneves/Library/Developer/Xcode/DerivedData/CompileSwiftCrash-dpsmzebpotphrtemdopjrtqbtxox/Build/Products/Debug-iphonesimulator -enable-testing -g -module-cache-path /Users/apneves/Library/Developer/Xcode/DerivedData/ModuleCache -serialize-debugging-options -Xcc -I/Users/apneves/Library/Developer/Xcode/DerivedData/CompileSwiftCrash-dpsmzebpotphrtemdopjrtqbtxox/Build/Intermediates/CompileSwiftCrash.build/Debug-iphonesimulator/CompileSwiftCrash.build/swift-overrides.hmap -Xcc -iquote -Xcc /Users/apneves/Library/Developer/Xcode/DerivedData/CompileSwiftCrash-dpsmzebpotphrtemdopjrtqbtxox/Build/Intermediates/CompileSwiftCrash.build/Debug-iphonesimulator/CompileSwiftCrash.build/CompileSwiftCrash-generated-files.hmap -Xcc -I/Users/apneves/Library/Developer/Xcode/DerivedData/CompileSwiftCrash-dpsmzebpotphrtemdopjrtqbtxox/Build/Intermediates/CompileSwiftCrash.build/Debug-iphonesimulator/CompileSwiftCrash.build/CompileSwiftCrash-own-target-headers.hmap -Xcc -I/Users/apneves/Library/Developer/Xcode/DerivedData/CompileSwiftCrash-dpsmzebpotphrtemdopjrtqbtxox/Build/Intermediates/CompileSwiftCrash.build/Debug-iphonesimulator/CompileSwiftCrash.build/CompileSwiftCrash-all-target-headers.hmap -Xcc -iquote -Xcc /Users/apneves/Library/Developer/Xcode/DerivedData/CompileSwiftCrash-dpsmzebpotphrtemdopjrtqbtxox/Build/Intermediates/CompileSwiftCrash.build/Debug-iphonesimulator/CompileSwiftCrash.build/CompileSwiftCrash-project-headers.hmap -Xcc -I/Users/apneves/Library/Developer/Xcode/DerivedData/CompileSwiftCrash-dpsmzebpotphrtemdopjrtqbtxox/Build/Products/Debug-iphonesimulator/include -Xcc -I/Users/apneves/Library/Developer/Xcode/DerivedData/CompileSwiftCrash-dpsmzebpotphrtemdopjrtqbtxox/Build/Intermediates/CompileSwiftCrash.build/Debug-iphonesimulator/CompileSwiftCrash.build/DerivedSources/x86_64 -Xcc -I/Users/apneves/Library/Developer/Xcode/DerivedData/CompileSwiftCrash-dpsmzebpotphrtemdopjrtqbtxox/Build/Intermediates/CompileSwiftCrash.build/Debug-iphonesimulator/CompileSwiftCrash.build/DerivedSources -Xcc -DDEBUG=1 -Xcc -working-directory/Users/apneves/Desktop/CompileSwiftCrash -emit-module-doc-path /Users/apneves/Library/Developer/Xcode/DerivedData/CompileSwiftCrash-dpsmzebpotphrtemdopjrtqbtxox/Build/Intermediates/CompileSwiftCrash.build/Debug-iphonesimulator/CompileSwiftCrash.build/Objects-normal/x86_64/CompileSwiftCrash~partial.swiftdoc -Onone -module-name CompileSwiftCrash -emit-module-path /Users/apneves/Library/Developer/Xcode/DerivedData/CompileSwiftCrash-dpsmzebpotphrtemdopjrtqbtxox/Build/Intermediates/CompileSwiftCrash.build/Debug-iphonesimulator/CompileSwiftCrash.build/Objects-normal/x86_64/CompileSwiftCrash~partial.swiftmodule -serialize-diagnostics-path /Users/apneves/Library/Developer/Xcode/DerivedData/CompileSwiftCrash-dpsmzebpotphrtemdopjrtqbtxox/Build/Intermediates/CompileSwiftCrash.build/Debug-iphonesimulator/CompileSwiftCrash.build/Objects-normal/x86_64/CompileSwiftCrash.dia -emit-dependencies-path /Users/apneves/Library/Developer/Xcode/DerivedData/CompileSwiftCrash-dpsmzebpotphrtemdopjrtqbtxox/Build/Intermediates/CompileSwiftCrash.build/Debug-iphonesimulator/CompileSwiftCrash.build/Objects-normal/x86_64/CompileSwiftCrash.d -emit-reference-dependencies-path /Users/apneves/Library/Developer/Xcode/DerivedData/CompileSwiftCrash-dpsmzebpotphrtemdopjrtqbtxox/Build/Intermediates/CompileSwiftCrash.build/Debug-iphonesimulator/CompileSwiftCrash.build/Objects-normal/x86_64/CompileSwiftCrash.swiftdeps -o /Users/apneves/Library/Developer/Xcode/DerivedData/CompileSwiftCrash-dpsmzebpotphrtemdopjrtqbtxox/Build/Intermediates/CompileSwiftCrash.build/Debug-iphonesimulator/CompileSwiftCrash.build/Objects-normal/x86_64/CompileSwiftCrash.o

0  swift                    0x000000010c1f4b9b llvm::sys::PrintStackTrace(__sFILE*) + 43
1  swift                    0x000000010c1f52db SignalHandler(int) + 379
2  libsystem_platform.dylib 0x00007fff9217af1a _sigtramp + 26
3  libsystem_platform.dylib 0x00007fff55a08303 _sigtramp + 3280524291
4  swift                    0x000000010bfaefaf llvm::ConstantFoldGetElementPtr(llvm::Constant*, bool, llvm::ArrayRef<llvm::Value*>) + 1743
5  swift                    0x000000010bfbf658 llvm::ConstantExpr::getGetElementPtr(llvm::Constant*, llvm::ArrayRef<llvm::Value*>, bool, llvm::Type*) + 56
6  swift                    0x000000010a2d96c4 llvm::IRBuilder<true, llvm::ConstantFolder, llvm::IRBuilderDefaultInserter<true> >::CreateConstInBoundsGEP2_32(llvm::Value*, unsigned int, unsigned int, llvm::Twine const&) + 308
7  swift                    0x000000010a34c08c swift::irgen::ElementLayout::project(swift::irgen::IRGenFunction&, swift::irgen::Address, llvm::Optional<swift::irgen::NonFixedOffsetsImpl*>, llvm::Twine const&) const + 828
8  swift                    0x000000010a2fe26f swift::irgen::SequentialField<(anonymous namespace)::StructFieldInfo>::projectAddress(swift::irgen::IRGenFunction&, swift::irgen::Address, llvm::Optional<swift::irgen::NonFixedOffsetsImpl*>) const + 159
9  swift                    0x000000010a2ff233 swift::irgen::SequentialTypeInfo<(anonymous namespace)::LoadableStructTypeInfo, swift::irgen::LoadableTypeInfo, (anonymous namespace)::StructFieldInfo, true>::loadAsTake(swift::irgen::IRGenFunction&, swift::irgen::Address, swift::irgen::Explosion&) const + 99
10 swift                    0x000000010a33ad45 swift::SILVisitor<(anonymous namespace)::IRGenSILFunction, void>::visit(swift::ValueBase*) + 26773
11 swift                    0x000000010a3302e5 (anonymous namespace)::IRGenSILFunction::emitSILFunction() + 11781
12 swift                    0x000000010a32d083 swift::irgen::IRGenModule::emitSILFunction(swift::SILFunction*) + 659
13 swift                    0x000000010a27b65b swift::irgen::IRGenModuleDispatcher::emitLazyDefinitions() + 923
14 swift                    0x000000010a313416 performIRGeneration(swift::IRGenOptions&, swift::ModuleDecl*, swift::SILModule*, llvm::StringRef, llvm::LLVMContext&, swift::SourceFile*, unsigned int) + 1030
15 swift                    0x000000010a313766 swift::performIRGeneration(swift::IRGenOptions&, swift::SourceFile&, swift::SILModule*, llvm::StringRef, llvm::LLVMContext&, unsigned int) + 70
16 swift                    0x000000010a1fd8bf performCompile(swift::CompilerInstance&, swift::CompilerInvocation&, llvm::ArrayRef<char const*>, int&) + 11663
17 swift                    0x000000010a1fa913 frontend_main(llvm::ArrayRef<char const*>, char const*, void*) + 2515
18 swift                    0x000000010a1f6a9f main + 1983
19 libdyld.dylib            0x00007fff964f95c9 start + 1
Stack dump:
0.	Program arguments: /Applications/Xcode-beta.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swift -frontend -c -primary-file /Users/apneves/Desktop/CompileSwiftCrash/CompileSwiftCrash/CompileSwiftCrash.swift /Users/apneves/Desktop/CompileSwiftCrash/CompileSwiftCrash/ViewController.swift /Users/apneves/Desktop/CompileSwiftCrash/CompileSwiftCrash/AppDelegate.swift -target x86_64-apple-ios9.0 -enable-objc-interop -sdk /Applications/Xcode-beta.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator9.0.sdk -I /Users/apneves/Library/Developer/Xcode/DerivedData/CompileSwiftCrash-dpsmzebpotphrtemdopjrtqbtxox/Build/Products/Debug-iphonesimulator -F /Users/apneves/Library/Developer/Xcode/DerivedData/CompileSwiftCrash-dpsmzebpotphrtemdopjrtqbtxox/Build/Products/Debug-iphonesimulator -enable-testing -g -module-cache-path /Users/apneves/Library/Developer/Xcode/DerivedData/ModuleCache -serialize-debugging-options -Xcc -I/Users/apneves/Library/Developer/Xcode/DerivedData/CompileSwiftCrash-dpsmzebpotphrtemdopjrtqbtxox/Build/Intermediates/CompileSwiftCrash.build/Debug-iphonesimulator/CompileSwiftCrash.build/swift-overrides.hmap -Xcc -iquote -Xcc /Users/apneves/Library/Developer/Xcode/DerivedData/CompileSwiftCrash-dpsmzebpotphrtemdopjrtqbtxox/Build/Intermediates/CompileSwiftCrash.build/Debug-iphonesimulator/CompileSwiftCrash.build/CompileSwiftCrash-generated-files.hmap -Xcc -I/Users/apneves/Library/Developer/Xcode/DerivedData/CompileSwiftCrash-dpsmzebpotphrtemdopjrtqbtxox/Build/Intermediates/CompileSwiftCrash.build/Debug-iphonesimulator/CompileSwiftCrash.build/CompileSwiftCrash-own-target-headers.hmap -Xcc -I/Users/apneves/Library/Developer/Xcode/DerivedData/CompileSwiftCrash-dpsmzebpotphrtemdopjrtqbtxox/Build/Intermediates/CompileSwiftCrash.build/Debug-iphonesimulator/CompileSwiftCrash.build/CompileSwiftCrash-all-target-headers.hmap -Xcc -iquote -Xcc /Users/apneves/Library/Developer/Xcode/DerivedData/CompileSwiftCrash-dpsmzebpotphrtemdopjrtqbtxox/Build/Intermediates/CompileSwiftCrash.build/Debug-iphonesimulator/CompileSwiftCrash.build/CompileSwiftCrash-project-headers.hmap -Xcc -I/Users/apneves/Library/Developer/Xcode/DerivedData/CompileSwiftCrash-dpsmzebpotphrtemdopjrtqbtxox/Build/Products/Debug-iphonesimulator/include -Xcc -I/Users/apneves/Library/Developer/Xcode/DerivedData/CompileSwiftCrash-dpsmzebpotphrtemdopjrtqbtxox/Build/Intermediates/CompileSwiftCrash.build/Debug-iphonesimulator/CompileSwiftCrash.build/DerivedSources/x86_64 -Xcc -I/Users/apneves/Library/Developer/Xcode/DerivedData/CompileSwiftCrash-dpsmzebpotphrtemdopjrtqbtxox/Build/Intermediates/CompileSwiftCrash.build/Debug-iphonesimulator/CompileSwiftCrash.build/DerivedSources -Xcc -DDEBUG=1 -Xcc -working-directory/Users/apneves/Desktop/CompileSwiftCrash -emit-module-doc-path /Users/apneves/Library/Developer/Xcode/DerivedData/CompileSwiftCrash-dpsmzebpotphrtemdopjrtqbtxox/Build/Intermediates/CompileSwiftCrash.build/Debug-iphonesimulator/CompileSwiftCrash.build/Objects-normal/x86_64/CompileSwiftCrash~partial.swiftdoc -Onone -module-name CompileSwiftCrash -emit-module-path /Users/apneves/Library/Developer/Xcode/DerivedData/CompileSwiftCrash-dpsmzebpotphrtemdopjrtqbtxox/Build/Intermediates/CompileSwiftCrash.build/Debug-iphonesimulator/CompileSwiftCrash.build/Objects-normal/x86_64/CompileSwiftCrash~partial.swiftmodule -serialize-diagnostics-path /Users/apneves/Library/Developer/Xcode/DerivedData/CompileSwiftCrash-dpsmzebpotphrtemdopjrtqbtxox/Build/Intermediates/CompileSwiftCrash.build/Debug-iphonesimulator/CompileSwiftCrash.build/Objects-normal/x86_64/CompileSwiftCrash.dia -emit-dependencies-path /Users/apneves/Library/Developer/Xcode/DerivedData/CompileSwiftCrash-dpsmzebpotphrtemdopjrtqbtxox/Build/Intermediates/CompileSwiftCrash.build/Debug-iphonesimulator/CompileSwiftCrash.build/Objects-normal/x86_64/CompileSwiftCrash.d -emit-reference-dependencies-path /Users/apneves/Library/Developer/Xcode/DerivedData/CompileSwiftCrash-dpsmzebpotphrtemdopjrtqbtxox/Build/Intermediates/CompileSwiftCrash.build/Debug-iphonesimulator/CompileSwiftCrash.build/Objects-normal/x86_64/CompileSwiftCrash.swiftdeps -o /Users/apneves/Library/Developer/Xcode/DerivedData/CompileSwiftCrash-dpsmzebpotphrtemdopjrtqbtxox/Build/Intermediates/CompileSwiftCrash.build/Debug-iphonesimulator/CompileSwiftCrash.build/Objects-normal/x86_64/CompileSwiftCrash.o
1.	While emitting IR SIL function @_TFIvV17CompileSwiftCrash17CompileSwiftCrash5queueCSo16NSOperationQueueiU_FT_S1_ for expression at [/Users/apneves/Desktop/CompileSwiftCrash/CompileSwiftCrash/CompileSwiftCrash.swift:13:36 - line:18:9] RangeText="{
        let operationQueue = NSOperationQueue()
        operationQueue.maxConcurrentOperationCount = NSOperationQueueDefaultMaxConcurrentOperationCount

        return operationQueue
        }"

Comments

Apple Developer Relations

November 17 2016, 7:59 PM Engineering has the following feedback for you: This crash was reported against an older version of Swift. There is a good chance that it is now fixed in Swift 3. Even if it is not fixed, there have been so many changes in Swift that it is hard to evaluate the status. If the developer can still reproduce this crash after migrating to Swift 3, please send this back with an updated Swift 3 testcase that we can use to reproduce the problem. Thank you. Please provide your response or results by updating your bug report and compress any bundled files (e.g. nested folders) prior to uploading.


Please note: Reports posted here will not necessarily be seen by Apple. All problems should be submitted at bugreport.apple.com before they are posted here. Please only post information for Radars that you have filed yourself, and please do not include Apple confidential information in your posts. Thank you!