From: "mame (Yusuke Endoh) via ruby-core" Date: 2023-02-02T02:21:27+00:00 Subject: [ruby-core:112177] [Ruby master Bug#19397] ruby -h fails with SIGSGV if ulimit -s is any else than unlimited Issue #19397 has been updated by mame (Yusuke Endoh). > I am using Centos 7.8 and further investigations shows that the problem occurs when > soft and hard limits are equal. In our case 157286400. Our CI list includes CentOS 7.9, where the test passes successfully. I tried `ulimit -s 8192` to set equal soft and hard limits for stack, and ruby starts successfully. ``` $ cat /etc/redhat-release CentOS Linux release 7.9.2009 (Core) $ ulimit -s 8192 $ grep stack /proc/self/limits Max stack size 8388608 8388608 bytes $ ruby -v ruby 3.1.2p20 (2022-04-12 revision 4491bb740a) [x86_64-linux] $ ruby -h Usage: /home/chkbuild/.rbenv/versions/3.1.2/bin/ruby [switches] [--] [programfile] [arguments] ... ``` How did you build and install ruby? Is the issue reproduced only on a particular machine? If it reproduces on another machine with CentOS 7.8, you might want to contact CentOS developers. ---------------------------------------- Bug #19397: ruby -h fails with SIGSGV if ulimit -s is any else than unlimited https://bugs.ruby-lang.org/issues/19397#change-101614 * Author: john_d_s (John Damm Soerensen) * Status: Feedback * Priority: Normal * ruby -v: ruby 3.3.0dev (2023-01-30T23:43:40Z master 7439ccf0ed) [x86_64-linux] * Backport: 2.7: UNKNOWN, 3.0: UNKNOWN, 3.1: UNKNOWN, 3.2: UNKNOWN ---------------------------------------- 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
, 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; ``` -- https://bugs.ruby-lang.org/ ______________________________________________ ruby-core mailing list -- ruby-core@ml.ruby-lang.org To unsubscribe send an email to ruby-core-leave@ml.ruby-lang.org ruby-core info -- https://ml.ruby-lang.org/mailman3/postorius/lists/ruby-core.ml.ruby-lang.org/