From: "Eregon (Benoit Daloze)" Date: 2012-08-14T20:44:06+09:00 Subject: [ruby-core:47186] [ruby-trunk - Bug #6867][Open] super in a Mutex#synchronize block Issue #6867 has been reported by Eregon (Benoit Daloze). ---------------------------------------- Bug #6867: super in a Mutex#synchronize block https://bugs.ruby-lang.org/issues/6867 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 :10:in `synchronize' from bug_super.rb:12:in `meth' from bug_super.rb:18:in `
' 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/