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

Status changed from Assigned to Closed
Backport changed from 1.9.3: UNKNOWN, 2.0.0: UNKNOWN to 1.9.3: UNKNOWN, 2.0.0: REQUIRED

committed at r43090. 
And it should be backported to ruby_2_0_0.
----------------------------------------
Bug #8966: SEGV when a refined method is undefined by undef
https://bugs.ruby-lang.org/issues/8966#change-42108

Author: shugo (Shugo Maeda)
Status: Closed
Priority: Normal
Assignee: shugo (Shugo Maeda)
Category: core
Target version: current: 2.1.0
ruby -v: ruby 2.1.0dev (2013-09-27 trunk 43073) [i686-linux]
Backport: 1.9.3: UNKNOWN, 2.0.0: REQUIRED


=begin
The following code causes SEGV:

  module Foo
    refine Object do
      def foo
        puts "foo"
      end
    end
  end
  
  using Foo
  
  class Object
    undef foo
  end
  
  foo

I guess undef is not aware of refinements.
=end


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