59 bytes, text/x-review-board-request
While working on bug 1335778 I pushed a try build for my patch. As seen it has a lot of test failures: https://firstname.lastname@example.org Since then I was investigating the problem, and it turns out it is a hang for those listener commands which use the old dispatching technique. This hang specifically happens when any kind of exception is thrown right in the function body eg. listener.js:get(). It looks like sending the reply works fine. At least I do not get a failure. Maybe receiving it on the chrome side has a problem. And as result we never resolve the promise. I haven't figured out yet where the reply is handled on the chrome side. I tried in proxy.js but was not that successful. Andreas, do you have an advice where I can have a look at?
It has taken me a while to understand the old dispatching technique but now I got it. I'm sure that I know now what has to be done here.
Comment on attachment 8857855 [details] Bug 1356000 - Ensure unwrapped content listeners catch errors. https://reviewboard.mozilla.org/r/129890/#review132508 ::: commit-message-f40e2:1 (Diff revision 1) > +Bug 1356000 - Content listeners with old dispatching technique have to return errors. This is a bit long, maybe this will do? > Ensure unwrapped content listeners catch errors ::: commit-message-f40e2:3 (Diff revision 1) > +Currently content listeners which are using the old dispatching technique > +can cause a hang of Marionette if an exception is thrown. To ensure that > +errors are getting returned to the chrome process, all the code has to be > +placed into a try/catch block. I suggest this rephrasing: > Content listeners that are using the old IPC dispatching technique can > cause Marionette to hang when errors are thrown but not handled. To > ensure errors are returned to the chrome process, all the code has to > be placed in try…catch blocks.
Attachment #8857855 - Flags: review?(ato) → review+
Summary: Marionette hangs if exception gets thrown in functions which use the old dispatching technique → Marionette hangs if errors are thrown and not handled in content listeners using the old dispatching technique
Pushed by email@example.com: https://hg.mozilla.org/integration/autoland/rev/bb778a3d681e Ensure unwrapped content listeners catch errors. r=ato
Test-only fix which prevents a hang of Marionette, and which we would like to have on beta and esr52. Please uplift. Thanks.
Needs rebasing for ESR52.
Lets not worry about esr52 then. If it turns out to become an issue, we can do the update of the patch and its uplift.
You need to log in before you can comment on or make changes to this bug.