Issue #4289 has been updated by Eric Wong.

File 0001-timeout.rb-avoid-introducing-new-class-for-every-tim.patch added

Hiding, but not fixing the issue is the attached patch:

[PATCH] timeout.rb: avoid introducing new class for every timeout

This is expensive because of clearing the method cache upon GC.

As a side effect, it also seems to pass the deadlock_test.rb[1]
for Bug #4266[2] and also the JRuby load_timeout.rb[3] test.
However, DO NOT consider this a fix for Bug #4266 or other
timeout-related issues.  I believe this patch merely hides the
real bug and makes it hard to trigger from Ruby standard library.

[1] http://redmine.ruby-lang.org/attachments/download/1404/deadlock_test.rb
[2] http://redmine.ruby-lang.org/issues/4266
[3] https://github.com/jruby/jruby/raw/master/test/load/load_timeout.rb

----------------------------------------
Bug #4289: Timeouts in threads cause SEGV
http://redmine.ruby-lang.org/issues/4289

Author: Motohiro KOSAKI
Status: Assigned
Priority: Normal
Assignee: Akira Tanaka
Category: core
Target version: 1.9.3
ruby -v: ruby 1.9.3dev (2011-01-18 trunk 30591) [x86_64-linux]


 Derived from [Bug#4266]
 
 Running deadlock_test.rb in [Bug#4266] on trunk makes segfault. git bisect indicate
 first bad commit is below.
 
 ---------------------------------------------------------------------------
 commit d295957957c828588a8ca3c7b8619c7a93be6b5c
 Author: akr <akr / b2dd03c8-39d4-4d8f-98ff-823fe69b080e>
 Date:   Tue Nov 2 22:37:08 2010 +0000
 
     * vm_method.c (rb_clear_cache_by_class): just return if the class has
       no method.  reported by Eric Wong.  [ruby-core:32689]
 
 
     git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29673 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
 
 --------------------------------------------------------------------------------
 
 Plus, I've confirmed latest trunk + revert d2959579 doesn't makes segfault.


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