Bug #8955

LocalJumpError - no block given (yield) after implementation of class hierarchy method cache invalidation

Added by Morten Fla 7 months ago. Updated 3 months ago.

[ruby-core:57394]
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

Description

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 testblock.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 '

History

#1 Updated by Hiroshi SHIBATA 3 months ago

  • Target version changed from 2.1.0 to current: 2.2.0

#2 Updated by Eric Wong 3 months ago

Hi Morten, can you still reproduce this error?
The hierarchical method cache was reverted.

Also available in: Atom PDF