Issue #7084 has been updated by mrkn (Kenta Murata).

Status changed from Closed to Open

?????????????????ulimit -s 32768 ???????????????? SystemStackError ?????????????????????
ulimit -s 4096 ???????? Segmentation Fault ?????????????????????

???????追????調??????????????以????述????????
https://gist.github.com/3828296
?????? gist ??貼???? 1.patch ????????????????????????????????
1.log ??????貼???????????????? iseq_compile_each ??????????? type ??????????????????????表示?????????????

???????????????????????差?????????????????????帰?????1段?? type ??????????6928?????????????????????????????大??????????????
ruby_stack_overflowed_p ?????????????????????????失???????????????????????楣測????????????

??????????iseq_compile_each ??中??? switch ???????????????????????????????????????
https://gist.github.com/3828416

iseq_compile_each ???使???????????????560????????????????????????????????????????????????????失??????????????

????????????????尽????????????????????????調???????????
----------------------------------------
Bug #7084: RubyVM::InstructionSequence.compile("1+"*10000 + "1") causes SystemStackError or Segmentation Fault
https://bugs.ruby-lang.org/issues/7084#change-29995

Author: mrkn (Kenta Murata)
Status: Open
Priority: Normal
Assignee: ko1 (Koichi Sasada)
Category: core
Target version: 2.0.0
ruby -v: ruby 2.0.0dev (2012-09-29 trunk 37053) [x86_64-darwin12.1.0]


以???????????? ulimit -s ???????????? stack level too deep ??? Segmentation Fault ???????????????????????????????????

$ .prefix/bin/ruby -v
ruby 2.0.0dev (2012-09-29 trunk 37053) [x86_64-darwin12.1.0]
$ ulimit -s
8192
$ .prefix/bin/ruby -e 'p RubyVM::InstructionSequence.compile("1+"*10000+"1")'
-e:1: stack level too deep (SystemStackError)
$ ulimit -s 32768
$ .prefix/bin/ruby -e 'p RubyVM::InstructionSequence.compile("1+"*10000+"1")'
-e:1: [BUG] Segmentation fault
ruby 2.0.0dev (2012-09-29 trunk 37053) [x86_64-darwin12.1.0]

-- Control frame information -----------------------------------------------
c:0003 p:---- s:0009 e:000008 CFUNC  :compile
c:0002 p:0028 s:0005 e:000bc8 EVAL   -e:1 [FINISH]
c:0001 p:0000 s:0002 e:0020e8 TOP    [FINISH]

-e:1:in `<main>'
-e:1:in `compile'

-- C level backtrace information -------------------------------------------

   See Crash Report log file under ~/Library/Logs/CrashReporter or
   /Library/Logs/CrashReporter, for the more detail of.

-- Other runtime information -----------------------------------------------

* Loaded script: -e

* Loaded features:



-- 
http://bugs.ruby-lang.org/