Project

General

Profile

Actions

Bug #16616

closed

Large RUBY_THREAD_VM_STACK_SIZE causes segmentation fault

Added by ciel (T Yamada) about 4 years ago. Updated about 4 years ago.

Status:
Closed
Assignee:
-
Target version:
-
ruby -v:
ruby 2.7.0p0 (2019-12-25 revision 647ee6f091) [x86_64-darwin18]
[ruby-core:97102]

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).

Actions #1

Updated by ciel (T Yamada) about 4 years ago

  • Description updated (diff)
Actions #2

Updated by nobu (Nobuyoshi Nakada) about 4 years ago

  • Status changed from Open to Closed

Applied in changeset git|0f05b234fba2d961f1740c094a83f9831c15b210.


Disable GC until VM objects get initialized [Bug #16616]

Actions #3

Updated by naruse (Yui NARUSE) about 4 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) about 4 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.

Actions

Also available in: Atom PDF

Like0
Like0Like0Like0Like0