From 0c897df2c678cb09c23304728e48c00ae6c9abc0 Mon Sep 17 00:00:00 2001 From: blueloveTH Date: Tue, 26 Aug 2025 00:48:58 +0800 Subject: [PATCH] backup --- src/interpreter/vmx.c | 2 +- tests/71_gc_bug.py | 15 +++++++++++++-- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/src/interpreter/vmx.c b/src/interpreter/vmx.c index abb00a2b..5162165d 100644 --- a/src/interpreter/vmx.c +++ b/src/interpreter/vmx.c @@ -3,7 +3,7 @@ void pk_print_stack(VM* self, py_Frame* frame, Bytecode byte) { return; - if(frame == NULL || py_isnil(self->main)) return; + if(frame == NULL || !self->main || py_isnil(self->main)) return; py_TValue* sp = self->stack.sp; c11_sbuf buf; diff --git a/tests/71_gc_bug.py b/tests/71_gc_bug.py index d7656516..a5c244e2 100644 --- a/tests/71_gc_bug.py +++ b/tests/71_gc_bug.py @@ -16,7 +16,6 @@ d.__path__ = '__main__' d.a = [] d.gc = 1 -print('-' * 100) assert d.gc == 1 del d.a @@ -32,4 +31,16 @@ assert d.gc == 1 # 4 gc [4] # 5 nil # 6 __path__ [2] -# 7 a [3] \ No newline at end of file +# 7 a [3] + +import gc +gc.collect() + +a = [] +del a +assert gc.collect() == 1 + +# a = [] +# a.append(a) +# del a +# assert gc.collect() == 1