Actions
Bug #11001
closed2.2.1 Segmentation fault in reserve_stack() function.
Status:
Closed
Assignee:
-
Target version:
-
ruby -v:
ruby 2.2.1p85 (2015-02-26 revision 49769) [x86_64-linux]
Description
SEGV depends on stack limit size with 'ulimit -s ' .
This shell script [ulimit_change_test.sh] can reproduce SEGV on my Debian environment.
my Linux environment is Debian/GNU Linux 7.8.
But, I cannot reproduce this SEGV on Amazon Linux environment.
result on Debian 7.8
$ /tmp/ulimit_change_test.sh
8515
/tmp/ulimit_change_test.sh: 3 行: 20470 Segmentation fault ./ruby --version
8514
/tmp/ulimit_change_test.sh: 3 行: 20471 Segmentation fault ./ruby --version
8513
/tmp/ulimit_change_test.sh: 3 行: 20472 Segmentation fault ./ruby --version
8512
ruby 2.2.1p85 (2015-02-26 revision 49769) [x86_64-linux]
8511
/tmp/ulimit_change_test.sh: 3 行: 20475 Segmentation fault ./ruby --version
8510
/tmp/ulimit_change_test.sh: 3 行: 20476 Segmentation fault ./ruby --version
8509
/tmp/ulimit_change_test.sh: 3 行: 20477 Segmentation fault ./ruby --version
8508
ruby 2.2.1p85 (2015-02-26 revision 49769) [x86_64-linux]
8507
/tmp/ulimit_change_test.sh: 3 行: 20480 Segmentation fault ./ruby --version
8506
/tmp/ulimit_change_test.sh: 3 行: 20481 Segmentation fault ./ruby --version
8505
/tmp/ulimit_change_test.sh: 3 行: 20482 Segmentation fault ./ruby --version
8504
ruby 2.2.1p85 (2015-02-26 revision 49769) [x86_64-linux]
8503
/tmp/ulimit_change_test.sh: 3 行: 20485 Segmentation fault ./ruby --version
8502
/tmp/ulimit_change_test.sh: 3 行: 20486 Segmentation fault ./ruby --version
8501
/tmp/ulimit_change_test.sh: 3 行: 20487 Segmentation fault ./ruby --version
8500
ruby 2.2.1p85 (2015-02-26 revision 49769) [x86_64-linux]
8499
/tmp/ulimit_change_test.sh: 3 行: 20490 Segmentation fault ./ruby --version
8498
/tmp/ulimit_change_test.sh: 3 行: 20491 Segmentation fault ./ruby --version
8497
/tmp/ulimit_change_test.sh: 3 行: 20492 Segmentation fault ./ruby --version
8496
ruby 2.2.1p85 (2015-02-26 revision 49769) [x86_64-linux]
8495
/tmp/ulimit_change_test.sh: 3 行: 20495 Segmentation fault ./ruby --version
8494
/tmp/ulimit_change_test.sh: 3 行: 20496 Segmentation fault ./ruby --version
8493
/tmp/ulimit_change_test.sh: 3 行: 20497 Segmentation fault ./ruby --version
8492
ruby 2.2.1p85 (2015-02-26 revision 49769) [x86_64-linux]
8491
/tmp/ulimit_change_test.sh: 3 行: 20500 Segmentation fault ./ruby --version
8490
/tmp/ulimit_change_test.sh: 3 行: 20501 Segmentation fault ./ruby --version
8489
/tmp/ulimit_change_test.sh: 3 行: 20502 Segmentation fault ./ruby --version
$
This SEGV occurs in reserve_stack()
function.
I suspect that the buf[0x100]
size is too small for margin.
I attached patch to fix it.
Files
Actions
Like0
Like0Like0Like0Like0Like0Like0Like0Like0Like0