catapult-project / catapult

Deprecated Catapult GitHub. Please instead use http://crbug.com "Speed>Benchmarks" component for bugs and https://chromium.googlesource.com/catapult for downloading and editing source code..
https://chromium.googlesource.com/catapult
BSD 3-Clause "New" or "Revised" License
1.93k stars 564 forks source link

Malformed flow events can cause the TraceViewer UI to hang #3455

Open primiano opened 7 years ago

primiano commented 7 years ago

See crbug.com/706042 . Specifically hang of the UI happens with this trace https://drive.google.com/file/d/0B035MaLYW36CLVkwU2Zaa0xFQ0k/view?usp=drive_web

But does not happen after I filter out the flow events https://drive.google.com/open?id=0B1oJWfrTOXwxX3hMODNDYnQyS2M

Very likely because I ended up with mismatching IDs in the flow events generated by memory-infra. Not high prio, as I am just ditching flow events in memory-infra. However the UI should not hang just because the IDs don't match

I did filter the trace with this:

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)
MannyRamos commented 6 years ago

Is this still an issue?