Bug #3136: reuse of singleton method definition causes SEGV
http://redmine.ruby-lang.org/issues/show/3136
e$B5/I<<Te(B: Yusuke E.
e$B%9%F!<%?%9e(B: Open, e$BM%@hEYe(B: Normal
Target version: 1.9.2
ruby -v: ruby 1.9.2dev (2010-04-12 trunk 27317) [i686-linux]
e$B1sF#$G$9!#e(B
e$B0J2<$Ge(B SEGV e$B$7$^$9!#e(B
def overlaid(obj)
class << obj
def reverse
super
end
end
end
overlaid(str = “123”) # (1)
overlaid(ary = [1,2,3]) # (2)
str.reverse # (3) => SEGV
e$B0lO"$NN.$l$r@bL@$9$k$He(B:
-
(1) e$B$K$h$C$F!"e(Breverse e$B$Ne(B iseq e$B$,e(B “123”
e$B$N%a%=%C%I$H$J$k!#e(B
(reverse e$B$Ne(B iseq e$B$Ne(B klass e$B$K!Ve(BString
e$B$r7Q>5$7$?FC0[%/%i%9!We(B
e$B$,%;%C%H$5$l$ke(B) -
(2) e$B$K$h$C$F!"e(Breverse e$B$Ne(B iseq e$B$,e(B [1,2,3]
e$B$N%a%=%C%I$H$J$ke(B
(reverse e$B$Ne(B iseq e$B$Ne(B klass e$B$K!Ve(BArray
e$B$r7Q>5$7$?FC0[%/%i%9!We(B
e$B$,e(B e$B>e=q$-e(B e$B$5$l$ke(B) -
(3) e$B$K$h$C$F!"e(BString e$B$N%$%s%9%?%s%9$re(B self e$B$H$7$Fe(B
reverse
e$B$Ne(B iseq e$B$,<B9T$5$l$k!#$=$NCf$Ne(B super
e$B$G8=:_<B9TCf$Ne(B iseq
e$B$Ne(B klass (= Array e$B$r7Q>5$7$?FC0[%/%i%9e(B)
e$B$r85$K8F$S=P$9e(B
e$B%a%=%C%I$r7h$a$k!#$9$k$He(B Array#reverse
e$B$,A*$P$l$F$7$^$&!#e(B -
String e$B$N%$%s%9%?%s%9$re(B self e$B$H$7$Fe(B rb_ary_reverse
e$B$,<B9Te(B
e$B$5$l$F$7$^$&!#e(B
iseq e$B$Ne(B klass e$B$Ke(B super
e$B$N%3%s%F%-%9%H>pJs$r;}$?$;$F$$$k@_7W$,e(B
e$B%P%0$@$H;W$$$^$7$?!#e(B
e$B2r7hJ}K!$H$7$F$O!"e(B
-
rb_iseq_t e$B0J30$Ge(B super e$B$N%3%s%F%-%9%H>pJs$r4IM}$9$ke(B
(Ruby e$B%l%Y%k$N%a%=%C%I$G$be(B rb_method_entry_t e$B$Ne(B klass
e$B$re(B
e$B;H$&$h$&$K$9$k!)e(B) -
e$B%a%=%C%I$rDj5A$9$k$?$S$Ke(B rb_iseq_t e$B$rJ#@=$9$ke(B
e$B$r;W$$$D$-$^$7$?$,!"$I$A$i$b7k9=%?%U$=$&$JJQ99$G$9!#e(B
e$B0BDj$5$;$k$N$K;~4V$,$+$+$k$3$H$,M=A[$5$l$k$?$a!"$,$s$P$C$Fe(B
e$BAa$/D>$7$F$/$@$5$$e(B > e$B$5$5$@$5$s!#e(B
e$B$^$?!"e(B[ruby-dev:40458] e$B$N=$@5$b5^$.L$G$*4j$$$7$^$9!#e(B
–
Yusuke E. [email protected]