Project

General

Profile

Bug #8955

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

Added by Morten Fla about 3 years ago. Updated almost 3 years ago.

Status:
Open
Priority:
Normal
Assignee:
-
ruby -v:
ruby 2.1.0dev (2013-09-22) [tic6x-uclinux]
[ruby-core:57394]

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

History

#1 [ruby-core:60245] Updated by Hiroshi SHIBATA almost 3 years ago

  • Target version changed from 2.1.0 to current: 2.2.0

#2 [ruby-core:60246] Updated by Eric Wong almost 3 years ago

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

Also available in: Atom PDF