Hard crash when allocating in GC when RUBY_DEBUG

Not all builds have RGENGC_CHECK_MODE set, so it should also crash when
RUBY_DEBUG is set.
This commit is contained in:
Peter Zhu 2022-12-17 09:18:54 -05:00
Родитель 965f4259db
Коммит 6e3bc67103
1 изменённых файлов: 3 добавлений и 3 удалений

6
gc.c
Просмотреть файл

@ -12280,7 +12280,7 @@ objspace_xmalloc0(rb_objspace_t *objspace, size_t size)
{
if (UNLIKELY(malloc_during_gc_p(objspace))) {
rb_warn("malloc during GC detected, this could cause crashes if it triggers another GC");
#if RGENGC_CHECK_MODE
#if RGENGC_CHECK_MODE || RUBY_DEBUG
rb_bug("Cannot malloc during GC");
#endif
}
@ -12304,7 +12304,7 @@ objspace_xrealloc(rb_objspace_t *objspace, void *ptr, size_t new_size, size_t ol
{
if (UNLIKELY(malloc_during_gc_p(objspace))) {
rb_warn("realloc during GC detected, this could cause crashes if it triggers another GC");
#if RGENGC_CHECK_MODE
#if RGENGC_CHECK_MODE || RUBY_DEBUG
rb_bug("Cannot realloc during GC");
#endif
}
@ -12548,7 +12548,7 @@ objspace_xcalloc(rb_objspace_t *objspace, size_t size)
{
if (UNLIKELY(malloc_during_gc_p(objspace))) {
rb_warn("calloc during GC detected, this could cause crashes if it triggers another GC");
#if RGENGC_CHECK_MODE
#if RGENGC_CHECK_MODE || RUBY_DEBUG
rb_bug("Cannot calloc during GC");
#endif
}