RESOLVED FIXED 213067
Occasional crashes when running nested runloops while using UIWebView
https://bugs.webkit.org/show_bug.cgi?id=213067
Summary Occasional crashes when running nested runloops while using UIWebView
Tim Horton
Reported 2020-06-10 21:52:28 PDT
Occasional crashes when running nested runloops while using UIWebView
Attachments
Patch (10.50 KB, patch)
2020-06-10 21:56 PDT, Tim Horton
no flags
Patch (11.37 KB, patch)
2020-06-10 22:49 PDT, Tim Horton
no flags
Patch (22.05 KB, patch)
2020-06-15 18:44 PDT, Tim Horton
no flags
Patch (14.06 KB, patch)
2020-08-03 14:44 PDT, Tim Horton
no flags
Patch (14.05 KB, patch)
2020-08-03 14:52 PDT, Tim Horton
no flags
Patch (14.05 KB, patch)
2020-08-03 14:54 PDT, Tim Horton
no flags
Patch (14.02 KB, patch)
2020-08-03 15:05 PDT, Tim Horton
no flags
Tim Horton
Comment 1 2020-06-10 21:56:20 PDT
Tim Horton
Comment 2 2020-06-10 21:57:32 PDT
I am not a CFRunLoop expert by any stretch of the imagination, so I hope someone can tell me if I'm doing something horribly wrong, or if there's a good reason not to do it this way.
Radar WebKit Bug Importer
Comment 3 2020-06-10 21:58:30 PDT
Geoffrey Garen
Comment 4 2020-06-10 22:21:51 PDT
Comment on attachment 401618 [details] Patch r=me
Geoffrey Garen
Comment 5 2020-06-10 22:22:21 PDT
I’ll CC Ben in case he can tell us that we did something wrong.
Tim Horton
Comment 6 2020-06-10 22:25:20 PDT
Ugh, I think the bots will need a clean build (or I will need to fix the build system). I had the same failure locally 'till I did.
Tim Horton
Comment 7 2020-06-10 22:26:51 PDT
Or maybe there's some file I can touch
Tim Horton
Comment 8 2020-06-10 22:49:04 PDT
Simon Fraser (smfr)
Comment 9 2020-06-11 19:39:50 PDT
Comment on attachment 401618 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=401618&action=review > Source/WebCore/platform/ios/wak/WebCoreThread.mm:667 > + RetainPtr<CFRunLoopObserverRef> mainRunLoopEntryObserver = adoptCF(CFRunLoopObserverCreate(nullptr, kCFRunLoopEntry, YES, 0, MainRunLoopEntry, nullptr)); > + RetainPtr<CFRunLoopObserverRef> mainRunLoopExitObserver = adoptCF(CFRunLoopObserverCreate(nullptr, kCFRunLoopExit, YES, 3000002, MainRunLoopExit, nullptr)); auto?. What does 3000002 come from?
Keith Rollin
Comment 10 2020-06-12 00:22:08 PDT
With Bug 213072 landed, I'm retrying the previously-failed builds.
Darin Adler
Comment 11 2020-06-12 09:38:15 PDT
Comment on attachment 401618 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=401618&action=review >> Source/WebCore/platform/ios/wak/WebCoreThread.mm:667 >> + RetainPtr<CFRunLoopObserverRef> mainRunLoopExitObserver = adoptCF(CFRunLoopObserverCreate(nullptr, kCFRunLoopExit, YES, 3000002, MainRunLoopExit, nullptr)); > > auto?. What does 3000002 come from? I’d also like to learn about 3000002.
Tim Horton
Comment 12 2020-06-12 10:00:52 PDT
Comment on attachment 401618 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=401618&action=review >>> Source/WebCore/platform/ios/wak/WebCoreThread.mm:667 >>> + RetainPtr<CFRunLoopObserverRef> mainRunLoopExitObserver = adoptCF(CFRunLoopObserverCreate(nullptr, kCFRunLoopExit, YES, 3000002, MainRunLoopExit, nullptr)); >> >> auto?. What does 3000002 come from? > > I’d also like to learn about 3000002. It's 3000001+1. 3000001 is 3000000+1. Perhaps we should give these some names :)
Simon Fraser (smfr)
Comment 13 2020-06-12 11:14:24 PDT
(In reply to Tim Horton from comment #12) > Comment on attachment 401618 [details] > Patch > > View in context: > https://bugs.webkit.org/attachment.cgi?id=401618&action=review > > >>> Source/WebCore/platform/ios/wak/WebCoreThread.mm:667 > >>> + RetainPtr<CFRunLoopObserverRef> mainRunLoopExitObserver = adoptCF(CFRunLoopObserverCreate(nullptr, kCFRunLoopExit, YES, 3000002, MainRunLoopExit, nullptr)); > >> > >> auto?. What does 3000002 come from? > > > > I’d also like to learn about 3000002. > > It's 3000001+1. 3000001 is 3000000+1. > > Perhaps we should give these some names :) You mean like WellKnownRunLoopOrders
Tim Horton
Comment 14 2020-06-12 11:22:53 PDT
Perfect! Also that suggests that 3000002 is actually 2000000+1000000+1 :)
Tim Horton
Comment 15 2020-06-12 11:23:05 PDT
(In reply to Tim Horton from comment #14) > Perfect! Also that suggests that 3000002 is actually 2000000+1000000+1 :) Err +2 obv
Tim Horton
Comment 16 2020-06-15 18:44:09 PDT
Geoffrey Garen
Comment 17 2020-06-15 18:55:48 PDT
Comment on attachment 401965 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=401965&action=review r=me > Source/WebCore/platform/ios/wak/WebCoreThread.mm:667 > + RetainPtr<CFRunLoopObserverRef> mainRunLoopExitObserver = adoptCF(CFRunLoopObserverCreate(nullptr, kCFRunLoopExit, YES, 3000002, MainRunLoopExit, nullptr)); Did we promise we’d give this a name?
Tim Horton
Comment 18 2020-08-03 14:44:01 PDT
Tim Horton
Comment 19 2020-08-03 14:52:28 PDT
Tim Horton
Comment 20 2020-08-03 14:54:55 PDT
Darin Adler
Comment 21 2020-08-03 14:58:08 PDT
Comment on attachment 405869 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=405869&action=review > Tools/TestWebKitAPI/Tests/WebKitLegacy/ios/WebThreadLock.mm:44 > + RetainPtr<CFRunLoopObserverRef> observer = adoptCF(CFRunLoopObserverCreateWithHandler(NULL, kCFRunLoopBeforeWaiting, NO, 2, ^(CFRunLoopObserverRef observer, CFRunLoopActivity activity) { auto
Tim Horton
Comment 22 2020-08-03 15:05:17 PDT
EWS
Comment 23 2020-08-03 15:53:10 PDT
Committed r265229: <https://trac.webkit.org/changeset/265229> All reviewed patches have been landed. Closing bug and clearing flags on attachment 405871 [details].
Note You need to log in before you can comment on or make changes to this bug.