Issue #4140 has been updated by Yui NARUSE.

Status changed from Open to Rejected

Ruby cannot guarantee SystemStackError to be thrown.
----------------------------------------
Bug #4140: segfault recursion inside a thread
http://redmine.ruby-lang.org/issues/4140

Author: Luis Lopez
Status: Rejected
Priority: Normal
Assignee: 
Category: core
Target version: 1.9.2
ruby -v: ruby 1.9.2p0 (2010-08-18 revision 29036) [x86_64-linux]


=begin
 The code below (thanks to flavorjones  from Nokogiri) makes ruby 1.9.2 to segfault. It works with 1.8.7 or without the thread, just raising a SystemStackError (stack level too deep).
 You can find the stack trace attached.
 
 DEPTH = 2000
 
 def recurse(offset)
   STDERR.puts offset
   if offset >= DEPTH
     "done"
   else
     [1].inject("") do |y, child|
       recurse(offset+1)
       y
     end
   end
 end
 
 th=Thread.new {
   puts recurse(0).inspect
 }
 th.join
=end



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