From d7f7e1ed6eb03045ee9b5a185666ea206a76bbb6 Mon Sep 17 00:00:00 2001 From: Siddharth Bhat Date: Mon, 1 Jul 2019 12:33:36 +0200 Subject: Make printer untag when chasing a pointer in a RET_FUN frame This is to mimic what `Scav.c` does. This should fix a crash in the printer. --- rts/Printer.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'rts/Printer.c') diff --git a/rts/Printer.c b/rts/Printer.c index 996199ea52..15404e1205 100644 --- a/rts/Printer.c +++ b/rts/Printer.c @@ -613,7 +613,7 @@ printStackChunk( StgPtr sp, StgPtr spBottom ) StgRetFun *ret_fun; ret_fun = (StgRetFun *)sp; - fun_info = get_fun_itbl(ret_fun->fun); + fun_info = get_fun_itbl(UNTAG_CLOSURE(ret_fun->fun)); debugBelch("RET_FUN (%p) (type=%d)\n", ret_fun->fun, (int)fun_info->f.fun_type); switch (fun_info->f.fun_type) { case ARG_GEN: -- cgit v1.2.1