Cannot set breakpoints anymore on all javascript lines
Categories
(DevTools :: Debugger, defect, P2)
Tracking
(firefox72 fixed)
Tracking | Status | |
---|---|---|
firefox72 | --- | fixed |
People
(Reporter: rf, Assigned: bhackett1024)
References
(Blocks 2 open bugs)
Details
Attachments
(1 file)
User Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:67.0) Gecko/20100101 Firefox/67.0
Steps to reproduce:
Windows 7 or Windows 10, Firefox 67.0.2
- goto https://www.boll.ch/breakpoint_test.php
- Start Javascript debugger
- Reload the test page
Actual results:
There are 3 javascript sections (2 in the head section, 1 in the body section).
Since Version 67 it is not anymore possible to set breakpoint on all javascript lines.
Sometimes I can set them only in the first script section, sometimes only in the second script section.
Expected results:
I have a web application with about 1'000'000 lines of code and thousands of script sections. Debugging is not possible anymore. It seems that Firefox doesn't recognize script sections correctly anymore.
I'm experiencing exactly the same behaviour as rf described since last week (at least). I have FF 67.0.2 64 bits.
I spent hours to figure out what caused the problem, before realizing it was a bug. Please assign a higher priority to its resolution : for me it's a real blocker, I even had to temporarily switch to Chrome because of it.
I am experiencing same issue on FF 67.0.4 64bit .
I found a bothersome work around / fix . if close the devtools and refresh the page and then open devtools , then the adding breakpoints start to work.
but if I refresh the page while devtools are open , then after page refresh I can not add breakpoints by any method.
Ali: This workaround seems not to work on the breakpoint_test.php page above. Closing devtools, refreshing the page and reopening devtools has the effect, that it's possible to set breakpoints in one of the script sections but not always the same. A random section seems to be active then.
I think that I am not allowed to change priority of this bug, but this makes devtools completely unusable for debugging. Please give it a higher priority.
I tested this in 69 and here is my STRs:
- Load https://www.boll.ch/breakpoint_test.php
- Open DevTools and select the Debugger panel
- Reload the page
- Create BPs at lines 7, 15, 26. I am able to create BPs in all three sections, but sometimes it's possible (ie BP locations fetched/applied properly from the server side) after the section (script) is executed the first time (or the Debugger breaks in that section for the first time).
- Reload the page. Only BP at line 7 stays, all the other are gone -> BUG (but the Debugger breaks at the lines where BPs are supposed to be)
Honza
I am still able to reproduce the problem:
- Load https://www.boll.ch/breakpoint_test.php
- Open DevTools and select the Debugger panel
- Reload the page
- Create BPs at lines 7, 15, 26.
- Reload the page. Only BP at line 7 stays, all the other are gone -> BUG
But the Debugger breaks at the lines where BPs are supposed to be.
@Brian, any tips what could be wrong here?
Honza
Assignee | ||
Comment 7•5 years ago
|
||
The problem here is that when reloading, the pending breakpoints (representing all the old breakpoints the debugger keeps in its local store) are only synced with the possible breakpoint positions on a source the first time we see that source. If we don't yet have the breakpoint positions for all scripts in the source, we only show the breakpoints we were able to find. The debugger still hits the breakpoints which aren't shown in the UI because the pending breakpoints have all been set in the server.
This is fixed by syncing breakpoints whenever we see a new script for the source. There is still a bit of oddness here though because after reloading, we still only see one breakpoint. This is because scripts for later <script> elements will not be created until the earlier script elements have finished executing, which hasn't happened yet when we pause at the first breakpoint. Resuming causes the debugger to both pause and show the breakpoint for the later positions.
Assignee | ||
Comment 8•5 years ago
|
||
Pushed by bhackett@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/0fc431c94ad2 Sync breakpoints when new source actors appear, r=loganfsmyth.
Comment 10•5 years ago
|
||
bugherder |
Comment 11•5 years ago
|
||
bugherder landing |
Description
•