From 3b76f2502aa0aa0659dd43161036f0e80bfff15c Mon Sep 17 00:00:00 2001 From: Andreas Kling Date: Mon, 16 Dec 2019 20:38:30 +0100 Subject: [PATCH] ProfileViewer: Ignore empty samples Sometimes we get empty samples in a profile. I'm not sure why that happens, but let's just ignore them for now. --- DevTools/ProfileViewer/Profile.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/DevTools/ProfileViewer/Profile.cpp b/DevTools/ProfileViewer/Profile.cpp index c9bcfe48c8..e1fc50ae81 100644 --- a/DevTools/ProfileViewer/Profile.cpp +++ b/DevTools/ProfileViewer/Profile.cpp @@ -28,10 +28,15 @@ Profile::Profile(const JsonArray& json) Sample sample; sample.timestamp = sample_object.get("timestamp").to_number(); - sample.in_kernel = sample_object.get("frames").as_array().at(1).as_object().get("address").to_number() < (8 * MB); auto frames_value = sample_object.get("frames"); auto& frames_array = frames_value.as_array(); + + if (frames_array.size() < 2) + continue; + + sample.in_kernel = frames_array.at(1).as_object().get("address").to_number() < (8 * MB); + for (int i = frames_array.size() - 1; i >= 1; --i) { auto& frame_value = frames_array.at(i); auto& frame_object = frame_value.as_object();