Mark RCLASS_INCLUDER
Since 4d8f76286beefbb8f7fba2479f6d0a0b4a47304c, we need to dereference the includer field on iclasses, so we need to mark it to make sure it's alive. Sometimes during compaction we crash because the field is dangling, though I have a hard time constructing such a situation. See http://ci.rvm.jp/results/trunk@ruby-iga/3947725
This commit is contained in:
parent
7448afccb3
commit
cae85c528c
Notes:
git
2022-05-06 06:37:32 +09:00
4
gc.c
4
gc.c
@ -6994,6 +6994,10 @@ gc_mark_children(rb_objspace_t *objspace, VALUE obj)
|
||||
gc_mark(objspace, RCLASS_SUPER(obj));
|
||||
}
|
||||
if (!RCLASS_EXT(obj)) break;
|
||||
|
||||
if (RCLASS_INCLUDER(obj)) {
|
||||
gc_mark(objspace, RCLASS_INCLUDER(obj));
|
||||
}
|
||||
mark_m_tbl(objspace, RCLASS_CALLABLE_M_TBL(obj));
|
||||
cc_table_mark(objspace, obj);
|
||||
break;
|
||||
|
Loading…
x
Reference in New Issue
Block a user