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

**URL:** <https://www.ruby-forum.com/t/conditional-jump-or-move-depends-on-uninitialised-value-s-i/107681>\
**Category:** Development\
**Created:** [June 25, 2007, 9:08am UTC](https://www.ruby-forum.com/t/conditional-jump-or-move-depends-on-uninitialised-value-s-i/107681 "2007-06-25T09:08:35Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![Tanaka\_A](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/t/c67d28/32.png) [@Tanaka\_A](https://www.ruby-forum.com/u/Tanaka_A)\
**Post date:** [June 25, 2007, 9:08am UTC](https://www.ruby-forum.com/t/conditional-jump-or-move-depends-on-uninitialised-value-s-i/107681/1 "2007-06-25T09:08:35Z")

</div>

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;

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

---

<div class="post-metadata">

**Author:** ![Tanaka\_A](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/t/c67d28/32.png) [@Tanaka\_A](https://www.ruby-forum.com/u/Tanaka_A)\
**Post date:** [June 25, 2007, 8:39pm UTC](https://www.ruby-forum.com/t/conditional-jump-or-move-depends-on-uninitialised-value-s-i/107681/2 "2007-06-25T20:39:24Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![Tanaka\_A](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/t/c67d28/32.png) [@Tanaka\_A](https://www.ruby-forum.com/u/Tanaka_A)\
**Post date:** [June 26, 2007, 2:41am UTC](https://www.ruby-forum.com/t/conditional-jump-or-move-depends-on-uninitialised-value-s-i/107681/3 "2007-06-26T02:41:06Z")

</div>

In article [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid),  
SASADA Koichi [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) 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?

---

<div class="post-metadata">

**Author:** ![Tanaka\_A](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/t/c67d28/32.png) [@Tanaka\_A](https://www.ruby-forum.com/u/Tanaka_A)\
**Post date:** [June 26, 2007, 4:43am UTC](https://www.ruby-forum.com/t/conditional-jump-or-move-depends-on-uninitialised-value-s-i/107681/4 "2007-06-26T04:43:11Z")

</div>

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
