Closed Bug 1392540 Opened 7 years ago Closed 7 years ago

DOM Promises from debugger modules are frozen while debugging

Categories

(Core :: DOM: Workers, enhancement, P2)

enhancement

Tracking

()

RESOLVED FIXED
mozilla58
Tracking Status
firefox58 --- fixed

People

(Reporter: ochameau, Assigned: ochameau)

References

Details

Attachments

(1 file)

See bug 1387128 comment 10.
It looks like DOM Promises used by the debugger itself are froken when we are debugging a worker script.
This prevents getting rid of Promise.jsm, which itsn't frozen as Promise implementation itself is in plain JS.
Andrea, TBH, I didn't knew who to ask for this patch. Eddy and Kyle were the main contributor for this...
Feel free to redirect to whoever makes sense!
Assignee: nobody → poirot.alex
Comment on attachment 8899738 [details]
Bug 1392540 - Keep running debugger Promise while debugging workers.

Ben, May be you have more knowledges on the worker implementation?
Attachment #8899738 - Flags: review?(bkelly)
Comment on attachment 8899738 [details]
Bug 1392540 - Keep running debugger Promise while debugging workers.

This looks reasonable to me, but I'm not super confident I understand the microtask checkpoint stuff.  Andrea, what do you think?
Attachment #8899738 - Flags: review?(bkelly) → feedback+
Andrew, Could you help me find a reviewer for this?
Flags: needinfo?(overholt)
Comment on attachment 8899738 [details]
Bug 1392540 - Keep running debugger Promise while debugging workers.

https://reviewboard.mozilla.org/r/171072/#review181252

sorry for the delay.
Attachment #8899738 - Flags: review?(amarchesini) → review+
Flags: needinfo?(overholt)
Are we ready to land this now, Alexandre?
Flags: needinfo?(poirot.alex)
Priority: -- → P2
I'm a bit stressed by this patch as I have no idea what are the real consequences of it.
I would like to have a dedicated test for this, but I haven't been able to make one.
At least, not one in dom/ folder which doesn't involve the whole devtools codebase.
So I would be more confident landing this in FF58, hopefully, with a test.
Flags: needinfo?(poirot.alex)
Waiting for 58 sounds good to me :)
Comment on attachment 8899738 [details]
Bug 1392540 - Keep running debugger Promise while debugging workers.

https://reviewboard.mozilla.org/r/171072/#review189094

::: dom/workers/test/WorkerDebugger_promise_debugger.js:29
(Diff revision 2)
>        };
> +      // Test bug 1392540 where DOM Promises from debugger principal
> +      // where frozen while hitting a worker breakpoint.
> +      Promise.resolve().then(() => {
> -      postMessage("paused");
> +        postMessage("paused");
> +      });

Baku, could you take a quick look at the test modification I did to cover this?
I modified an existing test instead of introducing a new one just for that.

It pass with the c++ patch:
https://treeherder.mozilla.org/#/jobs?repo=try&revision=68480a97faecbfdbf9f62a4a295a51fd288f1006
And timesout without it:
https://treeherder.mozilla.org/#/jobs?repo=try&revision=4114c1fe691067a15c39f658c937ea1508b67e6e&selectedJob=133424752
Attachment #8899738 - Flags: review?(poirot.alex)
Attachment #8899738 - Flags: review?(poirot.alex)
Attachment #8899738 - Flags: review?(amarchesini)
Attachment #8899738 - Flags: review+
Comment on attachment 8899738 [details]
Bug 1392540 - Keep running debugger Promise while debugging workers.

https://reviewboard.mozilla.org/r/171072/#review189098

Yes, it seems correct to me.
Attachment #8899738 - Flags: review?(amarchesini) → review+
Thanks for the fast response!
Pushed by apoirot@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/469ad7100cae
Keep running debugger Promise while debugging workers. r=baku
https://hg.mozilla.org/mozilla-central/rev/469ad7100cae
Status: NEW → RESOLVED
Closed: 7 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla58
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: