Closed Bug 1944408 Opened 26 days ago Closed 19 days ago

Can not expand info about variable

Categories

(DevTools :: Debugger, defect)

Firefox 134
defect

Tracking

(firefox137 fixed)

RESOLVED FIXED
137 Branch
Tracking Status
firefox137 --- fixed

People

(Reporter: kes-kes, Assigned: hbenl)

References

(Regressed 1 open bug)

Details

Attachments

(2 files)

User Agent: Mozilla/5.0 (X11; Linux x86_64; rv:134.0) Gecko/20100101 Firefox/134.0

Steps to reproduce:

I want to see the value stored at a variable, but can not expand

Actual results:

I first move over formData. Small popup appeared on the bottom.
Then I click to expand Company
Now the window is outside of the screen.
I moved my mouse away and move over formData again.
Now info popups on the top.
But now I can not click anything inside that popup.
No any reactions

https://imgur.com/a/LLxIWYi

This is the last lines of code. I can not scroll more bottom to be able to see this popup entirely bottom

Expected results:

I should be able to expand nested data structures.

The Bugbug bot thinks this bug should belong to the 'Core::Widget: Gtk' component, and is moving the bug to that component. Please correct in case you think the bot is wrong.

Component: Untriaged → Widget: Gtk
Product: Firefox → Core
Component: Widget: Gtk → Debugger
Product: Core → DevTools

Thanks for the report, do you have a test page we could use to reproduce this issue?

Flags: needinfo?(kes-kes)
Flags: needinfo?(hbenl)

This happens to me after using the debugger for a while but I haven't figured out yet what's triggering it. But once it starts happening then it happens all the time, i.e. trying to expand or collapse properties in the preview popup stops working completely. But there's a workaround: if you try to expand a property (which initially doesn't work), then close the preview popup and reopen it again then the property is expanded. It looks like the state of the expander is updated but the preview popup is not rerendered.
I will update when/if I find STRs.

Flags: needinfo?(hbenl)

I was able to get the debugger into that broken state again and found out why it's not rerendered: https://searchfox.org/mozilla-central/source/devtools/client/shared/components/object-inspector/components/ObjectInspector.js#147-173
The shouldComponentUpdate() function will only allow updating after expandedPaths has changed if all the elements of expandedPaths are also in loadedProperties:

(expandedPaths.size !== nextProps.expandedPaths.size &&
  [...nextProps.expandedPaths].every(path =>
    nextProps.loadedProperties.has(path)
  ))

Somehow I had managed to get an element in there that never showed up in loadedProperties and so rerendering the preview popup was blocked.

I don't think this is site-specific so we don't need a test page for this issue.

Flags: needinfo?(kes-kes)

I found this error in the browser toolbox which is triggering the issue: I expanded a property but loading it failed and so it remained in expandedPaths but never showed up in loadedProperties and from that point on rerendering the object inspector was blocked.

Assignee: nobody → hbenl
Status: UNCONFIRMED → ASSIGNED
Ever confirmed: true
Pushed by nchevobbe@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/0a76059a6352 [devtools] Don't release underlying object actor when ObjectInspector is updated with new roots for debugger tooltip. r=nchevobbe,devtools-reviewers

Backed out for causing dt failures @ browser_dbg-preview-switch.js

Backout link: https://hg.mozilla.org/integration/autoland/rev/b3c7f0f7a21216ef9c93adf8be5dddf33c5c901a

Push with failures

Failure log -> TEST-UNEXPECTED-FAIL | devtools/client/debugger/test/mochitest/browser_dbg-preview-switch.js

 Try to expand a property
[task 2025-02-03T17:23:52.046Z] 17:23:52     INFO - Buffered messages finished
[task 2025-02-03T17:23:52.047Z] 17:23:52     INFO - TEST-UNEXPECTED-FAIL | devtools/client/debugger/test/mochitest/browser_dbg-preview-switch.js | Uncaught exception in test bound  - at chrome://mochitests/content/browser/devtools/client/shared/test/shared-head.js:1105 - Error: Failed waitFor():  
[task 2025-02-03T17:23:52.047Z] 17:23:52     INFO - Failed condition: () => {
[task 2025-02-03T17:23:52.047Z] 17:23:52     INFO -     const nodes = findElement(dbg, "previewPopup").querySelectorAll(".node");
[task 2025-02-03T17:23:52.048Z] 17:23:52     INFO -     if (nodes.length > index) {
[task 2025-02-03T17:23:52.048Z] 17:23:52     INFO -       initialNodesLength = nodes.length;
[task 2025-02-03T17:23:52.048Z] 17:23:52     INFO -       nodes[index].querySelector(".theme-twisty").click();
[task 2025-02-03T17:23:52.048Z] 17:23:52     INFO -       return true;
[task 2025-02-03T17:23:52.049Z] 17:23:52     INFO -     }
[task 2025-02-03T17:23:52.049Z] 17:23:52     INFO -     return false;
[task 2025-02-03T17:23:52.049Z] 17:23:52     INFO -   } 
[task 2025-02-03T17:23:52.049Z] 17:23:52     INFO - Exception Message:  - threw exception: TypeError: can't access property "querySelectorAll", (intermediate value).findElement(...) is null
[task 2025-02-03T17:23:52.049Z] 17:23:52     INFO - Stack trace:
[task 2025-02-03T17:23:52.050Z] 17:23:52     INFO - waitFor@chrome://mochitests/content/browser/devtools/client/shared/test/shared-head.js:1105:11
[task 2025-02-03T17:23:52.050Z] 17:23:52     INFO - async*toggleExpanded@chrome://mochitests/content/browser/devtools/client/debugger/test/mochitest/shared-head.js:2939:9
[task 2025-02-03T17:23:52.050Z] 17:23:52     INFO - @chrome://mochitests/content/browser/devtools/client/debugger/test/mochitest/browser_dbg-preview-switch.js:41:9
[task 2025-02-03T17:23:52.050Z] 17:23:52     INFO - async*handleTask@chrome://mochikit/content/browser-test.js:1147:26
[task 2025-02-03T17:23:52.051Z] 17:23:52     INFO - _runTaskBasedTest@chrome://mochikit/content/browser-test.js:1219:18
[task 2025-02-03T17:23:52.051Z] 17:23:52     INFO - Tester_execTest@chrome://mochikit/content/browser-test.js:1360:14
[task 2025-02-03T17:23:52.051Z] 17:23:52     INFO - nextTest/<@chrome://mochikit/content/browser-test.js:1136:14
[task 2025-02-03T17:23:52.051Z] 17:23:52     INFO - SimpleTest.waitForFocus/<@chrome://mochikit/content/tests/SimpleTest/SimpleTest.js:1058:13
[task 2025-02-03T17:23:52.051Z] 17:23:52     INFO - Leaving test bound 
[task 2025-02-03T17:23:52.153Z] 17:23:52     INFO - GECKO(1067) | [Parent 1067: Main Thread]: I/DocShellAndDOMWindowLeak --DOMWINDOW == 16 (7f727d5cc800) [pid = 1067] [serial = 325] [outer = 0] [url = chrome://devtools/content/debugger/index.html]
[task 2025-02-03T17:23:52.154Z] 17:23:52     INFO - GECKO(1067) | [Parent 1067: Main Thread]: I/DocShellAndDOMWindowLeak --DOMWINDOW == 15 (7f72712dce00) [pid = 1067] [serial = 322] [outer = 0] [url = about:devtools-toolbox]
[task 2025-02-03T17:23:53.065Z] 17:23:53     INFO - GECKO(1067) | [Parent 1067: Main Thread]: I/DocShellAndDOMWindowLeak --DOMWINDOW == 14 (7f7260b8f000) [pid = 1067] [serial = 328] [outer = 0] [url = about:blank]
[task 2025-02-03T17:23:53.066Z] 17:23:53     INFO - GECKO(1067) | [Parent 1067: Main Thread]: I/DocShellAndDOMWindowLeak --DOMWINDOW == 13 (7f727cbf4c00) [pid = 1067] [serial = 324] [outer = 0] [url = about:devtools-toolbox]
[task 2025-02-03T17:23:53.066Z] 17:23:53     INFO - GECKO(1067) | [Parent 1067: Main Thread]: I/DocShellAndDOMWindowLeak --DOMWINDOW == 12 (7f7234ab4c00) [pid = 1067] [serial = 326] [outer = 0] [url = about:blank]
[task 2025-02-03T17:23:53.095Z] 17:23:53     INFO - Removing tab.
[task 2025-02-03T17:23:53.096Z] 17:23:53     INFO - Waiting for event: 'TabClose' on [object XULElement].
[task 2025-02-03T17:23:53.122Z] 17:23:53     INFO - Got event: 'TabClose' on [object XULElement].
[task 2025-02-03T17:23:53.142Z] 17:23:53     INFO - GECKO(1067) | [Parent 1067, Main Thread] WARNING: NS_ENSURE_TRUE(mDoneSetup) failed: file /builds/worker/checkouts/gecko/editor/composer/nsEditingSession.cpp:1163
[task 2025-02-03T17:23:53.147Z] 17:23:53     INFO - Tab removed and finished closing
[task 2025-02-03T17:23:53.180Z] 17:23:53     INFO - GECKO(1067) | JavaScript error: , line 0: NotFoundError: No such JSProcessActor 'DevToolsProcess'
[task 2025-02-03T17:23:53.181Z] 17:23:53     INFO - GECKO(1067) | JavaScript error: , line 0: NotFoundError: No such JSProcessActor 'DevToolsProcess'
[task 2025-02-03T17:23:53.181Z] 17:23:53     INFO - GECKO(1067) | JavaScript error: , line 0: NotFoundError: No such JSProcessActor 'DevToolsProcess'
[task 2025-02-03T17:23:53.182Z] 17:23:53     INFO - GECKO(1067) | JavaScript error: , line 0: NotFoundError: No such JSProcessActor 'DevToolsProcess'
[task 2025-02-03T17:23:53.189Z] 17:23:53     INFO - GECKO(1067) | JavaScript error: , line 0: NotFoundError: No such JSProcessActor 'DevToolsProcess'
[task 2025-02-03T17:23:53.190Z] 17:23:53     INFO - GECKO(1067) | JavaScript error: , line 0: NotFoundError: No such JSProcessActor 'DevToolsProcess'
[task 2025-02-03T17:23:53.190Z] 17:23:53     INFO - GECKO(1067) | JavaScript error: , line 0: NotFoundError: No such JSProcessActor 'DevToolsProcess'
[task 2025-02-03T17:23:53.191Z] 17:23:53     INFO - GECKO(1067) | JavaScript error: , line 0: NotFoundError: No such JSProcessActor 'DevToolsProcess'
[task 2025-02-03T17:23:53.192Z] 17:23:53     INFO - GECKO(1067) | JavaScript error: , line 0: NotFoundError: No such JSProcessActor 'DevToolsProcess'
[task 2025-02-03T17:23:53.210Z] 17:23:53     INFO - GECKO(1067) | [Parent 1067: Main Thread]: I/DocShellAndDOMWindowLeak --DOCSHELL 7f724dded000 == 5 [pid = 1067] [id = 134] [url = chrome://devtools/content/debugger/index.html]
[task 2025-02-03T17:23:53.217Z] 17:23:53     INFO - Console message: [JavaScript Error: "NotFoundError: No such JSProcessActor 'DevToolsProcess'"]
[task 2025-02-03T17:23:53.217Z] 17:23:53     INFO - Console message: [JavaScript Error: "NotFoundError: No such JSProcessActor 'DevToolsProcess'"]
[task 2025-02-03T17:23:53.219Z] 17:23:53     INFO - Console message: [JavaScript Error: "NotFoundError: No such JSProcessActor 'DevToolsProcess'"]
[task 2025-02-03T17:23:53.219Z] 17:23:53     INFO - Console message: [JavaScript Error: "NotFoundError: No such JSProcessActor 'DevToolsProcess'"]
[task 2025-02-03T17:23:53.219Z] 17:23:53     INFO - TEST-PASS | devtools/client/debugger/test/mochitest/browser_dbg-preview-switch.js | The main process DevToolsServer has no pending connection when the test ends -
Flags: needinfo?(hbenl)
Pushed by hbenl@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/e4b326b9fcc2 [devtools] Don't release underlying object actor when ObjectInspector is updated with new roots for debugger tooltip. r=nchevobbe,devtools-reviewers
Flags: needinfo?(hbenl)
Regressions: 1945849
Regressions: 1945856
Status: ASSIGNED → RESOLVED
Closed: 19 days ago
Resolution: --- → FIXED
Target Milestone: --- → 137 Branch
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: