From d5f1d8c33ad085414d3ea70914ec195ae0184da2 Mon Sep 17 00:00:00 2001 From: Daniel Koepping Date: Tue, 14 Apr 2026 20:18:31 -0700 Subject: [PATCH] fix compare_logs crash on list field size changes (#37829) fix crash on list-length changes --- selfdrive/test/process_replay/compare_logs.py | 2 +- selfdrive/test/process_replay/diff_report.py | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/selfdrive/test/process_replay/compare_logs.py b/selfdrive/test/process_replay/compare_logs.py index e2d912a833..4c522c9150 100755 --- a/selfdrive/test/process_replay/compare_logs.py +++ b/selfdrive/test/process_replay/compare_logs.py @@ -76,7 +76,7 @@ def _diff_capnp_values(v1, v2, path, tolerance): for i in range(n): yield from _diff_capnp_values(v1[i], v2[i], path + (str(i),), tolerance) if n2 > n: - yield 'add', dot, list(enumerate(v2[n:], n)) + yield 'add', dot, [(i, v2[i]) for i in range(n, n2)] if n1 > n: yield 'remove', dot, list(reversed([(i, v1[i]) for i in range(n, n1)])) diff --git a/selfdrive/test/process_replay/diff_report.py b/selfdrive/test/process_replay/diff_report.py index 32f058f8ee..5da78657f4 100644 --- a/selfdrive/test/process_replay/diff_report.py +++ b/selfdrive/test/process_replay/diff_report.py @@ -49,6 +49,8 @@ def diff_format(diffs, ref, new, field) -> list[str]: msg_type = field.split(".")[0] ref_ts = [(m.logMonoTime, MsgWrap(m)) for m in ref.get(msg_type, [])] new_wrapped = [MsgWrap(m) for m in new.get(msg_type, [])] + if not ref_ts or not new_wrapped: + return format_numeric_diffs(diffs) return format_diff(diffs, ref_ts, new_wrapped, field)