Project

General

Profile

Bug #19397

Updated by nobu (Nobuyoshi Nakada) over 1 year ago

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` ulimit -s to anything other than unlimited. 

 Then run `ruby -h` 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; 
 ``` ....

Back