Closed Bug 1853030 Opened 1 year ago Closed 3 days ago

Intermittent devtools/client/inspector/fonts/test/browser_fontinspector_reveal-in-page.js | single tracking bug

Categories

(DevTools :: Inspector, defect, P5)

defect

Tracking

(firefox-esr115 unaffected, firefox-esr128 unaffected, firefox130 unaffected, firefox131 unaffected, firefox132 fixed)

RESOLVED FIXED
132 Branch
Tracking Status
firefox-esr115 --- unaffected
firefox-esr128 --- unaffected
firefox130 --- unaffected
firefox131 --- unaffected
firefox132 --- fixed

People

(Reporter: intermittent-bug-filer, Assigned: nchevobbe)

References

(Regression)

Details

(Keywords: intermittent-failure, intermittent-testcase, regression)

Attachments

(1 file)

Filed by: csabou [at] mozilla.com
Parsed log: https://treeherder.mozilla.org/logviewer?job_id=429004582&repo=autoland
Full log: https://firefox-ci-tc.services.mozilla.com/api/queue/v1/task/a7M6WXq_Sg6orywcGIdSoQ/runs/0/artifacts/public/logs/live_backing.log


[task 2023-09-13T17:19:32.127Z] 17:19:32     INFO - TEST-PASS | devtools/client/inspector/fonts/test/browser_fontinspector_reveal-in-page.js | 1 selectionchange events detected on mouseout - 
[task 2023-09-13T17:19:32.127Z] 17:19:32     INFO - Check that highlighting still works after reloading the page
[task 2023-09-13T17:19:32.128Z] 17:19:32     INFO - Navigating to "http://example.com/browser/devtools/client/inspector/fonts/test/doc_browser_fontinspector.html"
[task 2023-09-13T17:19:32.128Z] 17:19:32     INFO - Waiting for page to be loaded…
[task 2023-09-13T17:19:32.128Z] 17:19:32     INFO - Console message: [JavaScript Error: "Content-Security-Policy: The page’s settings blocked the loading of a resource at inline (“default-src”)." {file: "chrome://global/content/customElements.js" line: 499 column: 24 source: "display: none !important"}]
[task 2023-09-13T17:19:32.129Z] 17:19:32     INFO - Console message: [JavaScript Error: "Content-Security-Policy: The page’s settings blocked the loading of a resource at inline (“default-src”)." {file: "chrome://global/content/customElements.js" line: 499}]
[task 2023-09-13T17:19:32.129Z] 17:19:32     INFO - Console message: [JavaScript Error: "Content-Security-Policy: The page’s settings blocked the loading of a resource at inline (“default-src”)." {file: "chrome://global/content/elements/panel.js" line: 62}]
[task 2023-09-13T17:19:32.130Z] 17:19:32     INFO - Console message: [JavaScript Warning: "The character encoding of a framed document was not declared. The document may appear different if viewed without the document framing it." {file: "http://example.com/browser/devtools/client/inspector/fonts/test/test_iframe.html" line: 0}]
[task 2023-09-13T17:19:32.130Z] 17:19:32     INFO - Console message: [JavaScript Error: "Content-Security-Policy: The page’s settings blocked the loading of a resource at inline (“default-src”)." {file: "chrome://global/content/customElements.js" line: 499 column: 24 source: "display: none !important"}]
[task 2023-09-13T17:19:32.131Z] 17:19:32     INFO - Console message: [JavaScript Error: "Content-Security-Policy: The page’s settings blocked the loading of a resource at inline (“default-src”)." {file: "chrome://global/content/customElements.js" line: 499}]
[task 2023-09-13T17:19:32.131Z] 17:19:32     INFO - Console message: [JavaScript Error: "Content-Security-Policy: The page’s settings blocked the loading of a resource at inline (“default-src”)." {file: "chrome://global/content/elements/panel.js" line: 62}]
[task 2023-09-13T17:19:32.132Z] 17:19:32     INFO - → page loaded
[task 2023-09-13T17:19:32.132Z] 17:19:32     INFO - Wait for the toolbox to reload
[task 2023-09-13T17:19:32.132Z] 17:19:32     INFO - Waiting for toolbox commands to be reloaded…
[task 2023-09-13T17:19:32.132Z] 17:19:32     INFO - Waiting for target switch…
[task 2023-09-13T17:19:32.133Z] 17:19:32     INFO - → switched-target emitted
[task 2023-09-13T17:19:32.133Z] 17:19:32     INFO - Waiting for 'dom-complete' resource…
[task 2023-09-13T17:19:32.133Z] 17:19:32     INFO - Console message: [JavaScript Error: "downloadable font: download failed (font-family: "bar" style:normal weight:400 stretch:100 src index:0): status=2147746065 source: http://example.com/browser/devtools/client/inspector/fonts/test/bad/font/name.ttf"]
[task 2023-09-13T17:19:32.134Z] 17:19:32     INFO - → 'dom-complete' resource emitted
[task 2023-09-13T17:19:32.134Z] 17:19:32     INFO - Waiting for inspector to be reloaded…
[task 2023-09-13T17:19:32.134Z] 17:19:32     INFO - Waiting for markup view to load after navigation.
[task 2023-09-13T17:19:32.135Z] 17:19:32     INFO - Waiting for new root.
[task 2023-09-13T17:19:32.135Z] 17:19:32     INFO - Waiting for inspector to update after new-root event.
[task 2023-09-13T17:19:32.135Z] 17:19:32     INFO - Waiting for inspector updates after page reload
[task 2023-09-13T17:19:32.135Z] 17:19:32     INFO - → panel reloaded
[task 2023-09-13T17:19:32.136Z] 17:19:32     INFO - Wait for Responsive UI to reload
[task 2023-09-13T17:19:32.136Z] 17:19:32     INFO - Console message: [JavaScript Error: "Content-Security-Policy: The page’s settings blocked the loading of a resource at inline (“default-src”)." {file: "chrome://global/content/customElements.js" line: 499 column: 24 source: "display: none !important"}]
[task 2023-09-13T17:19:32.137Z] 17:19:32     INFO - Console message: [JavaScript Error: "Content-Security-Policy: The page’s settings blocked the loading of a resource at inline (“default-src”)." {file: "chrome://global/content/customElements.js" line: 499}]
[task 2023-09-13T17:19:32.137Z] 17:19:32     INFO - Console message: [JavaScript Error: "Content-Security-Policy: The page’s settings blocked the loading of a resource at inline (“default-src”)." {file: "chrome://global/content/elements/panel.js" line: 62}]
[task 2023-09-13T17:19:32.137Z] 17:19:32     INFO - Buffered messages finished
[task 2023-09-13T17:19:32.139Z] 17:19:32     INFO - TEST-UNEXPECTED-FAIL | devtools/client/inspector/fonts/test/browser_fontinspector_reveal-in-page.js | Uncaught exception in test bound  - at chrome://mochitests/content/browser/devtools/client/shared/test/shared-head.js:1055 - Error: Failed waitFor():  
[task 2023-09-13T17:19:32.139Z] 17:19:32     INFO - Failed condition: () => {
[task 2023-09-13T17:19:32.139Z] 17:19:32     INFO -     const els = getUsedFontsEls(viewDoc);
[task 2023-09-13T17:19:32.139Z] 17:19:32     INFO -     if (els.length !== expectedSelectionChangeEvents.length) {
[task 2023-09-13T17:19:32.139Z] 17:19:32     INFO -       return false;
[task 2023-09-13T17:19:32.139Z] 17:19:32     INFO -     }
[task 2023-09-13T17:19:32.139Z] 17:19:32     INFO - 
[task 2023-09-13T17:19:32.139Z] 17:19:32     INFO -     return els;
[task 2023-09-13T17:19:32.139Z] 17:19:32     INFO -   } 
[task 2023-09-13T17:19:32.139Z] 17:19:32     INFO - Exception Message:  - timed out after 500 tries.
[task 2023-09-13T17:19:32.139Z] 17:19:32     INFO - Stack trace:
[task 2023-09-13T17:19:32.139Z] 17:19:32     INFO - waitFor@chrome://mochitests/content/browser/devtools/client/shared/test/shared-head.js:1055:11
[task 2023-09-13T17:19:32.139Z] 17:19:32     INFO - async*testFontHighlighting@chrome://mochitests/content/browser/devtools/client/inspector/fonts/test/browser_fontinspector_reveal-in-page.js:33:25
[task 2023-09-13T17:19:32.139Z] 17:19:32     INFO - @chrome://mochitests/content/browser/devtools/client/inspector/fonts/test/browser_fontinspector_reveal-in-page.js:19:9
[task 2023-09-13T17:19:32.139Z] 17:19:32     INFO - async*handleTask@chrome://mochikit/content/browser-test.js:1131:26
[task 2023-09-13T17:19:32.139Z] 17:19:32     INFO - _runTaskBasedTest@chrome://mochikit/content/browser-test.js:1203:18
[task 2023-09-13T17:19:32.139Z] 17:19:32     INFO - Tester_execTest@chrome://mochikit/content/browser-test.js:1345:14
[task 2023-09-13T17:19:32.139Z] 17:19:32     INFO - nextTest/<@chrome://mochikit/content/browser-test.js:1120:14
[task 2023-09-13T17:19:32.139Z] 17:19:32     INFO - SimpleTest.waitForFocus/<@chrome://mochikit/content/tests/SimpleTest/SimpleTest.js:1058:13
[task 2023-09-13T17:19:32.140Z] 17:19:32     INFO - Leaving test bound 
[task 2023-09-13T17:19:32.140Z] 17:19:32     INFO - Removing tab.
[task 2023-09-13T17:19:32.140Z] 17:19:32     INFO - Waiting for event: 'TabClose' on [object XULElement].
[task 2023-09-13T17:19:32.141Z] 17:19:32     INFO - Got event: 'TabClose' on [object XULElement].
[task 2023-09-13T17:19:32.141Z] 17:19:32     INFO - Tab removed and finished closing
[task 2023-09-13T17:19:32.141Z] 17:19:32     INFO - GECKO(2534) | JavaScript error: , line 0: NotFoundError: No such JSWindowActor 'DevToolsFrame'
[task 2023-09-13T17:19:32.141Z] 17:19:32     INFO - GECKO(2534) | JavaScript error: , line 0: NotFoundError: No such JSWindowActor 'DevToolsFrame'
[task 2023-09-13T17:19:32.142Z] 17:19:32     INFO - Console message: [JavaScript Error: "NotFoundError: No such JSWindowActor 'DevToolsFrame'"]
[task 2023-09-13T17:19:32.142Z] 17:19:32     INFO - Console message: [JavaScript Error: "NotFoundError: No such JSWindowActor 'DevToolsFrame'"]
[task 2023-09-13T17:19:32.142Z] 17:19:32     INFO - TEST-PASS | devtools/client/inspector/fonts/test/browser_fontinspector_reveal-in-page.js | The main process DevToolsServer has no pending connection when the test ends - 
[task 2023-09-13T17:19:32.485Z] 17:19:32     INFO - GECKO(2534) | MEMORY STAT | vsize 8137MB | residentFast 453MB | heapAllocated 170MB
Status: NEW → RESOLVED
Closed: 10 months ago
Resolution: --- → INCOMPLETE
Status: RESOLVED → REOPENED
Resolution: INCOMPLETE → ---
Status: REOPENED → RESOLVED
Closed: 10 months ago8 months ago
Resolution: --- → INCOMPLETE
Status: RESOLVED → REOPENED
Resolution: INCOMPLETE → ---

This specific intermittent is also related to server side resource throttling, but more specifically I think it relates to the legacy resource root-node.
This resource is not impacted by server-side throttling, so it used to be throttled on the client side, but it's no longer the case.

In some scenarios (eg reload), inspector panels will therefore try to initialize earlier than before. In this case we call getUsedFontFaces from https://searchfox.org/mozilla-central/rev/54a5c4f14f3eb514a29e0cebcb5a095144bcd450/devtools/client/inspector/fonts/fonts.js#408, and we retrieve one unexpected font (helvetica). Possibly because a node uses Helvetica temporarily on the page before all fonts are fully loaded?

This might explain some other intermittent spikes we had recently.

Depends on: 1907940

We don't seem to have any failures since patch from Bug 1907940 landed 👍

Nicolas, this spiked again after Bug 1572655 landed, can you take a look?

Flags: needinfo?(nchevobbe)
Keywords: regression
Regressed by: 1572655

For a given family, we can get multiple time the same font
returned by the server. In such case, we had duplicated keys,
which seemed to cause trouble in the React render cycle, ultimately
causing to render more font than what was sent from the server.

Assignee: nobody → nchevobbe
Pushed by nchevobbe@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/3f4e1a78de2e [devtools] Set more specific key for FontName. r=jdescottes,devtools-reviewers.
Status: REOPENED → RESOLVED
Closed: 8 months ago3 days ago
Resolution: --- → FIXED
Target Milestone: --- → 132 Branch
Flags: needinfo?(nchevobbe)
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: