WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
Bug 61185
Web Inspector: [Chromium] Searching in a bottom-up view of a large CPU profile overloads system and finally stops execution of any Inspector code
https://bugs.webkit.org/show_bug.cgi?id=61185
Summary
Web Inspector: [Chromium] Searching in a bottom-up view of a large CPU profil...
Mikhail Naganov
Reported
2011-05-20 05:34:19 PDT
From
http://code.google.com/p/chromium/issues/detail?id=28864
What steps will reproduce the problem? 1. Gather a CPU profile from V8 benchmarks site. 2. Try to search in bottom-up view. Search hogs all time of a CPU core and finally stops with no results. DevTools stops working after that. Analysis shows that this is due to V8's heap got exhausted by trying to build a bottom-up tree from a top down. This problem originates from the fact that in WebKit Inspector the bottom up tree is built dynamically from the top down tree. Thus, to perform a search in a bottom up tree, it first needs to be fully built, which can grow up V8's heap to its limit. JSC doesn't impose heap size limit, so searching in the same tree in WebKit just eats up a enormous amount of memory, but finishes happily. It seems that an approach to maintaining calls tree needs to be reworked in WebKit Inspector.
Attachments
patch
(6.11 KB, patch)
2011-05-20 06:10 PDT
,
Mikhail Naganov
yurys
: review+
mnaganov
: commit-queue-
Details
Formatted Diff
Diff
View All
Add attachment
proposed patch, testcase, etc.
Mikhail Naganov
Comment 1
2011-05-20 06:10:13 PDT
Created
attachment 94204
[details]
patch
Yury Semikhatsky
Comment 2
2011-05-20 06:39:47 PDT
Comment on
attachment 94204
[details]
patch View in context:
https://bugs.webkit.org/attachment.cgi?id=94204&action=review
> Source/WebCore/bindings/js/ScriptProfile.cpp:71 > + // FIXME: implement building bottom-up profiles in C++ code,
Please file a bug against JSC and put its number next to the FIXME.
Mikhail Naganov
Comment 3
2011-05-20 06:47:39 PDT
Manually committed:
http://trac.webkit.org/changeset/86947
2011-05-20 Mikhail Naganov <
mnaganov@chromium.org
> Reviewed by Yury Semikhatsky. Web Inspector: [Chromium] Use bottom-up CPU profile tree built in VM, instead of building it on Inspector's side.
https://bugs.webkit.org/show_bug.cgi?id=61185
* bindings/js/ScriptProfile.cpp: (WebCore::ScriptProfile::bottomUpHead): (WebCore::ScriptProfile::buildInspectorObjectForBottomUpHead): * bindings/js/ScriptProfile.h: * bindings/v8/ScriptProfile.cpp: (WebCore::ScriptProfile::bottomUpHead): (WebCore::ScriptProfile::buildInspectorObjectForBottomUpHead): * bindings/v8/ScriptProfile.h: * inspector/InspectorProfilerAgent.cpp: (WebCore::InspectorProfilerAgent::getProfile): * inspector/front-end/ProfileView.js: (WebInspector.CPUProfileView.prototype.get bottomUpProfileDataGridTree):
Mikhail Naganov
Comment 4
2011-05-20 06:51:39 PDT
(In reply to
comment #2
)
> (From update of
attachment 94204
[details]
) > View in context:
https://bugs.webkit.org/attachment.cgi?id=94204&action=review
> > > Source/WebCore/bindings/js/ScriptProfile.cpp:71 > > + // FIXME: implement building bottom-up profiles in C++ code, > > Please file a bug against JSC and put its number next to the FIXME.
Oh, sorry, I've already had an issue created:
https://bugs.webkit.org/show_bug.cgi?id=61184
But I forgot to put it into fixme.
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug