Issue metadata
Sign in to add a comment
|
Timeline stuck on the "Retrieving timeline..." aka Maximum call stack size exceeded
Reported by
trusktr@gmail.com,
May 25 2016
|
||||||||||||||||||||||
Issue descriptionUserAgent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.102 Safari/537.36 Steps to reproduce the problem: 1. Recorda timeline 2. Click "Finish" What is the expected behavior? The "Retrieving timeline..." dialog should eventually finish. What went wrong? Seems to stay there a really long time (forever?). Did this work before? N/A Chrome version: 50.0.2661.102 Channel: n/a OS Version: OS X 10.10.2 Flash Version: Shockwave Flash 21.0 r0 I don't have much info to give. I tried debugging the devtools, but there's no output in that case, no errors.
,
May 26 2016
Yep, there's not enough info to track it down. So you mean you opened DevTools on DevTools and there were no error messages in the console? Can you share the site you was recording?
,
May 26 2016
I have the same problem on all version of Chrome 50 that I've used as well as Chrome Canary. I do not have this problem on Chrome 49. I've been experiencing this consistently since updating from Chrome 49. The CPU profiler demonstrates a similar problem. It happens on a complicated React.js page that I'm developing, and two of my coworkers are experiencing the exact same problem.
,
May 26 2016
Continuing ^, sorry. I am using Mac OS 10.10.5, but I've deleted my Chrome 50 install so I'm not sure which exact version I had there.
,
May 26 2016
Here is something interesting for the CPU Profiler case:
When I debug the dev tools using the dev tools, I see "Uncaught RangeError: Maximum call stack size exceeded" when I try to stop the timeline or CPU profile from recording.
In the timeline case, I see "Loading timeline...".
In the cpu profiler case, I just see "Recording..." underneath the name of the profile ("Profile 1").
,
May 26 2016
I'm on Chrome 50.0.2661.94, and having exactly the same problem as a...@andymoreland.com, on a React.js app.
,
May 27 2016
I can't post a repro because the code is private. If I run into it on a public project I'll come back.
,
May 27 2016
The blue progress bar reaches all the way to the end and stays there in my case (in case that provides any hint).
,
May 27 2016
Looks like the cause is that V8 cannot parse a quite deeply nested object literals:
eval("foo="+"{children:[".repeat(250)+"]}".repeat(250))
VM761:1 Uncaught RangeError: Maximum call stack size exceeded(…)
The data structure is coming out of cpu profiler. It has a limit of 255 stack frames which is slightly higher than what V8 can handle.
,
May 27 2016
Issue 612003 has been merged into this issue.
,
May 27 2016
I bisected it to V8 4.10.1 roll https://chromium.googlesource.com/chromium/src/+/b5277dbe0c54f41d6cfd9344727bb314b083559d Could v8 folks please take a look. We'd like to merge a fix into stable, as it breaks CPU profiling.
,
May 27 2016
is there a reason you cant use JSON.parse?
,
May 28 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/a2b2954002b9f46a902bb23ed6a11ba4c0604096 commit a2b2954002b9f46a902bb23ed6a11ba4c0604096 Author: alph <alph@chromium.org> Date: Sat May 28 04:06:07 2016 DevTools: Fix Maximum call stack size exceeded error while retrieving CPU profile. Do not pass object literals into dispatchMessage API. Always turn it into a string. BUG= 614860 Review-Url: https://codereview.chromium.org/2022673002 Cr-Commit-Position: refs/heads/master@{#396633} [modify] https://crrev.com/a2b2954002b9f46a902bb23ed6a11ba4c0604096/chrome/browser/devtools/devtools_ui_bindings.cc [modify] https://crrev.com/a2b2954002b9f46a902bb23ed6a11ba4c0604096/content/shell/browser/shell_devtools_frontend.cc
,
May 28 2016
,
May 29 2016
[Automated comment] Less than a week to go before stable on M51, we might already have a stable candidate build. Manual review required.
,
May 29 2016
Your change meets the bar and is auto-approved for M52 (branch: 2743)
,
May 29 2016
[Automated comment] Less than a week to go before stable on M51, we might already have a stable candidate build. Manual review required.
,
May 30 2016
Before we approve merge to M51, Could you please confirm whether this change is baked/verified in Canary and safe to merge?
,
May 30 2016
No Canary was built during the weekend, so it's not yet baked in. The change is safe though. I wonder if the approval process and testing in Canary could go in parallel? I'm not going to merge it before it's verified in Canary anyway.
,
May 30 2016
Approving Merge to M51 branch 2704 based on comment #19, please only merge after verifying in Canary and confirming it is a safe merge. Thank you.
,
May 31 2016
The Canary is here. Just checked that the patch works as expected. Thank you.
,
May 31 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/bf58c68f985266678b7b6f40f10131b2fb7a6aa3 commit bf58c68f985266678b7b6f40f10131b2fb7a6aa3 Author: Alexei Filippov <alph@chromium.org> Date: Tue May 31 08:32:03 2016 DevTools: Fix Maximum call stack size exceeded error while retrieving CPU profile. Do not pass object literals into dispatchMessage API. Always turn it into a string. BUG= 614860 Review-Url: https://codereview.chromium.org/2022673002 Cr-Commit-Position: refs/heads/master@{#396633} (cherry picked from commit a2b2954002b9f46a902bb23ed6a11ba4c0604096) Review URL: https://codereview.chromium.org/2024813002 . Cr-Commit-Position: refs/branch-heads/2704@{#682} Cr-Branched-From: 6e53600def8f60d8c632fadc70d7c1939ccea347-refs/heads/master@{#386251} [modify] https://crrev.com/bf58c68f985266678b7b6f40f10131b2fb7a6aa3/chrome/browser/devtools/devtools_ui_bindings.cc [modify] https://crrev.com/bf58c68f985266678b7b6f40f10131b2fb7a6aa3/content/shell/browser/shell_devtools_frontend.cc
,
May 31 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/172c3abbe1f4c439df2e1259a75b11f4b1195e94 commit 172c3abbe1f4c439df2e1259a75b11f4b1195e94 Author: Alexei Filippov <alph@chromium.org> Date: Tue May 31 08:36:36 2016 DevTools: Fix Maximum call stack size exceeded error while retrieving CPU profile. Do not pass object literals into dispatchMessage API. Always turn it into a string. BUG= 614860 Review-Url: https://codereview.chromium.org/2022673002 Cr-Commit-Position: refs/heads/master@{#396633} (cherry picked from commit a2b2954002b9f46a902bb23ed6a11ba4c0604096) Review URL: https://codereview.chromium.org/2018353006 . Cr-Commit-Position: refs/branch-heads/2743@{#134} Cr-Branched-From: 2b3ae3b8090361f8af5a611712fc1a5ab2de53cb-refs/heads/master@{#394939} [modify] https://crrev.com/172c3abbe1f4c439df2e1259a75b11f4b1195e94/chrome/browser/devtools/devtools_ui_bindings.cc [modify] https://crrev.com/172c3abbe1f4c439df2e1259a75b11f4b1195e94/content/shell/browser/shell_devtools_frontend.cc
,
May 31 2016
,
Jun 1 2016
Verified the issue on Mac 10.11.5,Ubuntu 14.04 and Win 7 using stable # 51.0.2704.78 and Dev 52.0.2743.19, its working fine.
,
Jun 3 2016
You cannot verify it on the chrome://version page. I verified it on M51 MacOS and Linux with the testcase attached. Google Chrome 51.0.2704.79 (Official Build) (64-bit) Revision e300a2fe0cfcf2cc3bb5d753043e73967c33c749-refs/branch-heads/2704@{#690} |
|||||||||||||||||||||||
►
Sign in to add a comment |
|||||||||||||||||||||||
Comment 1 by eostroukhov@chromium.org
, May 26 2016Owner: alph@chromium.org
Status: Assigned (was: Unconfirmed)