RESOLVED FIXED 87642
Web Inspector: REGRESSION: load heap snapshot doesn't work
https://bugs.webkit.org/show_bug.cgi?id=87642
Summary Web Inspector: REGRESSION: load heap snapshot doesn't work
Ilya Tikhonovsky
Reported 2012-05-28 02:32:09 PDT
Uncaught TypeError: Cannot call method 'finishLoading' of null
Attachments
Patch (26.66 KB, patch)
2012-05-29 01:04 PDT, Ilya Tikhonovsky
yurys: review+
Ilya Tikhonovsky
Comment 1 2012-05-29 01:04:31 PDT
Yury Semikhatsky
Comment 2 2012-05-29 01:34:55 PDT
Comment on attachment 144469 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=144469&action=review > Source/WebCore/ChangeLog:7 > + It declares the API for HSLoader, HSLoaderProxy and HSSaveToFileReceiver. Please don't abbreviate, use HeapSnapshotLoader etc. > Source/WebCore/inspector/front-end/HeapSnapshotLoader.js:52 > + this._reset(); It looks as if you were going to reuse the object after dispose. > Source/WebCore/inspector/front-end/HeapSnapshotView.js:839 > + this._loader = null; _loader -> _receiver > Source/WebCore/inspector/front-end/HeapSnapshotView.js:936 > + this.sidebarElement.subtitle = Number.bytesToString(this._snapshotProxy.totalSize); This will fail if _snapshotProxy is null. > Source/WebCore/inspector/front-end/HeapSnapshotView.js:1016 > + this._file = file; All file loading stuff can be extracted into a separate entity. > LayoutTests/inspector/profiler/heap-snapshot-loader.html:42 > + maxJSObjectId: 6 Can you extract this value from the snapshot mock?
Ilya Tikhonovsky
Comment 3 2012-05-29 02:17:55 PDT
Ilya Tikhonovsky
Comment 4 2012-05-29 04:40:25 PDT
(In reply to comment #2) > (From update of attachment 144469 [details]) > View in context: https://bugs.webkit.org/attachment.cgi?id=144469&action=review > > > Source/WebCore/ChangeLog:7 > > + It declares the API for HSLoader, HSLoaderProxy and HSSaveToFileReceiver. > > Please don't abbreviate, use HeapSnapshotLoader etc. > done > > Source/WebCore/inspector/front-end/HeapSnapshotLoader.js:52 > > + this._reset(); > > It looks as if you were going to reuse the object after dispose. > technically it is possible but practically it lives in a worker and is using only once. > > Source/WebCore/inspector/front-end/HeapSnapshotView.js:839 > > + this._loader = null; > > _loader -> _receiver done > > > Source/WebCore/inspector/front-end/HeapSnapshotView.js:936 > > + this.sidebarElement.subtitle = Number.bytesToString(this._snapshotProxy.totalSize); > > This will fail if _snapshotProxy is null. We can save a snapshot only if it has been loaded. In such case _snapshotProxy property is set. > > > Source/WebCore/inspector/front-end/HeapSnapshotView.js:1016 > > + this._file = file; > > All file loading stuff can be extracted into a separate entity. I'll do that in a separate patch. > > > LayoutTests/inspector/profiler/heap-snapshot-loader.html:42 > > + maxJSObjectId: 6 > > Can you extract this value from the snapshot mock?
Ádám Kallai
Comment 5 2012-05-29 07:01:38 PDT
This test fails on Lion and Qt. * inspector/profiler/heap-snapshot-loader.html I created a new bug report. * https://bugs.webkit.org/show_bug.cgi?id=87741
Note You need to log in before you can comment on or make changes to this bug.