From: nagachika00@... Date: 2014-09-14T15:29:03+00:00 Subject: [ruby-dev:48542] [ruby-trunk - Bug #10218] 手続きを再帰するとSegmentation faultが発生する Issue #10218 has been updated by Tomoyuki Chikanaga. Related to Bug #9945: Segmentation fault when defining recursive method added ---------------------------------------- Bug #10218: 手続きを再帰するとSegmentation faultが発生する https://bugs.ruby-lang.org/issues/10218#change-48903 * Author: Kenta USAMI * Status: Open * Priority: Normal * Assignee: * Category: * Target version: * ruby -v: ruby 2.1.2p95 (2014-05-08 revision 45877) [x86_64-darwin13.0] * Backport: 2.0.0: UNKNOWN, 2.1: UNKNOWN ---------------------------------------- `stack level too deep (SystemStackError)`が発生することを期待した。 ~~~ % ruby -v ruby 2.1.2p95 (2014-05-08 revision 45877) [x86_64-darwin13.0] % ruby -e"r = ->(n){ print %(#{n},); r.(n+1) }; r.(0)" > /tmp/foo_out 2>/tmp/foo_err zsh: abort ruby -e"r = ->(n){ print %(#{n},); r.(n+1) }; r.(0)" > /tmp/foo_out 2>/tmp/foo_err ~~~ (クラッシュレポートは添付) なお、手元の環境では2.2.0devでは発生しない。 ~~~ % ruby -v ruby 2.2.0dev (2014-09-09 trunk 47479) [x86_64-darwin13] % ruby -e"r = ->(n){ print %(#{n},); r.(n+1) }; r.(0)" > /tmp/a1 -e:1:in `block in
': stack level too deep (SystemStackError) from -e:1:in `call' from -e:1:in `block in
' from -e:1:in `call' from -e:1:in `block in
' from -e:1:in `call' from -e:1:in `block in
' from -e:1:in `call' from -e:1:in `block in
' ... 6498 levels... from -e:1:in `call' from -e:1:in `block in
' from -e:1:in `call' from -e:1:in `
' ~~~ ---Files-------------------------------- ruby_2014-09-10-012731_tadsan-air.crash (46.9 KB) -- https://bugs.ruby-lang.org/