From 8b162ce9d1003e4e469d8f48cb9a2076fd45b47c Mon Sep 17 00:00:00 2001 From: Nobuyoshi Nakada Date: Thu, 1 Aug 2019 20:08:22 +0900 Subject: [PATCH] Fix assertion failure when VM_CHECK_MODE Some VM frames (dummy and top pushed by `rb_vm_call_cfunc`) has iseq but has no pc. --- gc.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gc.c b/gc.c index fd30c75618..fb8fa53911 100644 --- a/gc.c +++ b/gc.c @@ -1926,7 +1926,7 @@ static void gc_event_hook_body(rb_execution_context_t *ec, rb_objspace_t *objspace, const rb_event_flag_t event, VALUE data) { const VALUE *pc = ec->cfp->pc; - if (VM_FRAME_RUBYFRAME_P(ec->cfp)) { + if (pc && VM_FRAME_RUBYFRAME_P(ec->cfp)) { /* increment PC because source line is calculated with PC-1 */ ec->cfp->pc++; }