From 5addd5db4a59450427abae2e9925c529fd6868a1 Mon Sep 17 00:00:00 2001 From: "Yukihiro \"Matz\" Matsumoto" Date: Thu, 30 Aug 2018 01:20:59 +0900 Subject: Need to clear `mrb->c->cibase->ridx` (toplevel ridx) at L_STOP; fix #4092 This problem only appears when `mrb` executed multiple times (i.e. `mirb`) --- src/vm.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/vm.c b/src/vm.c index c8088d22e..98e554607 100644 --- a/src/vm.c +++ b/src/vm.c @@ -2954,6 +2954,7 @@ RETRY_TRY_BLOCK: while (mrb->c->eidx > 0) { ecall(mrb); } + mrb->c->cibase->ridx = 0; ERR_PC_CLR(mrb); mrb->jmp = prev_jmp; if (mrb->exc) { -- cgit v1.2.3