[OE-core] [morty][PATCH] buildstats.bbclass: Avoid index exception in /proc/PID/io parsing

Martin Jansa martin.jansa at gmail.com
Sun Mar 4 11:41:00 UTC 2018


ping

On Wed, Jan 31, 2018 at 8:10 PM, Martin Jansa <martin.jansa at gmail.com>
wrote:

> From: Pavel Modilaynen <pavelmn at axis.com>
>
> 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.
>
> Backport from pyro commit b26feaf51af55f17fad79dbd53dd3ec0a37c38ff
>
> Signed-off-by: Pavel Modilaynen <pavelmn at axis.com>
> Signed-off-by: Daniel Lublin <daniel at lublin.se>
> Signed-off-by: Ross Burton <ross.burton at intel.com>
> Signed-off-by: Martin Jansa <Martin.Jansa at gmail.com>
> ---
>  meta/classes/buildstats.bbclass | 5 +++++
>  1 file changed, 5 insertions(+)
>
> diff --git a/meta/classes/buildstats.bbclass b/meta/classes/buildstats.
> bbclass
> index 599a219984..415d2ee820 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)
> --
> 2.15.1
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openembedded.org/pipermail/openembedded-core/attachments/20180304/a471061f/attachment-0002.html>


More information about the Openembedded-core mailing list