Add Ruby patch to test GC issues with object tracing enabled

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
This commit is contained in:
Stan Hu 2022-01-19 11:37:36 -08:00
parent 91314bb6f8
commit 012bc5654a
No known key found for this signature in database
GPG key ID: 8D3931AD39CC7A20

View file

@ -0,0 +1,12 @@
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