Closed Bug 1904314 Opened 3 months ago Closed 3 months ago

2.03% browser-console:parent-process objects-with-stacks (Linux) regression on Tue June 18 2024

Categories

(DevTools :: Console, defect)

defect

Tracking

(firefox-esr115 unaffected, firefox127 unaffected, firefox128 unaffected, firefox129 wontfix)

RESOLVED WONTFIX
Tracking Status
firefox-esr115 --- unaffected
firefox127 --- unaffected
firefox128 --- unaffected
firefox129 --- wontfix

People

(Reporter: nchevobbe, Unassigned)

References

(Regression)

Details

(Keywords: perf, perf-alert, regression)

Perfherder has detected a devtools performance regression from push e661e5f38919dbad924cb0c4a570cdbefdaa05b0. As author of one of the patches included in that push, we need your help to address this regression.

Regressions:

Ratio Test Platform Options Absolute values (old vs new)
2% browser-console:parent-process objects-with-stacks linux1804-64-qr 16,086.00 -> 16,413.00

Details of the alert can be found in the alert summary, including links to graphs and comparisons for each of the affected tests. Please follow our guide to handling regression bugs and let us know your plans within 3 business days, or the patch(es) may be backed out in accordance with our regression policy.

If you need the profiling jobs you can trigger them yourself from treeherder job view or ask a sheriff to do that for you.

You can run these tests on try with ./mach try perf --alert 830

For more information on performance sheriffing please see our FAQ.


Note that this might have been caused by Bug 1901643 , and not Bug 1901644 (which landed at the same time)

Flags: needinfo?(poirot.alex)

Set release status flags based on info from the regressing bug 1901644

:nchevobbe could this be triaged for severity? (adding an NI as triage owner)

Flags: needinfo?(nchevobbe)

I investigated the leak report, this seems to be related to an existing leak. The increase just scales as we added more attributes/objects.

Here is the few leaks reported:
From

0:18.52 GECKO(68060)   {
 0:18.52 GECKO(68060)     "src": "resource://devtools/shared/protocol/Request.js",
 0:18.52 GECKO(68060)     "count": 525,
 0:18.52 GECKO(68060)     "lines": [
 0:18.52 GECKO(68060)       "102: 150",
 0:18.52 GECKO(68060)       "105: 147",
 0:18.52 GECKO(68060)       "122: 129",
 0:18.52 GECKO(68060)       "168: 63",
 0:18.52 GECKO(68060)       "167: 3",
 0:18.52 GECKO(68060)       "155: 3",
 0:18.52 GECKO(68060)       "147: 3",
 0:18.52 GECKO(68060)       "142: 3",
 0:18.52 GECKO(68060)       "121: 3",
 0:18.52 GECKO(68060)       "115: 3",
 0:18.52 GECKO(68060)       "111: 3",
 0:18.52 GECKO(68060)       "110: 3",
 0:18.52 GECKO(68060)       "67: 3",
 0:18.52 GECKO(68060)       "37: 3",
 0:18.52 GECKO(68060)       "27: 3",
 0:18.52 GECKO(68060)       "21: 3"
 0:18.52 GECKO(68060)     ]
 0:18.52 GECKO(68060)   },

To:

 0:19.02 GECKO(67067)   {
 0:19.02 GECKO(67067)     "src": "resource://devtools/shared/protocol/Request.js",
 0:19.02 GECKO(67067)     "count": 597,
 0:19.02 GECKO(67067)     "lines": [
 0:19.02 GECKO(67067)       "102: 174",
 0:19.02 GECKO(67067)       "105: 171",
 0:19.02 GECKO(67067)       "122: 153",
 0:19.02 GECKO(67067)       "168: 63",
 0:19.02 GECKO(67067)       "167: 3",
 0:19.02 GECKO(67067)       "155: 3",
 0:19.02 GECKO(67067)       "147: 3",
 0:19.02 GECKO(67067)       "142: 3",
 0:19.02 GECKO(67067)       "121: 3",
 0:19.02 GECKO(67067)       "115: 3",
 0:19.02 GECKO(67067)       "111: 3",
 0:19.02 GECKO(67067)       "110: 3",
 0:19.02 GECKO(67067)       "67: 3",
 0:19.02 GECKO(67067)       "37: 3",
 0:19.02 GECKO(67067)       "27: 3",
 0:19.02 GECKO(67067)       "21: 3"
 0:19.02 GECKO(67067)     ]
 0:19.02 GECKO(67067)   },

We were leaking request. We probably to more requests and leak some more.

0:18.57 GECKO(68060)   {
 0:18.57 GECKO(68060)     "src": "resource://devtools/shared/event-emitter.js",
 0:18.57 GECKO(68060)     "count": 117,
 0:18.57 GECKO(68060)     "lines": [
 0:18.57 GECKO(68060)       "53: 27",
 0:18.57 GECKO(68060)       "16: 9",
 0:18.57 GECKO(68060)       "1: 9",
 0:18.57 GECKO(68060)       "369: 3",
 0:18.57 GECKO(68060)       "361: 3",
 0:18.57 GECKO(68060)       "360: 3",
 0:18.57 GECKO(68060)       "358: 3",
 0:18.57 GECKO(68060)       "350: 3",
 0:18.57 GECKO(68060)       "343: 3",
 0:18.57 GECKO(68060)       "337: 3",
 0:18.57 GECKO(68060)       "333: 3",
 0:18.57 GECKO(68060)       "329: 3",
 0:18.57 GECKO(68060)       "325: 3",
 0:18.57 GECKO(68060)       "321: 3",
 0:18.57 GECKO(68060)       "317: 3",
 0:18.57 GECKO(68060)       "313: 3",
 0:18.57 GECKO(68060)       "309: 3",
 0:18.57 GECKO(68060)       "303: 3",
 0:18.57 GECKO(68060)       "282: 3",
 0:18.57 GECKO(68060)       "209: 3",
 0:18.57 GECKO(68060)       "189: 3",
 0:18.57 GECKO(68060)       "185: 3",
 0:18.57 GECKO(68060)       "151: 3",
 0:18.57 GECKO(68060)       "126: 3",
 0:18.57 GECKO(68060)       "77: 3",
 0:18.57 GECKO(68060)       "45: 3",
 0:18.57 GECKO(68060)       "33: 3"
 0:18.57 GECKO(68060)     ]
 0:18.57 GECKO(68060)   },

To:

 0:19.07 GECKO(67067)   {
 0:19.07 GECKO(67067)     "src": "resource://devtools/shared/event-emitter.js",
 0:19.07 GECKO(67067)     "count": 126,
 0:19.07 GECKO(67067)     "lines": [
 0:19.07 GECKO(67067)       "53: 36",
 0:19.07 GECKO(67067)       "16: 9",
 0:19.07 GECKO(67067)       "1: 9",
 0:19.07 GECKO(67067)       "369: 3",
 0:19.07 GECKO(67067)       "361: 3",
 0:19.07 GECKO(67067)       "360: 3",
 0:19.07 GECKO(67067)       "358: 3",
 0:19.07 GECKO(67067)       "350: 3",
 0:19.07 GECKO(67067)       "343: 3",
 0:19.07 GECKO(67067)       "337: 3",
 0:19.07 GECKO(67067)       "333: 3",
 0:19.07 GECKO(67067)       "329: 3",
 0:19.07 GECKO(67067)       "325: 3",
 0:19.07 GECKO(67067)       "321: 3",
 0:19.07 GECKO(67067)       "317: 3",
 0:19.07 GECKO(67067)       "313: 3",
 0:19.07 GECKO(67067)       "309: 3",
 0:19.07 GECKO(67067)       "303: 3",
 0:19.07 GECKO(67067)       "282: 3",
 0:19.07 GECKO(67067)       "209: 3",
 0:19.07 GECKO(67067)       "189: 3",
 0:19.07 GECKO(67067)       "185: 3",
 0:19.07 GECKO(67067)       "151: 3",
 0:19.07 GECKO(67067)       "126: 3",
 0:19.07 GECKO(67067)       "77: 3",
 0:19.07 GECKO(67067)       "45: 3",
 0:19.07 GECKO(67067)       "33: 3"
 0:19.07 GECKO(67067)     ]
 0:19.07 GECKO(67067)   },

This is similar, we were leaking EventEmitters and just leak some more.

I haven't find any actionable item. Something outside of these generic classes.
Given that's against the browser console and not easily actionable and isn't reported as a major difference, closing as won't fix.

Status: NEW → RESOLVED
Closed: 3 months ago
Flags: needinfo?(poirot.alex)
Flags: needinfo?(nchevobbe)
Resolution: --- → WONTFIX
You need to log in before you can comment on or make changes to this bug.