Closed Bug 1662129 Opened 4 years ago Closed 4 years ago

Use the ResourceWatcher API to fetch Breakpoints

Categories

(DevTools :: Debugger, enhancement, P2)

enhancement

Tracking

(Fission Milestone:M7, firefox87 fixed)

RESOLVED FIXED
87 Branch
Fission Milestone M7
Tracking Status
firefox87 --- fixed

People

(Reporter: ochameau, Assigned: ochameau)

References

Details

(Whiteboard: dt-fission-m3-mvp)

Attachments

(4 files)

In order to support early breakpoint (bug 1573327), we probably have to introduce a "breakpoint" resource, which will be emitted very early as soon as the process or thread starts.
And to do that, the first step would be to implement a legacy listener which would map ThreadFront's paused and resumed RDP event into resources.

Severity: -- → S3
Priority: -- → P2
Summary: Use the ResourceWatcher API to fetch Sources → Use the ResourceWatcher API to fetch Breakpoints
Whiteboard: dt-fission-m2-reserve

Tracking dt-fission-m2-reserve bugs for Fission Beta milestone (M7).

Fission Milestone: --- → M7
Attachment #9173097 - Attachment description: Bug 1662129 - Introduce breakpoint resource → Bug 1662129 - [devtools] Introduce breakpoint resource

Bulk move of all dt-fission-m2-reserve bugs to Fission MVP milestone.

Fission Milestone: M7 → MVP
Whiteboard: dt-fission-m2-reserve → dt-fission-m3-mvp
Blocks: 1683139
Blocks: 1681699
Assignee: nobody → poirot.alex
Attachment #9173097 - Attachment description: Bug 1662129 - [devtools] Introduce breakpoint resource → Bug 1662129 - [devtools] Introduce breakpoint resource.
Status: NEW → ASSIGNED
Blocks: 1687292

The two "location" expressions being added, removed and re-added
are mixed up in the UI if we don't wait for the evaluation of the first,
before removing and re-adding it.

Pushed by apoirot@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/3f4451fcdc25 [devtools] Introduce breakpoint resource. r=nchevobbe,jdescottes https://hg.mozilla.org/integration/autoland/rev/9974b7eea47b [devtools] Rename ensureSourceActor to waitForSourceActorToBeRegisteredInStore. r=nchevobbe https://hg.mozilla.org/integration/autoland/rev/8562cd4f988b [devtools] Wait for EVALUATE_EXPRESSIONS actions from browser_dbg-expressions.js r=nchevobbe
Status: ASSIGNED → RESOLVED
Closed: 4 years ago
Resolution: --- → FIXED
Target Milestone: --- → 86 Branch

So, I'm hitting an intermittent failure on:
https://searchfox.org/mozilla-central/source/devtools/client/debugger/test/mochitest/browser_dbg-pause-points.js#69
Current thread has paused or resumed exception while running:

   await dbg.actions.stepOver(getThreadContext(dbg));

I think it relates to not waiting correctly for full resume.
If I add some more wait code around resume, I'm hitting yet another intermittent, this time even more intermittent:
Error: resume command sent while not paused. Currently attached exception while running the same line of code:

   await dbg.actions.stepOver(getThreadContext(dbg));

https://treeherder.mozilla.org/jobs?repo=try&selectedTaskRun=KazB4SbgT9yIrA1SwYl4OA.0&test_paths=devtools%2Fclient%2Fdebugger%2Ftest%2Fmochitest&revision=46ecdb27c59da99bb90c7975512c1c422b61de25

Unfortunately, I don't reproduce locally, which makes it hard to debug...

Status: REOPENED → ASSIGNED

I think the test wasn't waiting correctly for initial pause event, let's see if that's green now:
https://treeherder.mozilla.org/#/jobs?repo=try&revision=7e2d5c9abbb70742be67d13824cd360b9500d51f

As we weren't waiting for pause when calling the first debugger statement,
things were very much confused in stepOvers. We were asserting the initial debugger statement frame,
while, in stepOvers waiting for the first step over "paused" event.

Pushed by apoirot@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/a4c10e3ccf29 [devtools] Introduce breakpoint resource. r=nchevobbe,jdescottes https://hg.mozilla.org/integration/autoland/rev/83b191c95d22 [devtools] Rename ensureSourceActor to waitForSourceActorToBeRegisteredInStore. r=nchevobbe https://hg.mozilla.org/integration/autoland/rev/d32a6cd1eb33 [devtools] Wait for EVALUATE_EXPRESSIONS actions from browser_dbg-expressions.js r=nchevobbe https://hg.mozilla.org/integration/autoland/rev/0b44fc052838 [devtools] Wait for initial debugger statement breakpoint in browser_dbg-pause-points.js. r=nchevobbe
Regressions: 1687645
Regressions: 1689974

This completed dt-fission-m3-mvp bug should have Fission Milestone M7 Beta.

Fission Milestone: MVP → M7
Regressions: 1697184
No longer regressions: 1697184
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: