From c73984402e9cbbab059c2acd639d453cd97f3549 Mon Sep 17 00:00:00 2001 From: Ben Gamari Date: Mon, 7 Dec 2020 23:28:55 +0000 Subject: [PATCH] gdb/find_refs: Fix next_free_snap lookup --- gdb/ghc_gdb/find_refs.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/gdb/ghc_gdb/find_refs.py b/gdb/ghc_gdb/find_refs.py index aebab98..db49ed0 100644 --- a/gdb/ghc_gdb/find_refs.py +++ b/gdb/ghc_gdb/find_refs.py @@ -223,7 +223,10 @@ def refs_dot(edges: List[Edge], roots: Set[Ptr], mut_list_reachables: Dict[int, seg_blkIdx = get_nonmoving_segment(ref.referring_field) if seg_blkIdx is not None: seg, blk = seg_blkIdx - snap = int(seg['next_free_snap']) + if 'next_free_snap' in seg.type.fields(): + snap = int(seg['next_free_snap']) + else: + snap = int(gdb.parse_and_eval('Bdescr(%d)->nonmoving_segment.next_free_snap' % ref.referring_field.addr())) mark = seg['bitmap'][blk] if mark != 0: color = 'blue' -- GitLab