swift segfaults with enum inside of generic class
| Originator: | jeremybanks.ca | ||
| Number: | rdar://17330553 | Date Originated: | 16-Jun-2014 03:44 PM |
| Status: | Open | Resolved: | |
| Product: | Developer Tools | Product Version: | |
| Classification: | Reproducible: | Always |
Summary:
Swift segfault when I define an enum with at least one possible value inside of a parameterized class.
Steps to Reproduce:
Attempt to compile the following Swift code, either in Xcode or using command line, or the REPL.
class Promise<T> {
enum Value {
case Success
}
}
Expected Results:
The code would compile successfully, or would fail and display a useful error, if this is not permitted.
Actual Results:
In Xcode, the build fails with a segfault. If the code is put into the REPL, the REPL crashes with "SIGEGV (Address boundary error)"
Version:
Xcode Beta Version 6.0 (6A215l)
OS X 10.9.3 (13D65)
Notes:
Configuration:
This has only been tested on my system.
Attachments:
repl-session.txt:
jeremy:~/s/HelloStack>
/Applications/Xcode6-Beta.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swift
Welcome to Swift! Type :help for assistance.
1> class Promise<T> {
2. enum Value {
3. case Success
4. }
5. }
fish: Job 1, '/Applications/Xcode6-Beta.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swift' terminated by signal SIGSEGV (Address boundary error)
jeremy:~/s/HelloStack>
xcode-errors.txt:
CompileSwift normal x86_64 com.apple.xcode.tools.swift.compiler
cd /Users/jeremy/src/HelloStack
/Applications/Xcode6-Beta.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swift -target x86_64-apple-macosx10.9 -module-name HelloStack -O0 -sdk /Applications/Xcode6-Beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk -g -module-cache-path /Users/jeremy/Library/Developer/Xcode/DerivedData/ModuleCache -I /Users/jeremy/Library/Developer/Xcode/DerivedData/HelloStack-gwarvffjlodyoufmfyvhoqnemiyy/Build/Products/Debug -F /Users/jeremy/Library/Developer/Xcode/DerivedData/HelloStack-gwarvffjlodyoufmfyvhoqnemiyy/Build/Products/Debug -c -j4 /Users/jeremy/src/HelloStack/HelloStack/main.swift -output-file-map /Users/jeremy/Library/Developer/Xcode/DerivedData/HelloStack-gwarvffjlodyoufmfyvhoqnemiyy/Build/Intermediates/HelloStack.build/Debug/HelloStack.build/Objects-normal/x86_64/HelloStack-OutputFileMap.json -serialize-diagnostics -emit-dependencies -emit-module -emit-module-path /Users/jeremy/Library/Developer/Xcode/DerivedData/HelloStack-gwarvffjlodyoufmfyvhoqnemiyy/Build/Intermediates/HelloStack.build/Debug/HelloStack.build/Objects-normal/x86_64/HelloStack.swiftmodule -Xcc -iquote -Xcc /Users/jeremy/Library/Developer/Xcode/DerivedData/HelloStack-gwarvffjlodyoufmfyvhoqnemiyy/Build/Intermediates/HelloStack.build/Debug/HelloStack.build/HelloStack-generated-files.hmap -Xcc -I/Users/jeremy/Library/Developer/Xcode/DerivedData/HelloStack-gwarvffjlodyoufmfyvhoqnemiyy/Build/Intermediates/HelloStack.build/Debug/HelloStack.build/HelloStack-own-target-headers.hmap -Xcc -I/Users/jeremy/Library/Developer/Xcode/DerivedData/HelloStack-gwarvffjlodyoufmfyvhoqnemiyy/Build/Intermediates/HelloStack.build/Debug/HelloStack.build/HelloStack-all-target-headers.hmap -Xcc -iquote -Xcc /Users/jeremy/Library/Developer/Xcode/DerivedData/HelloStack-gwarvffjlodyoufmfyvhoqnemiyy/Build/Intermediates/HelloStack.build/Debug/HelloStack.build/HelloStack-project-headers.hmap -Xcc -I/Users/jeremy/Library/Developer/Xcode/DerivedData/HelloStack-gwarvffjlodyoufmfyvhoqnemiyy/Build/Products/Debug/include -Xcc -I/Users/jeremy/src/HelloStack/Pods/Headers -Xcc -I/Users/jeremy/src/HelloStack/Pods/Headers/AFNetworking -Xcc -I/Users/jeremy/Library/Developer/Xcode/DerivedData/HelloStack-gwarvffjlodyoufmfyvhoqnemiyy/Build/Intermediates/HelloStack.build/Debug/HelloStack.build/DerivedSources/x86_64 -Xcc -I/Users/jeremy/Library/Developer/Xcode/DerivedData/HelloStack-gwarvffjlodyoufmfyvhoqnemiyy/Build/Intermediates/HelloStack.build/Debug/HelloStack.build/DerivedSources -Xcc -DDEBUG=1 -Xcc -DCOCOAPODS=1 -emit-objc-header -emit-objc-header-path /Users/jeremy/Library/Developer/Xcode/DerivedData/HelloStack-gwarvffjlodyoufmfyvhoqnemiyy/Build/Intermediates/HelloStack.build/Debug/HelloStack.build/Objects-normal/x86_64/HelloStack-Swift.h
0 swift 0x000000010f34b608 llvm::sys::PrintStackTrace(__sFILE*) + 40
1 swift 0x000000010f34baf4 SignalHandler(int) + 452
2 libsystem_platform.dylib 0x00007fff954005aa _sigtramp + 26
3 libsystem_platform.dylib 0x00007fff514f1058 _sigtramp + 3155102408
4 swift 0x000000010f55d738 (anonymous namespace)::DeclChecker::computeEnumElementInterfaceType(swift::EnumElementDecl*) + 136
5 swift 0x000000010f55a499 swift::ASTVisitor<(anonymous namespace)::DeclChecker, void, void, void, void, void, void>::visit(swift::Decl*) + 10777
6 swift 0x000000010f55cb84 (anonymous namespace)::DeclChecker::visitEnumDecl(swift::EnumDecl*) + 1460
7 swift 0x000000010f557cee swift::ASTVisitor<(anonymous namespace)::DeclChecker, void, void, void, void, void, void>::visit(swift::Decl*) + 622
8 swift 0x000000010f558ba7 swift::ASTVisitor<(anonymous namespace)::DeclChecker, void, void, void, void, void, void>::visit(swift::Decl*) + 4391
9 swift 0x000000010f54b8c0 swift::TypeChecker::typeCheckDecl(swift::Decl*, bool) + 112
10 swift 0x000000010f537748 swift::performTypeChecking(swift::SourceFile&, swift::TopLevelContext&, unsigned int) + 1256
11 swift 0x000000010e935b80 swift::CompilerInstance::performSema() + 2048
12 swift 0x000000010e70facd frontend_main(llvm::ArrayRef<char const*>, char const*, void*) + 1885
13 swift 0x000000010e70f35d main + 1533
14 libdyld.dylib 0x00007fff932285fd start + 1
Stack dump:
0. Program arguments: /Applications/Xcode6-Beta.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swift -frontend -c -primary-file /Users/jeremy/src/HelloStack/HelloStack/main.swift -enable-objc-attr-requires-objc-module -target x86_64-apple-macosx10.9 -module-name HelloStack -sdk /Applications/Xcode6-Beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk -I /Users/jeremy/Library/Developer/Xcode/DerivedData/HelloStack-gwarvffjlodyoufmfyvhoqnemiyy/Build/Products/Debug -F /Users/jeremy/Library/Developer/Xcode/DerivedData/HelloStack-gwarvffjlodyoufmfyvhoqnemiyy/Build/Products/Debug -g -module-cache-path /Users/jeremy/Library/Developer/Xcode/DerivedData/ModuleCache -Xcc -iquote -Xcc /Users/jeremy/Library/Developer/Xcode/DerivedData/HelloStack-gwarvffjlodyoufmfyvhoqnemiyy/Build/Intermediates/HelloStack.build/Debug/HelloStack.build/HelloStack-generated-files.hmap -Xcc -I/Users/jeremy/Library/Developer/Xcode/DerivedData/HelloStack-gwarvffjlodyoufmfyvhoqnemiyy/Build/Intermediates/HelloStack.build/Debug/HelloStack.build/HelloStack-own-target-headers.hmap -Xcc -I/Users/jeremy/Library/Developer/Xcode/DerivedData/HelloStack-gwarvffjlodyoufmfyvhoqnemiyy/Build/Intermediates/HelloStack.build/Debug/HelloStack.build/HelloStack-all-target-headers.hmap -Xcc -iquote -Xcc /Users/jeremy/Library/Developer/Xcode/DerivedData/HelloStack-gwarvffjlodyoufmfyvhoqnemiyy/Build/Intermediates/HelloStack.build/Debug/HelloStack.build/HelloStack-project-headers.hmap -Xcc -I/Users/jeremy/Library/Developer/Xcode/DerivedData/HelloStack-gwarvffjlodyoufmfyvhoqnemiyy/Build/Products/Debug/include -Xcc -I/Users/jeremy/src/HelloStack/Pods/Headers -Xcc -I/Users/jeremy/src/HelloStack/Pods/Headers/AFNetworking -Xcc -I/Users/jeremy/Library/Developer/Xcode/DerivedData/HelloStack-gwarvffjlodyoufmfyvhoqnemiyy/Build/Intermediates/HelloStack.build/Debug/HelloStack.build/DerivedSources/x86_64 -Xcc -I/Users/jeremy/Library/Developer/Xcode/DerivedData/HelloStack-gwarvffjlodyoufmfyvhoqnemiyy/Build/Intermediates/HelloStack.build/Debug/HelloStack.build/DerivedSources -Xcc -DDEBUG=1 -Xcc -DCOCOAPODS=1 -emit-module-doc-path /Users/jeremy/Library/Developer/Xcode/DerivedData/HelloStack-gwarvffjlodyoufmfyvhoqnemiyy/Build/Intermediates/HelloStack.build/Debug/HelloStack.build/Objects-normal/x86_64/main~partial.swiftdoc -O0 -emit-module-path /Users/jeremy/Library/Developer/Xcode/DerivedData/HelloStack-gwarvffjlodyoufmfyvhoqnemiyy/Build/Intermediates/HelloStack.build/Debug/HelloStack.build/Objects-normal/x86_64/main~partial.swiftmodule -serialize-diagnostics-path /Users/jeremy/Library/Developer/Xcode/DerivedData/HelloStack-gwarvffjlodyoufmfyvhoqnemiyy/Build/Intermediates/HelloStack.build/Debug/HelloStack.build/Objects-normal/x86_64/main.dia -emit-dependencies-path /Users/jeremy/Library/Developer/Xcode/DerivedData/HelloStack-gwarvffjlodyoufmfyvhoqnemiyy/Build/Intermediates/HelloStack.build/Debug/HelloStack.build/Objects-normal/x86_64/main.d -o /Users/jeremy/Library/Developer/Xcode/DerivedData/HelloStack-gwarvffjlodyoufmfyvhoqnemiyy/Build/Intermediates/HelloStack.build/Debug/HelloStack.build/Objects-normal/x86_64/main.o
1. While type-checking 'Promise' at /Users/jeremy/src/HelloStack/HelloStack/main.swift:1:1
<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)
Command /Applications/Xcode6-Beta.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swift failed with exit code 254
Comments
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!