blueloveTH il y a 6 mois
Parent
commit
0c897df2c6
2 fichiers modifiés avec 14 ajouts et 3 suppressions
  1. 1 1
      src/interpreter/vmx.c
  2. 13 2
      tests/71_gc_bug.py

+ 1 - 1
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;

+ 13 - 2
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]
+# 7 a             [3]
+
+import gc
+gc.collect()
+
+a = []
+del a
+assert gc.collect() == 1
+
+# a = []
+# a.append(a)
+# del a
+# assert gc.collect() == 1