Project

General

Profile

Actions

Bug #19397

closed

ruby -h fails with SIGSGV if ulimit -s is any else than unlimited

Added by john_d_s (John Damm Soerensen) over 1 year ago. Updated over 1 year ago.

Status:
Feedback
Assignee:
-
Target version:
-
ruby -v:
ruby 3.3.0dev (2023-01-30T23:43:40Z master 7439ccf0ed) [x86_64-linux]
[ruby-core:112166]

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

Also available in: Atom PDF

Like0
Like0Like0Like0Like0Like0Like0