Issue #8955 has been updated by Hiroshi SHIBATA.

Target version changed from 2.1.0 to current: 2.2.0

----------------------------------------
Bug #8955: LocalJumpError - no block given (yield) after implementation of class hierarchy method cache invalidation
https://bugs.ruby-lang.org/issues/8955#change-44723

* Author: Morten Fla
* Status: Open
* Priority: Normal
* Assignee: 
* Category: core
* Target version: current: 2.2.0
* ruby -v: ruby 2.1.0dev (2013-09-22) [tic6x-uclinux]
* Backport: 1.9.3: DONTNEED, 2.0.0: DONTNEED
----------------------------------------
Hi.
I use Ruby 2.1 on a Texas instruments C6678 DSP in a Linux environment based on uclinux and uClibc with NPTL/Pthread support. The DSP does not have an MMU.
After commit r42822/git commit 2f522b9cc6f3e184404040b12af4486520a73b26 the following example-code fails to run due to probably the CFP has gone down the drain. I also tested the r43027 / f088828106254ebb0d07b0385966692c3f938c0c which seems to party revert the changes, without any luck. I realize that this is a highly experimental platform, but any ideas would be appreciated.

def test_func
  yield
end

def test2_func
  yield
end

t = Thread.new do
test_func { puts "in block" }

test2_func do |x|
 puts "test"
end

end
t.join

Exception `LocalJumpError' at test_block.rb:5 - no block given (yield)
Exception `LocalJumpError' at test_block.rb:24 - no block given (yield)
test_block.rb:5:in `test_func': no block given (yield) (LocalJumpError)
        from test_block.rb:13:in `block in <main>'



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