Test/ruby/test_m17n.rb dumps core

まつもと ゆきひろです

testでSEGVします。で、どうやら文字列オブジェクトのklassフィー
ルドが壊れているようです。リテラルのklassをいじった時になに
か問題が発生した?

(gdb) r -I lib -I .ext/i686-linux test/ruby/test_m17n.rb

Program received signal SIGSEGV, Segmentation fault.
0x081878fe in rb_method_node (klass=83947736, id=13544) at
vm_method.c:229
(gdb) p klass
$9 = 83947736
(gdb) rp klass
Cannot access memory at address 0x500f0d8
(gdb) up
#1 0x08190959 in vm_exec_core (th=0x82f7288, initial=) at vm_insnhelper.c:1172
(gdb) up
#2 0x08191302 in vm_exec (th=0x82f7288) at vm.c:1078
(gdb) down
#1 0x08190959 in vm_exec_core (th=0x82f7288, initial=) at vm_insnhelper.c:1172
(gdb) p klass
$10 = 83947736
(gdb) rp klass
Cannot access memory at address 0x500f0d8
(gdb) p id
$11 = 12800
(gdb) rb_id2name id
$12 = 0x842ca48 “mu_pp”
(gdb) rp recv
T_STRING: “Èjihgfedcba” bytesize:11 (embed) encoding:1 coderange:valid
$13 = (struct RString *) 0x86e1894

e$B$^$D$b$He(B e$B$f$-$R$m$G$9e(B

In message “Re: [ruby-dev:38106] test/ruby/test_m17n.rb dumps core”
on Sat, 28 Feb 2009 02:58:59 +0900, Yukihiro M.
[email protected] writes:

|teste$B$Ge(BSEGVe$B$7$^$9!#$G!"$I$&$d$iJ8;zNs%*%V%8%'%/%H$Ne(Bklasse$B%U%#!<e(B
|e$B%k%I$,2u$l$F$$$k$h$&$G$9!#%j%F%i%k$Ne(Bklasse$B$r$$$8$C$?;~$K$J$Ke(B
|e$B$+LdBj$,H/@8$7$?!)e(B

e$B$b$&$*5$$E$-$+$b$7$l$^$;$s$,!“$3$l$O;d$N<j85$N%Q%C%A$,860x$Ge(B
e$B$7$?!#%Q%C%A$r30$7$F%F%9%H$7$?$H;W$C$?$s$@$1$I$J$”!#$4$a$s$Je(B
e$B$5$$!#e(B