[Webkit-unassigned] [Bug 51351] UI process should respond to synchronous messages from the web process on a non-main thread by default

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Wed Jan 26 18:08:23 PST 2011


https://bugs.webkit.org/show_bug.cgi?id=51351





--- Comment #4 from Adam Roben (aroben) <aroben at apple.com>  2011-01-26 18:08:23 PST ---
(In reply to comment #3)
> We've decided to see if we can get away without this. We'll still have to fix bug 51352.

Anders and I just talked some more and realized that we will probably need to fix this eventually. Consider the following situation:

Web process:
Sends some asynchronous messages to the UI process, then sends a synchronous message (that doesn't present UI and thus is not covered by bug 51352, e.g., GetToolbarsAreVisible), and blocks waiting for a reply.

UI process:
While processing one of the asynchronous messages, touches the window hierarchy, resulting in a synchronous message to the web process.

So we've ended up in a deadlock again even if bug 51352 is fixed.

Our plan is threefold:
1) Make the web process spin a run loop while waiting for a reply to any synchronous message, not just those that end up presenting UI in the UI process.
2) Add a test mode to WebKit2 that exercises the reentrancy that spinning a nested run loop enables.
3) Eventually change WebKit2 only to spin a run loop while waiting for a reply to a synchronous message that will present UI, and move all other synchronous message handling to a non-main thread, as described in comment 1.

If the testing from (2) uncovers many intractable issues, we may do (3) sooner rather than later.

-- 
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.



More information about the webkit-unassigned mailing list