We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
2 parents 0e42cb8 + dd81589 commit 87c9c90Copy full SHA for 87c9c90
1 file changed
src/runtime/gravity_core.c
@@ -3634,14 +3634,15 @@ void gravity_core_init (void) {
3634
}
3635
3636
void gravity_core_free (void) {
3637
- // free optionals first
3638
- gravity_opt_free();
3639
-
3640
if (!core_inited) return;
3641
3642
// check if others VM are still running
3643
if (--refcount) return;
3644
+ // free optionals after refcount check — avoids double-free when mini-VM
+ // in gravity_compiler_reset() has already freed GC objects via internal_vm_cleanup
+ gravity_opt_free();
3645
+
3646
// this function should never be called
3647
// it is just called when we need to internally check for memory leaks
3648
0 commit comments