diff --git a/src/gc.c b/src/gc.c index f8e4a3b20..105713a3d 100644 --- a/src/gc.c +++ b/src/gc.c @@ -677,6 +677,10 @@ root_scan_phase(mrb_state *mrb) mrb_gc_mark(mrb, (struct RBasic*)mrb->exc); mark_context(mrb, mrb->root_c); + if (mrb->root_c != mrb->c) { + mark_context(mrb, mrb->c); + } + /* mark irep pool */ if (mrb->irep) { size_t len = mrb->irep_len;