Conditional jump or move depends on uninitialised value(s) i

valgrind e$B$r$+$1$?$H$3$m$H$j$"$($::G=i$N$,e(B

==32482== Conditional jump or move depends on uninitialised value(s)
==32482== at 0x80E1880: th_make_env_each (vm.c:255)
==32482== by 0x80E1DDF: th_make_env_object (vm.c:413)
==32482== by 0x805EBE1: rb_binding_new (proc.c:190)
==32482== by 0x80E93EC: rb_thread_eval (vm.c:1853)
==32482== by 0x80EB8EE: yarvcore_eval_iseq (yarvcore.c:98)
==32482== by 0x80EB9E6: yarvcore_eval_parsed (yarvcore.c:130)
==32482== by 0x80EBA1C: yarvcore_eval (yarvcore.c:138)
==32482== by 0x80F0AA4: Init_Thread (thread.c:2936)
==32482== by 0x8063D6C: rb_call_inits (inits.c:89)
==32482== by 0x8059ADD: ruby_init (eval.c:88)
==32482== by 0x80570A5: main (main.c:48)

e$B$@$C$?$N$GD4$Y$F$_$k$H!"e(B

Index: yarvcore.c

— yarvcore.c (revision 12610)
+++ yarvcore.c (working copy)
@@ -328,6 +328,7 @@ th_init2(rb_thread_t *th)

 /* allocate thread stack */
 th->stack = ALLOC_N(VALUE, RUBY_VM_THREAD_STACK_SIZE);
  • int i; for (i = 0; i < RUBY_VM_THREAD_STACK_SIZE; i++) th->stack[i]
    = Qundef;

    th->stack_size = RUBY_VM_THREAD_STACK_SIZE;
    th->cfp = (void *)(th->stack + th->stack_size);

e$B$H$$$&$h$&$K=i4|2=$5$l$F$$$J$$%a%b%j$r$H$"$kCM$K@_Dj$9$k$H<!e(B
e$B$N$h$&$Ke(B SEGV e$B$9$k$h$&$G$9!#e(B

% ./ruby -ve ‘p eval(“a”, TOPLEVEL_BINDING)’
ruby 1.9.0 (2007-06-25 patchlevel 0) [i686-linux]
-e:1: – control frame ----------
c:0004 p:---- s:0011 b:0011 l:000010 d:000010 CFUNC :eval
c:0003 p:0017 s:0006 b:0005 l:000004 d:000004 TOP -e:1
c:0002 p:---- s:0003 b:0003 l:000002 d:000002 FINISH :inherited
c:0001 p:---- s:0001 b:-001 l:000000 d:000000 ------ :(null)

DBG> : “-e:1:in `’”
– backtrace of native function call (Use addr2line) –
0x80da515
0x80f3740
0x80b2510
0xb7fe8420
0x805b2f5
0x80d133e
0x80d8ec9
0x80d4d90
0x80d8064
0x80d8459
0x8059062
0x8059086
0x805d611
0x8056d38
0xb7e51ea8
0x8056c51

e$B!!$5$5$@$G$9!#e(B

Tanaka A. wrote:

e$B$H$$$&$h$&$K=i4|2=$5$l$F$$$J$$%a%b%j$r$H$"$kCM$K@_Dj$9$k$H<!e(B
e$B$N$h$&$Ke(B SEGV e$B$9$k$h$&$G$9!#e(B

e$B!!0JA0$O=i4|2=$7$F$$$?$h$&$J5$$,$9$k$s$G$9$,!"$O$F!#e(B

e$B!!=i4|2=$9$k$h$&$K$7$^$7$?!#e(B

In article [email protected],
SASADA Koichi [email protected] writes:

e$B!!0JA0$O=i4|2=$7$F$$$?$h$&$J5$$,$9$k$s$G$9$,!"$O$F!#e(B

e$B!!=i4|2=$9$k$h$&$K$7$^$7$?!#e(B

e$BHyL/$K$h$/$o$+$C$F$$$J$$$N$G4*0c$$$+$b$7$l$J$$$s$G$9$,!“%9%?%Ce(B
e$B%/$r3NJ]$7$?:G=i$K=i4|2=$9$k!”$H$$$&$N$OE,@Z$JBP=h$J$s$G$7$ge(B
e$B$&$+e(B?

e$B%9%?%C%/$,?-$S$?8e$K=L$`$H!“=L$s$@ItJ,$K$O%4%$,;D$k$o$1$G!“e(B
e$B:G=i$K=i4|2=$9$k$@$1$G$O!”$=$&$$$&<B9TESCf$K$G$-$?%4%
$O=i4|e(B
e$B2=$G$-$J$/$F!”$=$l$r;2>H$7$FJQ$J$3$H$,5/$-$?$j$7$J$$$s$G$7$ge(B
e$B$&$+e(B?

e$B!!$5$5$@$G$9!#e(B

Tanaka A. wrote:

e$BHyL/$K$h$/$o$+$C$F$$$J$$$N$G4*0c$$$+$b$7$l$J$$$s$G$9$,!"%9%?%Ce(B
e$B%/$r3NJ]$7$?:G=i$K=i4|2=$9$k!"$H$$$&$N$OE,@Z$JBP=h$J$s$G$7$ge(B
e$B$&$+e(B?

e$B%9%?%C%/$,?-$S$?8e$K=L$`$H!"=L$s$@ItJ,$K$O%4%$,;D$k$o$1$G!“e(B
e$B:G=i$K=i4|2=$9$k$@$1$G$O!”$=$&$$$&<B9TESCf$K$G$-$?%4%
$O=i4|e(B
e$B2=$G$-$J$/$F!"$=$l$r;2>H$7$FJQ$J$3$H$,5/$-$?$j$7$J$$$s$G$7$ge(B
e$B$&$+e(B?

e$B!!$=$&$$$($P!"%9%?%C%/$r;H$&$H$-$K$O!J%9%?%C%/%U%l!<%`3HD%;~$Ke(B
e$B$O!KKh2s=i4|2=$7$F$$$k$O$:$G$7$?!#$@$+$i=i4|2=$r$7$F$J$+$C$?$N$+!#e(B

e$B!!$=$l$r$7$F$$$k$O$:$J$N$Ke(B valgrind e$B$G7Y9p$,=P$k$C$FOC$G$9$he(B
e$B$M$’!#$b$&0lEY8+D>$7$F$_$^$9!#e(B