Closed Bug 984928 Opened 10 years ago Closed 10 years ago

100% CPU on telemetry.mozilla.org

Categories

(Data Platform and Tools :: General, defect)

defect
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: Irving, Unassigned)

References

()

Details

(Keywords: perf)

+++ This bug was initially created as a clone of Bug #984838 +++

Split off from https://bugzilla.mozilla.org/show_bug.cgi?id=984838#c6

I saw similar behaviour on http://telemetry.mozilla.org/#release/27/SIMPLE_MEASURES_AMI_STARTUP_END/saved_session/Fennec (not sure it's completely required to reproduce, but I had the "Show evolution over Calendar Dates" button selected).

In my case, dismissing the slow script dialog a few times eventually led to crashes:

bp-0160e74b-eea5-41ae-a478-7fbb92140317	
bp-b856d64a-2b53-4a8f-9304-b08ef2140317
bp-93e62d47-59fc-4acc-b3fe-90e0c2140317

One note: running Nightly from the command line, I see the following warning:

JavaScript warning: http://cdnjs.cloudflare.com/ajax/libs/d3/3.3.9/d3.min.js, line 3: mutating the [[Prototype]] of an object will cause your code to run very slowly; instead create the object with the correct initial [[Prototype]] value using Object.create

Here's a profile: http://people.mozilla.org/~bgirard/cleopatra/#report=8e78388aa31ba35b58dec7ecba48ca70af22d59e
That profile shows a bunch of JS running off timers, which then goes and creates tons of arrays, does something with Voronoi polygons, creates a ton of non-Array objects, etc.

NVD3 is some sort of charting package.  Is it possible that the telemetry is continuously updating the charts or something?
I'm beginning to suspect this one is (at its core) a bug in the telemetry dashboard leading to out-of-memory, which is sometimes crashing the browser. Trying a few old Nightlies in case there's a regression range I can identify, but so far they all fail roughly the same way.
Flags: needinfo?(mreid)
Flags: needinfo?(jopsen)
I've reproduced this on several Nightly builds going back a few months, so I'm moving it to Telemetry Dashboard.
Component: General → Telemetry Dashboard
Product: Firefox → Webtools
Version: unspecified → Trunk
> NVD3 is some sort of charting package.  Is it possible that the telemetry is continuously updating
> the charts or something?
There is supposed to be some nice animation... But it isn't the animation loop, that went crazy.

> I'm beginning to suspect this one is (at its core) a bug in the telemetry dashboard leading to
> out-of-memory, which is sometimes crashing the browser.
I think you might be right.  I did some commenting in and out, and it looks like nvd3 or d3 decides to
loop for some negative values in Firefox (it still doesn't happen in chrome).
I'll move this bug to telemetry-dashboard component.

I don't think we'll ever find out why this only happens in Firefox. Because the UI for
telemetry-dashboard is mostly write-only code :)

I'm sorry, if wasted your time. I think we can work around this in telemetry-dashboard.
Flags: needinfo?(mreid)
Flags: needinfo?(jopsen)
Workaround landed in https://github.com/mozilla/telemetry-dashboard/commit/49a2eabae4c9929ed28380f5cf1d8bebd131c8b3
(It'll be online within 24 hours).

Ideally, we shouldn't have negative values in the aggregated results.
But tracking down why that happens is a mystery for another day.
Status: NEW → RESOLVED
Closed: 10 years ago
Resolution: --- → FIXED
Product: Webtools → Data Platform and Tools
Component: Telemetry Dashboards (TMO) → General
You need to log in before you can comment on or make changes to this bug.