From 010b368bc83f0b0ee748a860a67f8795e0b250b2 Mon Sep 17 00:00:00 2001 From: Pavel Modilaynen Date: Fri, 24 Feb 2017 11:22:20 +0100 Subject: [PATCH] buildstats.bbclass: Avoid index exception in /proc/PID/io parsing There is some probability (depends on system load) to get empty or line containing "0" as the last line while reading /proc/PID/io. Avoid build failure by checking if line contains separator ":" before split. (From OE-Core rev: b26feaf51af55f17fad79dbd53dd3ec0a37c38ff) Signed-off-by: Pavel Modilaynen Signed-off-by: Daniel Lublin Signed-off-by: Ross Burton Signed-off-by: Richard Purdie --- meta/classes/buildstats.bbclass | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/meta/classes/buildstats.bbclass b/meta/classes/buildstats.bbclass index 8d7b5988e3..960653c704 100644 --- a/meta/classes/buildstats.bbclass +++ b/meta/classes/buildstats.bbclass @@ -31,6 +31,11 @@ def get_process_cputime(pid): i = f.readline().strip() if not i: break + if not ":" in i: + # one more extra line is appended (empty or containing "0") + # most probably due to race condition in kernel while + # updating IO stats + break i = i.split(": ") iostats[i[0]] = i[1] resources = resource.getrusage(resource.RUSAGE_SELF)