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

Issue 770530 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Oct 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux , Windows , Mac
Pri: 2
Type: Bug



Sign in to add a comment

Unable to use chrome://tracing with manual edit settings

Reported by gauravde...@gmail.com, Oct 1 2017

Issue description

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

Steps to reproduce the problem:
1. Goto chrome://tracing and record new trace 
2. In record new trace: manually select settings and select All in both record categories and disabled by default categories
3. Press record and open google.com in new tab and then stop recording immediately after google opens in new tab

What is the expected behavior?
Trace should be displayed

What went wrong?
While importing:
TypeError: Cannot read property 'sampleTitle' of undefined
    at TraceEventImporter.processSample (chrome://tracing/tracing.js:4750:354)
    at TraceEventImporter.processV8Events (chrome://tracing/tracing.js:4769:250)
    at TraceEventImporter.importEvents (chrome://tracing/tracing.js:4773:32)
    at importer (chrome://tracing/tracing.js:1200:232)
    at task.subTask (chrome://tracing/tracing.js:1196:268)
    at Task.run (chrome://tracing/tracing.js:2032:95)
    at runAnother (chrome://tracing/tracing.js:2035:371)
    at runTask (chrome://tracing/tracing.js:2011:57)
    at processIdleWork (chrome://tracing/tracing.js:2016:116)
    at window.requestIdleCallback.timeout (chrome://tracing/tracing.js:2009:81)

Did this work before? N/A 

Chrome version: 63.0.3228.0  Channel: canary
OS Version: 6.2 (Windows 8)
Flash Version:
 
Components: -Platform>DevTools Speed>Tracing
Able to reproduce the issue on the reported version of 
Chrome 63.0.3228.0 and the latest canary 63.0.3230.0 
in Windows 10,Ubuntu 14.04 and in Mac 10.12.6
This issue seems to be from the M50(50.0.2661.0). 
Hence marking it as non-regression.

Thanks!
Cc: keerthan...@techmahindra.com
Labels: Triaged-ET M-63 OS-Linux OS-Mac
Status: Untriaged (was: Unconfirmed)
Cc: benjhayden@chromium.org
Ben, would you be able to take a look?
Owner: benjhayden@chromium.org
Status: Started (was: Untriaged)
Unable to repro on Chrome 61.0.3163.79 on Linux desktop.
The TypeError suggests that profileTree.getNode is returning undefined.
It doesn't look like there have been any recent changes to trace_event_importer or profile_tree.
I might have a fix, but it's hard to test if I can't repro.
https://chromium-review.googlesource.com/c/698287/

Can anybody provide a trace that reproduces the error? Or patch in that change to a local build of chromium/src/third_party/catapult/ and try to repro?
Cc: petermarshall@chromium.org
The attached "trace_770530 (1).json.gz" reproduces the error.

I attached a vulcanized HTML version of that trace with the bugfix to demonstrate that the fix prevents the error. https://chromium-review.googlesource.com/c/698287/

The root cause is the ProfileChunk trace event in disabled-by-default-v8.cpu_profiler in Chromium.
https://codesearch.chromium.org/chromium/src/v8/src/profiler/profile-generator.cc?type=cs&q=v8.cpu_profiler+ProfileChunk&sq=package:chromium&l=487

+petermarshall, is it possible that one of your recent changes to profile-generator.cc could cause the ProfileChunk trace event sample's args to be missing its "nodes" array?
trace_770530 (1).json.gz
74.3 KB Download
trace_770530 (1).json.html
3.5 MB View Download
Cc: -petermarshall@chromium.org l...@chromium.org
Owner: petermarshall@chromium.org
I'm landing a fix for trace-viewer. Assigning to petermarshall and +lpy for followup on the v8 profiler.
I can look into this early next week
Project Member

Comment 9 by bugdroid1@chromium.org, Oct 6 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/catapult/+/01e53c1d417652f7957342fc67dbf9973eb7bfa7

commit 01e53c1d417652f7957342fc67dbf9973eb7bfa7
Author: Ben Hayden <benjhayden@chromium.org>
Date: Fri Oct 06 16:40:18 2017

Gracefully fail for malformed samples.

A recent change to v8's profile samples broke its "nodes" array,
causing a TypeError at `node.sampleTitle` due to profileTree.getNode()
returning undefined due to `profileTree.add(profileNode)` never having
been called.

See the bug for repro, demo, and details.

Bug:  chromium:770530 
Change-Id: Iae509f68a5bf617c7d581ee8cbe53dcf6bd8823f
Reviewed-on: https://chromium-review.googlesource.com/698287
Commit-Queue: Ben Hayden <benjhayden@chromium.org>
Reviewed-by: lpy <lpy@chromium.org>

[modify] https://crrev.com/01e53c1d417652f7957342fc67dbf9973eb7bfa7/tracing/tracing/extras/importer/trace_event_importer.html

Cc: petermarshall@chromium.org
Owner: leszeks@chromium.org
I bisected this to https://chromium.googlesource.com/v8/v8/+/dadbde038d9526bb08195bfa5ef2a87d036da046

It looks like it could be related, although I can't immediately see how it could break things here. Leszek, could you take a look?
Yup, missing entries in a switch. Fix incoming.
Project Member

Comment 12 by bugdroid1@chromium.org, Oct 11 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/9fcd80c28562319ca0d7803390ab6e5fc1624762

commit 9fcd80c28562319ca0d7803390ab6e5fc1624762
Author: Leszek Swirski <leszeks@chromium.org>
Date: Wed Oct 11 10:35:39 2017

[profiler] Add missing VMStates to EntryForVMState

Bug:  chromium:770530 
Change-Id: I48f4c6968a34e0dce99f72e56302de81bf0f1991
Reviewed-on: https://chromium-review.googlesource.com/709597
Commit-Queue: Leszek Swirski <leszeks@chromium.org>
Reviewed-by: Peter Marshall <petermarshall@chromium.org>
Cr-Commit-Position: refs/heads/master@{#48446}
[modify] https://crrev.com/9fcd80c28562319ca0d7803390ab6e5fc1624762/src/profiler/profile-generator.cc

Status: Fixed (was: Started)
Seems to work now, even without the patch above.

Sign in to add a comment