From 48f433fd408f5f493aa0ac4638ee9ab773b8d10c Mon Sep 17 00:00:00 2001 From: Peter Zhu Date: Mon, 26 Feb 2024 11:50:08 -0500 Subject: [PATCH] Change T_ZOMBIE flag check from an assertion Assertions are only enable on debug builds, so it will now check for flags of T_ZOMBIE objects on all builds in GC.verify_internal_consistency. --- gc.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/gc.c b/gc.c index df61246d46..06a99f6641 100644 --- a/gc.c +++ b/gc.c @@ -7554,8 +7554,13 @@ verify_internal_consistency_i(void *page_start, void *page_end, size_t stride, } else { if (BUILTIN_TYPE(obj) == T_ZOMBIE) { - GC_ASSERT((RBASIC(obj)->flags & ~ZOMBIE_OBJ_KEPT_FLAGS) == T_ZOMBIE); data->zombie_object_count++; + + if ((RBASIC(obj)->flags & ~ZOMBIE_OBJ_KEPT_FLAGS) != T_ZOMBIE) { + fprintf(stderr, "verify_internal_consistency_i: T_ZOMBIE has extra flags set: %s\n", + obj_info(obj)); + data->err_count++; + } } } if (poisoned) {