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

Issue 706042 link

Starred by 2 users

Issue metadata

Status: Fixed
Owner:
Closed: Mar 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: All
Pri: 1
Type: Bug



Sign in to add a comment

flow events in memory-infra cause OOMs in trace viewer

Project Member Reported by primiano@chromium.org, Mar 28 2017

Issue description

Follow-up from internal thread "FYI: Windows is b0rken"
I received a trace from wez [1] and it hangs / OOMs the UI.
After some digging, it turns out this is all due the flow events in memory infra (which are purely there to debug the interactions between the various MDP).
The proof is that I generated a trace by filtering out just the memory-infra flow events in [2] and this loads perfectly.
I did see in the past very weird flow events every now and then. So I suspect that the two problems here are:
1. I end up having some collisions between processes when generating IDs for the flows
2. Cycles in the flow-id can cause TraceViewer to hang/oom (sigh)

I will file 2 separately on catapult. I might be cynic, but I don't expect that to be solved anytime soon.
However, 1. is very easy to solve. Those flow events are purely FYI and don't give too much value, so I'm going to kill them in 3... 2.. 1...

[1] https://drive.google.com/file/d/0B035MaLYW36CLVkwU2Zaa0xFQ0k/view?usp=drive_web
[2] https://drive.google.com/open?id=0B1oJWfrTOXwxX3hMODNDYnQyS2M

Script I used to filter out the trace
------
import json

d = json.load(open('trace-pseudo-oom_on_load.json'))
out = {}
out['metadata'] = d['metadata']
out['traceEvents'] = []

for e in d['traceEvents']:
  if not (e['cat'] == 'disabled-by-default-memory-infra' and e['ph'] != 'v'):
      out['traceEvents'].append(e)

with open('trace-processed.json', 'w') as f:
  json.dump(out, f)
-----
 

Comment 1 by w...@chromium.org, Mar 28 2017

Status: Started (was: Untriaged)
Project Member

Comment 3 by bugdroid1@chromium.org, Mar 28 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/21ea0c9b1eb01f5cd463d812c6b9a759d5227239

commit 21ea0c9b1eb01f5cd463d812c6b9a759d5227239
Author: primiano <primiano@chromium.org>
Date: Tue Mar 28 23:38:01 2017

memory-infra: remove debugging flow-events

The Trace Viewer UI can hang / OOM if the flow events are not
consistent. Very likely this started happening after memory-infra
started supported queueing of memory dump requests.
Flow events never added too much value, so ditching them to avoid
UI issues. Also this CL switches to the new TRACE_ID_LOCAL trace
macro for the remaining debugging events.

BUG= 706042 

Review-Url: https://codereview.chromium.org/2778743005
Cr-Commit-Position: refs/heads/master@{#460238}

[modify] https://crrev.com/21ea0c9b1eb01f5cd463d812c6b9a759d5227239/base/trace_event/memory_dump_manager.cc

Labels: Merge-Request-58
Status: Assigned (was: Started)
Requesting merge for M58. Not critical, but given the size of the patch would be nice to not have this problem there in the release.
Please add applicable OSs.  Thanks!
Labels: OS-All
Project Member

Comment 7 by sheriffbot@chromium.org, Mar 29 2017

Labels: -Merge-Request-58 Hotlist-Merge-Approved Merge-Approved-58
Your change meets the bar and is auto-approved for M58. Please go ahead and merge the CL to branch 3029 manually. Please contact milestone owner if you have questions.
Owners: amineer@(Android), cmasso@(iOS), bhthompson@(ChromeOS), govind@(Desktop)

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
Status: Fixed (was: Assigned)
fixed&merged
Project Member

Comment 9 by bugdroid1@chromium.org, Mar 30 2017

Labels: -merge-approved-58 merge-merged-3029
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/e3f707396bb17792de4f3b901b5766dae64b8013

commit e3f707396bb17792de4f3b901b5766dae64b8013
Author: Primiano Tucci <primiano@chromium.org>
Date: Thu Mar 30 13:03:14 2017

memory-infra: remove debugging flow-events

The Trace Viewer UI can hang / OOM if the flow events are not
consistent. Very likely this started happening after memory-infra
started supported queueing of memory dump requests.
Flow events never added too much value, so ditching them to avoid
UI issues. Also this CL switches to the new TRACE_ID_LOCAL trace
macro for the remaining debugging events.

BUG= 706042 

Review-Url: https://codereview.chromium.org/2778743005
Cr-Commit-Position: refs/heads/master@{#460238}
(cherry picked from commit 21ea0c9b1eb01f5cd463d812c6b9a759d5227239)

Review-Url: https://codereview.chromium.org/2787813002 .
Cr-Commit-Position: refs/branch-heads/3029@{#487}
Cr-Branched-From: 939b32ee5ba05c396eef3fd992822fcca9a2e262-refs/heads/master@{#454471}

[modify] https://crrev.com/e3f707396bb17792de4f3b901b5766dae64b8013/base/trace_event/memory_dump_manager.cc

Sign in to add a comment