RESOLVED FIXED 221832
Unexpected ASSERT when touch events are dispatched on the main thread
https://bugs.webkit.org/show_bug.cgi?id=221832
Summary Unexpected ASSERT when touch events are dispatched on the main thread
Dean Jackson
Reported 2021-02-12 11:13:13 PST
ASSERT when touch events are dispatched on the main thread
Attachments
Patch (2.18 KB, patch)
2021-02-12 11:21 PST, Dean Jackson
no flags
Patch (5.44 KB, patch)
2021-02-14 14:07 PST, Dean Jackson
no flags
Patch (17.43 KB, patch)
2021-02-15 11:56 PST, Alex Christensen
dino: review+
Radar WebKit Bug Importer
Comment 1 2021-02-12 11:13:50 PST
Dean Jackson
Comment 2 2021-02-12 11:21:42 PST
EWS
Comment 3 2021-02-12 12:26:00 PST
Committed r272799: <https://commits.webkit.org/r272799> All reviewed patches have been landed. Closing bug and clearing flags on attachment 420154 [details].
Ryan Haddad
Comment 4 2021-02-12 15:08:34 PST
Reverted r272799 for reason: Caused debug WK2 tests to exit early with an assertion failure Committed r272816 (234052@main): <https://commits.webkit.org/234052@main>
Alexey Proskuryakov
Comment 5 2021-02-12 16:50:48 PST
Failures: https://build.webkit.org/results/Apple-BigSur-Debug-WK2-Tests/r272815%20(126)/results.html e.g. stderr: ASSERTION FAILED: m_shouldBeCalledOnMainThread == isMainThread() /Volumes/Data/slave/bigsur-debug/build/WebKitBuild/Debug/usr/local/include/wtf/CompletionHandler.h(65) : Out WTF::CompletionHandler<void (const WTF::Optional<WebKit::SecItemResponseData> &)>::operator()(In...)
Sam Weinig
Comment 6 2021-02-12 17:04:38 PST
Since this was trying to fix a regression from r272558, I think we should probably just back out r272558 now instead.
Dean Jackson
Comment 7 2021-02-14 14:07:54 PST
Darin Adler
Comment 8 2021-02-15 09:28:46 PST
Comment on attachment 420253 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=420253&action=review > Source/WTF/wtf/CompletionHandler.h:48 > + // FIXME: The logic here is a bit confusing, because you can't say that you want the handler to be called > + // on the same thread it was constructed on, unless that was the main thread. Should we add *that* feature instead of adding AnyThread?
Dean Jackson
Comment 9 2021-02-15 11:25:27 PST
Comment on attachment 420253 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=420253&action=review >> Source/WTF/wtf/CompletionHandler.h:48 >> + // on the same thread it was constructed on, unless that was the main thread. > > Should we add *that* feature instead of adding AnyThread? I think so. I'm talking to Alex now. Either way, the confusion comes from this class not being explicit that it will decide a handler should be called on the main thread if it was created on the main thread.
Dean Jackson
Comment 10 2021-02-15 11:27:39 PST
Comment on attachment 420253 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=420253&action=review >>> Source/WTF/wtf/CompletionHandler.h:48 >>> + // on the same thread it was constructed on, unless that was the main thread. >> >> Should we add *that* feature instead of adding AnyThread? > > I think so. I'm talking to Alex now. > > Either way, the confusion comes from this class not being explicit that it will decide a handler should be called on the main thread if it was created on the main thread. Alex said "land it", so I'll leave it to him to clean this up. (Another confusion comes because CompletionHandlers are nearly always constructed by assigning a function, and not passing the 2nd parameter to a constructor)
Alex Christensen
Comment 11 2021-02-15 11:32:21 PST
Comment on attachment 420253 [details] Patch Actually, I think I have an idea.
Sam Weinig
Comment 12 2021-02-15 11:34:47 PST
Can we just roll out the original if this is not going to land. The assert is really getting in the way.
Alex Christensen
Comment 13 2021-02-15 11:56:27 PST
Alex Christensen
Comment 14 2021-02-15 11:57:58 PST
(In reply to Sam Weinig from comment #12) > Can we just roll out the original if this is not going to land. The assert > is really getting in the way. Unfortunately a lot of code has landed on top of the original, which would require reverting several patches.
Alex Christensen
Comment 15 2021-02-15 12:28:47 PST
Note You need to log in before you can comment on or make changes to this bug.