summaryrefslogtreecommitdiff
path: root/rts/RetainerProfile.c
diff options
context:
space:
mode:
authorRyan Scott <ryan.gl.scott@gmail.com>2018-03-25 15:33:37 -0400
committerBen Gamari <ben@smart-cactus.org>2018-03-25 15:33:38 -0400
commit9a00bfba122cd7138892c934c9cc3376dc2abe98 (patch)
tree76dcebf0eb4372469008aaf0817af8019acf15ee /rts/RetainerProfile.c
parentc16df6061abd33c67797b1cd676a980457f52533 (diff)
downloadhaskell-9a00bfba122cd7138892c934c9cc3376dc2abe98.tar.gz
rts/RetainerProfile: Dump closure type if push() fails
While investigating #14947, I noticed that the `barf`ed error message in `push()` doesn't print out the closure type that causes it to crash. Let's do so. Reviewers: bgamari, erikd, simonmar Reviewed By: bgamari Subscribers: alexbiehl, rwbarton, thomie, carter Differential Revision: https://phabricator.haskell.org/D4525
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 cad3bb40ef..42ddae3777 100644
--- a/rts/RetainerProfile.c
+++ b/rts/RetainerProfile.c
@@ -631,7 +631,7 @@ push( StgClosure *c, retainer c_child_r, StgClosure **first_child )
case IND:
case INVALID_OBJECT:
default:
- barf("Invalid object *c in push()");
+ barf("Invalid object *c in push(): %d", get_itbl(c)->type);
return;
}