New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 768355 link

Starred by 6 users

Issue metadata

Status: Assigned
Owner:
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Windows
Pri: 2
Type: Bug



Sign in to add a comment

Large (>1GB) Heap Snapshots Crashing Chrome

Reported by r...@openfin.co, Sep 25 2017

Issue description

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

Steps to reproduce the problem:
1. Create a web app which uses a decent amount of memory (250MB or more)
2. Run the Dev Tools > Memory > Take Heap Snapshot

What is the expected behavior?
A memory heap snapshot is created

What went wrong?
The process grows to a substantial amount of memory, in my use case it was almost 4GB, then the process crashes during the snapshot creation.

Did this work before? N/A 

Chrome version: 60.0.3112.113  Channel: n/a
OS Version: 6.1 (Windows 7, Windows Server 2008 R2)
Flash Version:
 
Labels: Needs-Triage-M60
Cc: sc00335...@techmahindra.com
Components: -Platform>DevTools Platform>DevTools>Memory
Labels: Triaged-ET Stability-Crash Needs-Feedback
Unable to reproduce this issue on reported version 60.0.3112.113 , on latest stable 61.0.3163.100 and on latest canary 63.0.3223.8 using Window 7 and is not reproducible with Google Hangouts app and steps mentioned below.

1.Added Google Hangouts app and navigated to chrome://inspect/#apps.
2.Clicked on inspect link and took heapsnapshot from memory tab.
3.Observed 48.5 MB memory and after that no crash is seen. Attaching screenshot of memory.

@Reporter: Could you please let us know on which web app you are seeing this issue? and also Could you please provide crash id's by navigating to chrome://crashes when you come across any crash.

Thanks!
Issue 768355.png
59.9 KB View Download

Comment 3 by r...@openfin.co, Sep 26 2017

I am able to replicate this on many machines (win7, win10).  The application is custom, but you can recreate by using:

var a = [];
for(x=0;x<5000000;x++){
a.push({a: Math.random(), b:Math.random()});
}

Then take a heap snapshot - the page will malfunction.  

I've checked crashes under chrome://crashes but do not see anything here.
Screen Shot 2017-09-26 at 3.36.43 PM.png
93.8 KB View Download
Project Member

Comment 4 by sheriffbot@chromium.org, Sep 26 2017

Labels: -Needs-Feedback
Thank you for providing more feedback. Adding requester "sc00335628@techmahindra.com" to the cc list and removing "Needs-Feedback" label.

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
Owner: alph@chromium.org
Status: Assigned (was: Unconfirmed)
alph@ what do you think?

Comment 6 by r...@openfin.co, Oct 23 2017

Has this been confirmed?  Do you need any further information on me?  I've been able to confirm the issue in newer and older Chrome versions.  Also happens in standalone Chromium.exe

Comment 7 by alph@chromium.org, Nov 17 2017

This is due to lack of backpressure mechanism in DevTools protocol. The backend generates snapshot data faster than the front-end client can consume. Thus the snapshot data is buffered in the frontend's main thread JS heap.
I reported the same issue in the DevTools issue tracker (https://github.com/ChromeDevTools/devtools-protocol/issues/71), which contains a similar reproduction path. Maybe that can be helpful? 

Comment 9 Deleted

To be clear: 
* this issue is not limited to Windows alone; Mac and Linux have the same issue.
* it's not limited to Chromium alone; this is a V8 issue, as it also occurs in Node.js when connecting through the DevTools protocol.

@alph@: is this backpressure issue fixable in any way? Or does this require a overhaul of the DevTools protocol? I'm very much interested in a solution, as this would enable us to create heapdumps when it's really needed; when an out of memory is about to occur (see npmjs.com/package/node-oom-heapdump).

Comment 11 by alph@chromium.org, Dec 20 2017

 Issue 796500  has been merged into this issue.
Summary: Large (>1GB) Heap Snapshots Crashing Chrome (was: Heap Snapshots Crashing Chrome)

Sign in to add a comment