summaryrefslogtreecommitdiff
path: root/rts/RetainerProfile.c
diff options
context:
space:
mode:
authorRyan Scott <ryan.gl.scott@gmail.com>2018-08-21 16:04:45 -0400
committerBen Gamari <ben@smart-cactus.org>2018-08-21 18:56:11 -0400
commit2bacf6f8842d8e1288917e358ed41e4c61b7948e (patch)
tree22ac839c9446fb8d9d52c0ccce5011647b606159 /rts/RetainerProfile.c
parentc971e1193fa44bb507d1806d5bb61768670dc912 (diff)
downloadhaskell-2bacf6f8842d8e1288917e358ed41e4c61b7948e.tar.gz
rts/RetainerProfile: Dump closure type if pop() fails
While investigating #15529, I noticed that the `barf`ed error message in `pop()` doesn't print out the closure type that causes it to crash. Let's do so. Reviewers: bgamari, erikd, simonmar Reviewed By: bgamari Subscribers: rwbarton, carter GHC Trac Issues: #15529 Differential Revision: https://phabricator.haskell.org/D5072
Diffstat (limited to 'rts/RetainerProfile.c')
-rw-r--r--rts/RetainerProfile.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/rts/RetainerProfile.c b/rts/RetainerProfile.c
index 6a0af21823..9458b1327e 100644
--- a/rts/RetainerProfile.c
+++ b/rts/RetainerProfile.c
@@ -897,7 +897,7 @@ pop( StgClosure **c, StgClosure **cp, retainer *r )
case IND:
case INVALID_OBJECT:
default:
- barf("Invalid object *c in pop()");
+ barf("Invalid object *c in pop(): %d", get_itbl(se->c)->type);
return;
}
} while (true);