Issue #6867 has been updated by nagachika (Tomoyuki Chikanaga).


Hi,

This issue seems happen after r36640.
----------------------------------------
Bug #6867: super in a Mutex#synchronize block
https://bugs.ruby-lang.org/issues/6867#change-28870

Author: Eregon (Benoit Daloze)
Status: Open
Priority: Normal
Assignee: shugo (Shugo Maeda)
Category: core
Target version: 2.0.0
ruby -v: ruby 2.0.0dev (2012-08-14 trunk 36700) [x86_64-darwin10.8.0]


The following code:

require 'thread'

class Parent
  def meth
  end
end

class Child < Parent
  def meth
    Mutex.new.synchronize do
      super
    end
  end
end

Child.new.meth

raises

bug_super.rb:13:in `block in meth': can't find the method for super, which may be called in an orphan block (NoMethodError)
	from <internal:prelude>:10:in `synchronize'
	from bug_super.rb:12:in `meth'
	from bug_super.rb:18:in `<main>'

I met the bug with the listen gem: https://github.com/guard/listen/blob/master/lib/listen/adapters/darwin.rb#L22-25 .


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