When compiling certain complex project that includes Cocoapods Realm 3.14.0 under XCode 10.2, swift compiler crashes with a segmentation fault 11. When compiling the very same big project under XCode 10.1, everything works ok. Project is not migrated to swift 5 yet. OTOH, when including just Realm inside an empty project (via Cocoapods like in the original big project) both Xcode 10.2 and Xcode 10.1 almost empty projects compile without any problem.
OTOH, creating a simple project to isolate the issue doesn't cause any crash. (that is a blank project + Realm 3.14.0 imported via Cocoapods). We wish we could reproduce it via a "simple project" but we couldn't.
Realm 3.14.0 should properly compile under Xcode 10.2 without any problem (as it does under Xcode 10.1)
Xcode 10.2 Swift compiler crashes with Seg Fault 11 when compiling Realm 3.14.0 (included via Cocoapods).
Stack trace:
CompileSwift normal x86_64 /Users/MY_USERNAME/proyectos/MY_PROJECT_FOLDER/dev/BF0001/Pods/RealmSwift/RealmSwift/Error.swift (in target: RealmSwift-iOS)
cd /Users/MY_USERNAME/proyectos/MY_PROJECT_FOLDER/dev/BF0001/Pods
/Applications/Xcode_10.2.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swift -frontend -c /Users/MY_USERNAME/proyectos/MY_PROJECT_FOLDER/dev/BF0001/Pods/RealmSwift/RealmSwift/Aliases.swift -primary-file /Users/MY_USERNAME/proyectos/MY_PROJECT_FOLDER/dev/BF0001/Pods/RealmSwift/RealmSwift/Error.swift /Users/MY_USERNAME/proyectos/MY_PROJECT_FOLDER/dev/BF0001/Pods/RealmSwift/RealmSwift/LinkingObjects.swift /Users/MY_USERNAME/proyectos/MY_PROJECT_FOLDER/dev/BF0001/Pods/RealmSwift/RealmSwift/List.swift /Users/MY_USERNAME/proyectos/MY_PROJECT_FOLDER/dev/BF0001/Pods/RealmSwift/RealmSwift/Migration.swift /Users/MY_USERNAME/proyectos/MY_PROJECT_FOLDER/dev/BF0001/Pods/RealmSwift/RealmSwift/Object.swift /Users/MY_USERNAME/proyectos/MY_PROJECT_FOLDER/dev/BF0001/Pods/RealmSwift/RealmSwift/ObjectiveCSupport.swift /Users/MY_USERNAME/proyectos/MY_PROJECT_FOLDER/dev/BF0001/Pods/RealmSwift/RealmSwift/ObjectSchema.swift /Users/MY_USERNAME/proyectos/MY_PROJECT_FOLDER/dev/BF0001/Pods/RealmSwift/RealmSwift/Optional.swift /Users/MY_USERNAME/proyectos/MY_PROJECT_FOLDER/dev/BF0001/Pods/RealmSwift/RealmSwift/Property.swift /Users/MY_USERNAME/proyectos/MY_PROJECT_FOLDER/dev/BF0001/Pods/RealmSwift/RealmSwift/Realm.swift /Users/MY_USERNAME/proyectos/MY_PROJECT_FOLDER/dev/BF0001/Pods/RealmSwift/RealmSwift/RealmCollection.swift /Users/MY_USERNAME/proyectos/MY_PROJECT_FOLDER/dev/BF0001/Pods/RealmSwift/RealmSwift/RealmConfiguration.swift /Users/MY_USERNAME/proyectos/MY_PROJECT_FOLDER/dev/BF0001/Pods/RealmSwift/RealmSwift/Results.swift /Users/MY_USERNAME/proyectos/MY_PROJECT_FOLDER/dev/BF0001/Pods/RealmSwift/RealmSwift/Schema.swift /Users/MY_USERNAME/proyectos/MY_PROJECT_FOLDER/dev/BF0001/Pods/RealmSwift/RealmSwift/SortDescriptor.swift /Users/MY_USERNAME/proyectos/MY_PROJECT_FOLDER/dev/BF0001/Pods/RealmSwift/RealmSwift/SwiftVersion.swift /Users/MY_USERNAME/proyectos/MY_PROJECT_FOLDER/dev/BF0001/Pods/RealmSwift/RealmSwift/Sync.swift /Users/MY_USERNAME/proyectos/MY_PROJECT_FOLDER/dev/BF0001/Pods/RealmSwift/RealmSwift/ThreadSafeReference.swift /Users/MY_USERNAME/proyectos/MY_PROJECT_FOLDER/dev/BF0001/Pods/RealmSwift/RealmSwift/Util.swift -emit-module-path /Users/MY_USERNAME/Library/Developer/Xcode/DerivedData/BF0001-aqnuuidlrmjwvscwvgjxsbaczbbz/Build/Intermediates.noindex/Pods.build/Debug-iphonesimulator/RealmSwift-iOS.build/Objects-normal-tsan-ubsan/x86_64/Error\~partial.swiftmodule -emit-module-doc-path /Users/MY_USERNAME/Library/Developer/Xcode/DerivedData/BF0001-aqnuuidlrmjwvscwvgjxsbaczbbz/Build/Intermediates.noindex/Pods.build/Debug-iphonesimulator/RealmSwift-iOS.build/Objects-normal-tsan-ubsan/x86_64/Error\~partial.swiftdoc -serialize-diagnostics-path /Users/MY_USERNAME/Library/Developer/Xcode/DerivedData/BF0001-aqnuuidlrmjwvscwvgjxsbaczbbz/Build/Intermediates.noindex/Pods.build/Debug-iphonesimulator/RealmSwift-iOS.build/Objects-normal-tsan-ubsan/x86_64/Error.dia -emit-dependencies-path /Users/MY_USERNAME/Library/Developer/Xcode/DerivedData/BF0001-aqnuuidlrmjwvscwvgjxsbaczbbz/Build/Intermediates.noindex/Pods.build/Debug-iphonesimulator/RealmSwift-iOS.build/Objects-normal-tsan-ubsan/x86_64/Error.d -emit-reference-dependencies-path /Users/MY_USERNAME/Library/Developer/Xcode/DerivedData/BF0001-aqnuuidlrmjwvscwvgjxsbaczbbz/Build/Intermediates.noindex/Pods.build/Debug-iphonesimulator/RealmSwift-iOS.build/Objects-normal-tsan-ubsan/x86_64/Error.swiftdeps -target x86_64-apple-ios8.0-simulator -enable-objc-interop -sdk /Applications/Xcode_10.2.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator12.1.sdk -I /Users/MY_USERNAME/Library/Developer/Xcode/DerivedData/BF0001-aqnuuidlrmjwvscwvgjxsbaczbbz/Build/Products/Debug-iphonesimulator/RealmSwift-iOS -F /Users/MY_USERNAME/Library/Developer/Xcode/DerivedData/BF0001-aqnuuidlrmjwvscwvgjxsbaczbbz/Build/Products/Debug-iphonesimulator/RealmSwift-iOS -F /Users/MY_USERNAME/Library/Developer/Xcode/DerivedData/BF0001-aqnuuidlrmjwvscwvgjxsbaczbbz/Build/Products/Debug-iphonesimulator/Realm-iOS -application-extension -enable-testing -g -import-underlying-module -module-cache-path /Users/MY_USERNAME/Library/Developer/Xcode/DerivedData/ModuleCache.noindex -profile-generate -profile-coverage-mapping -sanitize=thread -swift-version 4 -enforce-exclusivity=checked -Onone -D DEBUG -D COCOAPODS -serialize-debugging-options -Xcc -working-directory -Xcc /Users/MY_USERNAME/proyectos/MY_PROJECT_FOLDER/dev/BF0001/Pods -enable-anonymous-context-mangled-names -Xcc -I/Users/MY_USERNAME/Library/Developer/Xcode/DerivedData/BF0001-aqnuuidlrmjwvscwvgjxsbaczbbz/Build/Intermediates.noindex/Pods.build/Debug-iphonesimulator/RealmSwift-iOS.build/swift-overrides.hmap -Xcc -iquote -Xcc /Users/MY_USERNAME/Library/Developer/Xcode/DerivedData/BF0001-aqnuuidlrmjwvscwvgjxsbaczbbz/Build/Intermediates.noindex/Pods.build/Debug-iphonesimulator/RealmSwift-iOS.build/RealmSwift-generated-files.hmap -Xcc -I/Users/MY_USERNAME/Library/Developer/Xcode/DerivedData/BF0001-aqnuuidlrmjwvscwvgjxsbaczbbz/Build/Intermediates.noindex/Pods.build/Debug-iphonesimulator/RealmSwift-iOS.build/RealmSwift-own-target-headers.hmap -Xcc -I/Users/MY_USERNAME/Library/Developer/Xcode/DerivedData/BF0001-aqnuuidlrmjwvscwvgjxsbaczbbz/Build/Intermediates.noindex/Pods.build/Debug-iphonesimulator/RealmSwift-iOS.build/RealmSwift-all-non-framework-target-headers.hmap -Xcc -ivfsoverlay -Xcc /Users/MY_USERNAME/Library/Developer/Xcode/DerivedData/BF0001-aqnuuidlrmjwvscwvgjxsbaczbbz/Build/Intermediates.noindex/Pods.build/Debug-iphonesimulator/RealmSwift-iOS.build/all-product-headers.yaml -Xcc -iquote -Xcc /Users/MY_USERNAME/Library/Developer/Xcode/DerivedData/BF0001-aqnuuidlrmjwvscwvgjxsbaczbbz/Build/Intermediates.noindex/Pods.build/Debug-iphonesimulator/RealmSwift-iOS.build/RealmSwift-project-headers.hmap -Xcc -I/Users/MY_USERNAME/Library/Developer/Xcode/DerivedData/BF0001-aqnuuidlrmjwvscwvgjxsbaczbbz/Build/Products/Debug-iphonesimulator/RealmSwift-iOS/include -Xcc -I/Users/MY_USERNAME/proyectos/MY_PROJECT_FOLDER/dev/BF0001/Pods/Headers/Private -Xcc -I/Users/MY_USERNAME/proyectos/MY_PROJECT_FOLDER/dev/BF0001/Pods/Headers/Public -Xcc -I/Users/MY_USERNAME/Library/Developer/Xcode/DerivedData/BF0001-aqnuuidlrmjwvscwvgjxsbaczbbz/Build/Intermediates.noindex/Pods.build/Debug-iphonesimulator/RealmSwift-iOS.build/DerivedSources-normal/x86_64 -Xcc -I/Users/MY_USERNAME/Library/Developer/Xcode/DerivedData/BF0001-aqnuuidlrmjwvscwvgjxsbaczbbz/Build/Intermediates.noindex/Pods.build/Debug-iphonesimulator/RealmSwift-iOS.build/DerivedSources/x86_64 -Xcc -I/Users/MY_USERNAME/Library/Developer/Xcode/DerivedData/BF0001-aqnuuidlrmjwvscwvgjxsbaczbbz/Build/Intermediates.noindex/Pods.build/Debug-iphonesimulator/RealmSwift-iOS.build/DerivedSources -Xcc -DPOD_CONFIGURATION_DEBUG=1 -Xcc -DDEBUG=1 -Xcc -DCOCOAPODS=1 -Xcc -ivfsoverlay -Xcc /Users/MY_USERNAME/Library/Developer/Xcode/DerivedData/BF0001-aqnuuidlrmjwvscwvgjxsbaczbbz/Build/Intermediates.noindex/Pods.build/Debug-iphonesimulator/RealmSwift-iOS.build/unextended-module-overlay.yaml -module-name RealmSwift -o /Users/MY_USERNAME/Library/Developer/Xcode/DerivedData/BF0001-aqnuuidlrmjwvscwvgjxsbaczbbz/Build/Intermediates.noindex/Pods.build/Debug-iphonesimulator/RealmSwift-iOS.build/Objects-normal-tsan-ubsan/x86_64/Error.o -index-store-path /Users/MY_USERNAME/Library/Developer/Xcode/DerivedData/BF0001-aqnuuidlrmjwvscwvgjxsbaczbbz/Index/DataStore -index-system-modules
/Users/MY_USERNAME/proyectos/MY_PROJECT_FOLDER/dev/BF0001/Pods/RealmSwift/RealmSwift/RealmCollection.swift:585:5: warning: 'public' modifier is redundant for instance method declared in a public extension
public func sorted(ascending: Bool = true) -> Results
^~~
/Users/MY_USERNAME/proyectos/MY_PROJECT_FOLDER/dev/BF0001/Pods/RealmSwift/RealmSwift/RealmCollection.swift:599:5: warning: 'public' modifier is redundant for instance method declared in a public extension
public func sorted(ascending: Bool = true) -> Results
^~~
/Users/MY_USERNAME/proyectos/MY_PROJECT_FOLDER/dev/BF0001/Pods/RealmSwift/RealmSwift/RealmCollection.swift:550:5: warning: 'public' modifier is redundant for instance method declared in a public extension
public func sum() -> Element {
^~~
/Users/MY_USERNAME/proyectos/MY_PROJECT_FOLDER/dev/BF0001/Pods/RealmSwift/RealmSwift/RealmCollection.swift:565:5: warning: 'public' modifier is redundant for instance method declared in a public extension
public func sum() -> Element.Wrapped {
^~~
/Users/MY_USERNAME/proyectos/MY_PROJECT_FOLDER/dev/BF0001/Pods/RealmSwift/RealmSwift/RealmCollection.swift:556:5: warning: 'public' modifier is redundant for instance method declared in a public extension
public func average() -> Double? {
^~~
/Users/MY_USERNAME/proyectos/MY_PROJECT_FOLDER/dev/BF0001/Pods/RealmSwift/RealmSwift/RealmCollection.swift:571:5: warning: 'public' modifier is redundant for instance method declared in a public extension
public func average() -> Double? {
^~~
Stack dump:
Load the "big" project, clean properly and run with cmd + r. When compiling the RealmSwift-iOS target, Swift compiler yields a segmentation fault code 11 when compiling these very specific 5 Realm files : Aliases.swift, Error.swift, List.swift, LinkingObjects.swift and Migration.swift
We can't provide any project, it's highly confidential. We provided the crash above.
Realm framework version: 3.14.0, 3.10.1 (both crash)
Realm Object Server version: N/A
Xcode version: Xcode 10.2
iOS/OSX version: Mojave 10.14.3 and 10.14.4
Dependency manager + version: ? Cocoapods (1.4.0 and 1.6.0)
A Swift compiler crash should be reported to Apple, as they're the ones that can fix that.
If you can supply a project that reproduces it I can attempt to work around whatever the bug in the compiler is, but without that there's not much we can do.
Yes, they've been reported also, but with the impossibility of isolating a minimum crash case we know it's kind of difficult (both for you and for Apple) having a lead to follow on ... The crashing project is (confidential) work in progress... Thanks anyway...
@friguron Hi. Do you creating issue to apple site ?
@friguron Hi. Do you creating issue to apple site ?
Yes we also reported it to them... But again, without a proper crashing project, we assume they won't be able to debug it as we all need to... :(
@friguron Can you give me issue URL? And then I have a similar problem. thx
Yep! Our Apple report is this one https://bugreport.apple.com/web/?problemID=49419187
(the very same exact info anyway)
Im experiencing the same issue at this moment.
I was able to build and run on simulator by disabling the Thread Sanitizer. It is actually mentioned on Swift 5 Release Notes on this site: https://developer.apple.com/documentation/xcode_release_notes/xcode_10_2_release_notes/swift_5_release_notes_for_xcode_10_2?preferredLanguage=occ
- Known Issues
The Swift compiler may crash during a build when the Thread Sanitizer is enabled. (48719789)
Workaround: Disable Thread Sanitizer in the Scheme Editor鈥檚 Diagnostics tab.
Hope this helps.
Enabling/Disabling the Thread Sanitizer
https://developer.apple.com/documentation/code_diagnostics/thread_sanitizer/enabling_the_thread_sanitizer
I was able to build and run on simulator by disabling the Thread Sanitizer. It is actually mentioned on Swift 5 Release Notes on this site: https://developer.apple.com/documentation/xcode_release_notes/xcode_10_2_release_notes/swift_5_release_notes_for_xcode_10_2?preferredLanguage=occ
- Known Issues
The Swift compiler may crash during a build when the Thread Sanitizer is enabled. (48719789)
Workaround: Disable Thread Sanitizer in the Scheme Editor鈥檚 Diagnostics tab.Hope this helps.
Enabling/Disabling the Thread Sanitizer
https://developer.apple.com/documentation/code_diagnostics/thread_sanitizer/enabling_the_thread_sanitizer
You, sir, are an amazing person :)
I overlooked that known issue, and apparently it was that. Just disabled it and Realm compiles again!!
So, it still can be considered as a Swift bug that will be soon fixed?...
Thanks anyway. We "can close" this thread.
@friguron Apple marked it as one of the known issues so I am sure it is on their todo list.
Closing this issue with no recent activity. I assume this issue has been resolved -- please let us know if that is not the case.
Most helpful comment
I was able to build and run on simulator by disabling the Thread Sanitizer. It is actually mentioned on Swift 5 Release Notes on this site: https://developer.apple.com/documentation/xcode_release_notes/xcode_10_2_release_notes/swift_5_release_notes_for_xcode_10_2?preferredLanguage=occ
Hope this helps.
Enabling/Disabling the Thread Sanitizer
https://developer.apple.com/documentation/code_diagnostics/thread_sanitizer/enabling_the_thread_sanitizer