mirror of
https://ops.gitlab.net/gitlab-org/gitlab-build-images.git
synced 2025-12-09 10:02:56 +01:00
It's possible we just need a `RB_GC_GUARD` to prevent `obj` from being prematurely freed by the garbage collector. This is test out https://github.com/ruby/ruby/pull/5470/files. Part of https://gitlab.com/gitlab-org/gitlab/-/issues/350296
12 lines
426 B
Diff
12 lines
426 B
Diff
diff --git a/ext/objspace/object_tracing.c b/ext/objspace/object_tracing.c
|
|
index a057ac2a96..a122247e3b 100644
|
|
--- a/ext/objspace/object_tracing.c
|
|
+++ b/ext/objspace/object_tracing.c
|
|
@@ -110,6 +110,7 @@ newobj_i(VALUE tpval, void *data)
|
|
info->class_path = class_path_cstr;
|
|
info->generation = rb_gc_count();
|
|
st_insert(arg->object_table, (st_data_t)obj, (st_data_t)info);
|
|
+ RB_GC_GUARD(obj);
|
|
}
|
|
|
|
static void
|