RESOLVED FIXED 159648
[WK2][iOS] Intermittent crash in [UIApplication beginBackgroundTaskWithName] expiration handler
https://bugs.webkit.org/show_bug.cgi?id=159648
Summary [WK2][iOS] Intermittent crash in [UIApplication beginBackgroundTaskWithName] ...
Chris Dumez
Reported 2016-07-11 15:18:40 PDT
We see an intermittent crash in [UIApplication beginBackgroundTaskWithName] expiration handler. From the traces, we noticed the expiration handler can get called on a non-main thread under certain conditions, which our code is designed to deal with.
Attachments
Patch (3.49 KB, patch)
2016-07-11 15:28 PDT, Chris Dumez
no flags
Patch (3.50 KB, patch)
2016-07-11 15:41 PDT, Chris Dumez
no flags
Patch (3.37 KB, patch)
2016-07-11 16:03 PDT, Chris Dumez
no flags
Chris Dumez
Comment 1 2016-07-11 15:18:59 PDT
Chris Dumez
Comment 2 2016-07-11 15:28:25 PDT
Daniel Bates
Comment 3 2016-07-11 15:37:21 PDT
Comment on attachment 283352 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=283352&action=review > Source/WebKit2/UIProcess/ios/ProcessAssertionIOS.mm:101 > + if (RunLoop::current().isMain()) { We can make use of the convenience function RunLoop::isMain() to simplify the if-expression.
Chris Dumez
Comment 4 2016-07-11 15:41:19 PDT
Anders Carlsson
Comment 5 2016-07-11 15:47:04 PDT
Wouldn't it be better to just always dispatch to the main thread? This will break if the UIKit semantics change.
Chris Dumez
Comment 6 2016-07-11 16:03:13 PDT
WebKit Commit Bot
Comment 7 2016-07-11 16:30:07 PDT
Comment on attachment 283359 [details] Patch Clearing flags on attachment: 283359 Committed r203094: <http://trac.webkit.org/changeset/203094>
WebKit Commit Bot
Comment 8 2016-07-11 16:30:13 PDT
All reviewed patches have been landed. Closing bug.
Note You need to log in before you can comment on or make changes to this bug.