From 1c363d095bdb60c69931edcff4d0dabf724f2b5c Mon Sep 17 00:00:00 2001 From: snirqm Date: Sun, 1 Feb 2026 10:54:08 +0200 Subject: [PATCH] Fix KeyError in VCD trace parsing for undefined signal IDs Filter out signal IDs that are not present in the id2name mapping when building rawsignals_by_handle. This prevents crashes when parsing VCD files containing signal references without definitions. --- wal/trace/vcd.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/wal/trace/vcd.py b/wal/trace/vcd.py index 63c7861..b6089ec 100644 --- a/wal/trace/vcd.py +++ b/wal/trace/vcd.py @@ -39,7 +39,7 @@ def __init__(self, filename, tid, container, from_string=False, keep_signals=Non self.signals = set(Trace.SPECIAL_SIGNALS + self.rawsignals) self.id2name = {v: k for k, v in self.name2id.items()} - self.rawsignals_by_handle = [self.id2name[s] for s in self.all_ids] + self.rawsignals_by_handle = [self.id2name[s] for s in self.all_ids if s in self.id2name] self.signals_by_handle = set(self.rawsignals_by_handle) def parse(self, vcddata):