Issue #8254 has been updated by charliesome (Charlie Somerville).


=begin
It seems to happen with any stack overflow from C:

    #include <ruby/ruby.h>

    VALUE f() {
        f();
    }
    
    Init_x() {
        rb_define_global_function("f", f, 0);
    }

When (({f})) is called the second time, Ruby segfaults.
=end
----------------------------------------
Bug #8254: Ruby segfaults on second SystemStackError from parser
https://bugs.ruby-lang.org/issues/8254#change-38446

Author: charliesome (Charlie Somerville)
Status: Open
Priority: Normal
Assignee: 
Category: 
Target version: 
ruby -v: ruby 2.0.0p0 (2013-02-24 revision 39474) [x86_64-darwin11.4.0]


=begin
When the parser overflows the stack, it raises SystemStackError.

The second time this happens, Ruby segfaults.

Code sample:

    n = 10_000 # adjust for your platform
    begin
      eval "1+" * n + "1"
    rescue SystemStackError
      eval "1+" * n + "1"
    end

=end


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