Issue #11750 has been updated by Nobuyoshi Nakada. File bug-11750.log added Description updated By bisecting, it raises `SytemStackError` or segfaults since r51243. ~~~ * vm_core.h: remove blockprocval field from rb_proc_t and rb_binding_t. Instead of this field, mark given block in Proc at rb_env_t::env. ~~~ `Enumerator`, `Generator`, or `Yielder` may need more marking or write-barrier. ---------------------------------------- Bug #11750: SEGV with Enumerator, yield and proc. https://bugs.ruby-lang.org/issues/11750#change-55148 * Author: Akira Tanaka * Status: Open * Priority: Normal * Assignee: * ruby -v: ruby 2.3.0dev (2015-11-29 trunk 52789) [x86_64-linux] * Backport: 2.0.0: UNKNOWN, 2.1: UNKNOWN, 2.2: UNKNOWN ---------------------------------------- I found SEGV as follows. ``` % cat z.rb def f Enumerator.new {|y| 1000000.times { yield y.yield } } end def g x = proc {} f(&x) end e = g e.each {} % ./miniruby z.rb (snip) ``` ---Files-------------------------------- bug-11750.log (11.2 KB) -- https://bugs.ruby-lang.org/