From 173e1ca407be471a4db08c3caa56e4078d08e5b7 Mon Sep 17 00:00:00 2001 From: Justin Ethier Date: Thu, 19 Nov 2015 02:57:32 -0500 Subject: [PATCH] At least for now, exit on error so we can try to track them down --- gc.c | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/gc.c b/gc.c index 9010c4ce..5b7bb0d1 100644 --- a/gc.c +++ b/gc.c @@ -327,12 +327,18 @@ size_t gc_sweep(gc_heap *h, size_t *sum_freed_ptr) //#if GC_DEBUG_CONCISE_PRINTFS // DEBUG - if (!is_object_type(p)) + if (!is_object_type(p)) { fprintf(stderr, "sweep: invalid object at %p", p); - if ((char *)q + q->size > (char *)p) + exit(1); + } + if ((char *)q + q->size > (char *)p) { fprintf(stderr, "bad size at %p < %p + %u", p, q, q->size); - if (r && ((char *)p) + size > (char *)r) + exit(1); + } + if (r && ((char *)p) + size > (char *)r) { fprintf(stderr, "sweep: bad size at %p + %d > %p", p, size, r); + exit(1); + } // END DEBUG //#endif