Bug #16616
closedLarge RUBY_THREAD_VM_STACK_SIZE causes segmentation fault
Description
-
How to reproduce:
RUBY_THREAD_VM_STACK_SIZE=100000000 ./ruby --disable-gems -e 'p 1'
-
Expected: only
1
is shown. -
Observed: Segmentation fault: 11
-
Version: ruby 2.7.0p0 (2019-12-25 revision 647ee6f091) [x86_64-darwin18] and ruby 2.7.0p0 (2019-12-25 revision 647ee6f091) [x86_64-linux]
gdb on Linux showed this:
Program received signal SIGSEGV, Segmentation fault.
rb_vm_mark (ptr=ptr@entry=0x555555b24f20) at vm.c:2259
2259 len = RARRAY_LEN(vm->mark_object_ary);
I blamed it on github and found 91793b8967e0531bd1159a8ff0cc7e50739c7620.
I tested the script against 91793b8967e0531bd1159a8ff0cc7e50739c7620 and 91793b8967e0531bd1159a8ff0cc7e50739c7620^ (e3d547f6df76a48834cfd9893baf4f51567b3afb) and only former had Segmentation fault (on both macOS and Linux).
Updated by nobu (Nobuyoshi Nakada) about 5 years ago
- Status changed from Open to Closed
Applied in changeset git|0f05b234fba2d961f1740c094a83f9831c15b210.
Disable GC until VM objects get initialized [Bug #16616]
Updated by naruse (Yui NARUSE) almost 5 years ago
- Backport changed from 2.5: UNKNOWN, 2.6: UNKNOWN, 2.7: UNKNOWN to 2.5: DONTNEED, 2.6: DONTNEED, 2.7: REQUIRED
Updated by naruse (Yui NARUSE) almost 5 years ago
- Backport changed from 2.5: DONTNEED, 2.6: DONTNEED, 2.7: REQUIRED to 2.5: DONTNEED, 2.6: DONTNEED, 2.7: DONE
ruby_2_7 1ead0268811c230897f32c5dbf58511000e8d6c6.