Actions
Bug #19397
closedruby -h fails with SIGSGV if ulimit -s is any else than unlimited
Bug #19397:
ruby -h fails with SIGSGV if ulimit -s is any else than unlimited
Status:
Feedback
Assignee:
-
Target version:
-
ruby -v:
ruby 3.3.0dev (2023-01-30T23:43:40Z master 7439ccf0ed) [x86_64-linux]
Description
This applies to all versions of ruby.
I have tried these 2.6.3 2.6.6 2.7.2 3.0.0 3.2.0
To reproduce simply set ulimit -s to anything other than unlimited.
Then run ruby -h (or any other invocation of ruby) and ruby will generate a SIGSEGV and core dump.
The stack trace from gdb shows that ruby has failed in reserve_stack line 1022 (for the latest from github)
gdb ruby core.11885
Core was generated by `./ruby -h'.
Program terminated with signal 11, Segmentation fault.
#0 reserve_stack (limit=0x7e9a5f4400e0 <Address 0x7e9a5f4400e0 out of bounds>,
limit@entry=0x7fffffffe000 "l=38;5;13:*.xcf=38;5;13:*.xwd=38;5;13:*.yuv=38;5;13:*.cgm=38;5;13:*.emf=38;5;13:*.axv=38;5;13:*.anx=38;5;13:*.ogv=38;5;13:*.ogx=38;5;13:*.aac=38;5;45:*.au=38;5;45:*.flac=38;5;45:*.mid=38;5;45:*.midi=3"..., size=1535999991552, size@entry=1535999995904)
at thread_pthread.c:1022
1022 limit[0] = 0;
Actions