PromiseKit: Xcode 11.2b1: Crashes with `EXC_I386_GPFLT` when using `after(seconds: TimeInterval)`
- Using latest stable PromiseKit (6.11.0) through SwiftPM
- This started happening in Xcode 11.2 beta 1
- You can reproduce it by calling
after(seconds: TimeInterval)anywhere in the code, example:
after(seconds: 2).done {
print("yay")
}
- The exception is happening in Guarantee.swift
EXC_BAD_ACCESS (code=EXC_I386_GPFLT)
About this issue
- Original URL
- State: closed
- Created 5 years ago
- Comments: 17 (5 by maintainers)
Commits related to this issue
- Fix crash (https://github.com/mxcl/PromiseKit/issues/1099) — committed to kuglee/TermiWatch by kuglee 5 years ago
- Change the xcode version from 10.0.0 to 9.2.0 to fix the release carthage issue (#1099) — committed to codestruction-eu/PromiseKit by deleted user 6 years ago
We found a workaround. Setting DEAD_CODE_STRIPPING = NO in our app’s target fixes the crash.
I have looked and it is not a bug in PromiseKit as far as I can tell. Swift itself seems the problem. So no, no luck in fixing this, please +1 the ticket at the Swift bug tracker.
Solved when upgraded xcode to 11.3
11.3 is out of beta now.
Yes, and now I’m thinking for how long Apple would accept apps built with Xcode 11.1. It’ll be problematic if they stop accepting 11.1 builds and 11.2 builds all crashes on this 🤷🏻♂️
Still happening with the Xcode 11.2 release
It turns out Xcode 11.3 fixed this issue (although still in beta).
It seems like an SPM specified problem. As far as I can say, using CocoaPods or Carthage will not trigger this crash.