[yocto-autobuilder-helper][PATCH] summarize_top_output: skip blank lines in top output
Yoann Congal <[email protected]> Sat, 18 Jul 2026 11:02:00 +0200
| Newsgroups | org.yoctoproject.lists.yocto-patches |
|---|---|
| Message-ID | <[email protected]> |
From: Yoann Congal <[email protected]> Blank line can happen in top output. e.g. in [0] at the end of the block. Skip those to avoid this error: | Traceback (most recent call last): | File "/srv/pokybuild/yocto-worker/qemux86-64-ptest/yocto-autobuilder-helper/scripts/summarize_top_output.py", line 181, in <module> | main() | ~~~~^^ | File "/srv/pokybuild/yocto-worker/qemux86-64-ptest/yocto-autobuilder-helper/scripts/summarize_top_output.py", line 178, in main | short_summary, summary, kernel_summary, zombie_summary, other_build = summarize_top(outputs, target) | ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ | File "/srv/pokybuild/yocto-worker/qemux86-64-ptest/yocto-autobuilder-helper/scripts/summarize_top_output.py", line 66, in summarize_top | cmd = line.split(maxsplit=max_cols)[-1] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^ | IndexError: list index out of range | ERROR: Command ['/srv/pokybuild/yocto-worker/qemux86-64-ptest/yocto-autobuilder-helper/scripts/summarize_top_output.py', '/srv/autobuilder/valkyrie.yocto.io/pub/non-release/20260717-146/testresults', 'qemux86-64-ptest'] failed [0]: https://valkyrie.yocto.io/pub/non-release/20260717-146/testresults/qemux86-64-ptest/intermittent_failure_host_data/host_stats_do_package_write_deb_failure_1.txt This should fix [YOCTO #16338]. Signed-off-by: Yoann Congal <[email protected]> --- scripts/summarize_top_output.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/scripts/summarize_top_output.py b/scripts/summarize_top_output.py index 618cde1..dfd4299 100755 --- a/scripts/summarize_top_output.py +++ b/scripts/summarize_top_output.py @@ -63,6 +63,8 @@ def summarize_top(top_outs, target): zombie_summary = {} short_summary = top_out[:top_header + cpu_hoggers] for line in top_out[top_header:]: + if not line: # trailing blank line before "end: top output" + continue cmd = line.split(maxsplit=max_cols)[-1] if cmd.startswith(HOME): b = cmd.split(HOME)[1].split("/")[0]