Răsfoiți Sursa

[no ci] fix

张皓晟 3 luni în urmă
părinte
comite
061206f13e
1 a modificat fișierele cu 4 adăugiri și 2 ștergeri
  1. 4 2
      src/interpreter/heap.c

+ 4 - 2
src/interpreter/heap.c

@@ -81,13 +81,15 @@ static void ManagedHeap__fire_debug_callback(ManagedHeap* self, ManagedHeapSwpet
     pk_sprintf(&buf, "auto_thres.free_ratio:    %f\n", out_info->auto_thres.free_ratio);
     c11_sbuf__write_cstr(&buf, DIVIDER);
 
-    py_Ref p0 = py_peek(0);
     py_push(self->debug_callback);
     py_pushnil();
     py_StackRef arg = py_pushtmp();
     c11_sbuf__py_submit(&buf, arg);
     bool ok = py_vectorcall(1, 0);
-    if(!ok) py_clearexc(p0);    // noexcept
+    if(!ok) {
+        char* msg = py_formatexc();
+        c11__abort("gc_debug_callback error!!\n%s", msg);
+    }
 }
 
 void ManagedHeap__collect_if_needed(ManagedHeap* self) {