Closed Bug 1364796 Opened 7 years ago Closed 11 months ago

about:performance not displaying data for non-responsive process

Categories

(Toolkit :: Performance Monitoring, defect, P3)

53 Branch
defect

Tracking

()

RESOLVED WONTFIX

People

(Reporter: Mark12547, Unassigned)

Details

(Whiteboard: [about-performance-v2])

User Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36

Steps to reproduce:

Open two tabs. First tab: about:performance Second  tab: my Netflix DVD home page at https://dvd.netflix.com/MemberHome

Now click on "Queue" on the Netflix page, which takes one to https://dvd.netflix.com/Queue?qtype=DD&lnkctr=mhbque but also runs the rendering process at 25% (the equivalent of one core on my 4-core processor). This runs for about 45 seconds until the queue finishes rendering. (My Netflix DVD queue is very long: 5 at home, 473 queued, 110 saved). While Firefox is busy rendering my Netflix DVD Queue, switch to the about:performance page (see results below). After the page finishes rendering, CPU normally drops back down to 1%-3%.


Actual results:

During the 45 seconds that the rendering process is consuming the equivalent of one core, this is what I see on about:performance

First anomaly: "Memory usage of Subprocesses" still lists the parent, but it has dropped the child process.

Second anomaly: "Performance of Web pages" no longer shows the tab, "Queue - DVD Netflix", but it still (correctly) shows the "about:performance" tab.

There is no indication whatsoever that I have a web page that is essentially CPU-bound.

After the page finishes rendering:

Third anomaly: The "Memory usage of Subprocesses" still does not show the child (rendering) process unless I manually refresh the page (e.g., F5).

The "Performance of Web Pages" now correctly shows the "Queue - DVD Netflix" page as well as the "about:performance" tab.


Expected results:

During the 45 seconds that the rendering process is consuming the equivalent of one core, this is what I see on about:performance

"Memory usage of Subprocesses" should list both the parent, and child processes all the time they exist.

"Performance of Web pages" should continue showing both tabs, the "about:performance" (green) and "Queue - DVD Netflix" (red to indicate a resource hog).

There is no indication whatsoever that I have a web page that is essentially CPU-bound.

After the page finishes rendering:

Third anomaly: The "Memory usage of Subprocesses" still does not show the child (rendering) process unless I manually refresh the page (e.g., F5).

The "Performance of Web Pages" now correctly shows the "Queue - DVD Netflix" page.
Component: Untriaged → Performance Monitoring
Product: Firefox → Toolkit
I can reproduce the problem reliably 100% of the time.
System details:
User agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:53.0) Gecko/20100101 Firefox/53.0
Firefox 53.0.2 (64-bit), multi-process is active.
Problem was reproduced with a new profile.
Computer: AMD A6-3620 APU with Radeon(tm) HD Graphics 2.20 GHz; 8GB memory,
Windows 7 Home Premium SP1 (64-bit)

Additional comment: if a user attempts to use about:performance to try to find the source of a slow-down, maybe it should report that a child process is non-responsive or, if CPU statistics could be gathered, show that it is indeed consuming CPU cycles. At least that bit of additional information would be useful if I were trying to track down an unexpectedly CPU-hungry page.
Reproduced by me on Firefox 54.0 (64-bit): about:process stops reporting the content process for my overly-long Netflix DVD page when that process is running 25% CPU usage (equivalent of one core) and instead displays everything is fine or just a bit of CPU usage. I had expected about:process to be showing as red the tab rending the Netflix DVD queue.

The page, https://dvd.netflix.com/Queue?qtype=DD, takes 54 seconds to render in Firefox 54 with a new profile (and no extensions), 55 seconds with my usual profile and extensions in Firefox 54, and 31 seconds in Chrome with my usual extensions. (I have 5, temporarily now 6 titles at home, 479 queued, 107 saved, so this is probably far larger than most people's DVD queue.)
Replicated in nightly Firefox 56.0a1 (2017-06-14) (64-bit)
Replicated in Firefox Nightly 58.0a1 (2017-09-26) (64-bit)  Build ID 20170926100259 on Windows 7 Home Premium SP1 (64-bit)
Whiteboard: [about-performance-v2]

This problem still can exist with the new about:performance page because the page gets info from processes via IPC. So if the process is very very busy, the info never gets to the about:performance page.

One way to mitigate this problem would be to use ChromeUtils::GetProcInfo() to detect super busy processes and do something in the UI about busy process even though we don't get any info via ChromeUtils::RequestPerformanceMetrics()

GetProcInfo() does system calls via the main process so we will be able to detect busy processes

Priority: -- → P3
Severity: normal → S3

Mass closing about:performance bugs as about:performance has been removed in bug 1836191 in favor of about:processes which displays more accurate data. If this bug still applies to about:processes, feel free to reopen and change the summary.

Status: UNCONFIRMED → RESOLVED
Closed: 11 months ago
Resolution: --- → WONTFIX
You need to log in before you can comment on or make changes to this bug.