# 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/107991>\
**Category:** Development\
**Created:** [June 28, 2007, 5:42am UTC](https://www.ruby-forum.com/t/conditional-jump-or-move-depends-on-uninitialised-value-s-i/107991 "2007-06-28T05:42:26Z")\
**Posts on this page:** 1\
**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 28, 2007, 5:42am UTC](https://www.ruby-forum.com/t/conditional-jump-or-move-depends-on-uninitialised-value-s-i/107991/1 "2007-06-28T05:42:26Z")

</div>

valgrind e$B2\<$Ge(B StringIO.new(“a”).gets("\n") e$B$H$9$k$H!"e(B  
strio\_getline e$B$Ge(B  
Conditional jump or move depends on uninitialised value(s)  
e$B$H$J$j$^$9!#e(B

% valgrind ./ruby -rstringio -ve ‘StringIO.new(“a”).gets("\n")’  
==12270== Memcheck, a memory error detector.  
==12270== Copyright © 2002-2006, and GNU GPL’d, by Julian Seward et  
al.  
==12270== Using LibVEX rev 1658, a library for dynamic binary  
translation.  
==12270== Copyright © 2004-2006, and GNU GPL’d, by OpenWorks LLP.  
==12270== Using valgrind-3.2.1-Debian, a dynamic binary instrumentation  
framework.  
==12270== Copyright © 2000-2006, and GNU GPL’d, by Julian Seward et  
al.  
==12270== For more details, rerun with: -v  
==12270==  
–12270-- DWARF2 CFI reader: unhandled CFI instruction 0:50  
–12270-- DWARF2 CFI reader: unhandled CFI instruction 0:50  
–12270-- DWARF2 CFI reader: unhandled CFI instruction 0:50  
–12270-- DWARF2 CFI reader: unhandled CFI instruction 0:50  
ruby 1.9.0 (2007-06-28 patchlevel 0) [i686-linux]  
…  
==12270== Conditional jump or move depends on uninitialised value(s)  
==12270== at 0x402892E: strio\_getline (stringio.c:807)  
==12270== by 0x4028D92: strio\_gets (stringio.c:872)  
==12270== by 0x80E5967: call\_cfunc (insnhelper.ci:270)  
==12270== by 0x80EE1F7: vm\_call\_cfunc (insnhelper.ci:359)  
==12270== by 0x80EDEA2: vm\_call\_method (insnhelper.ci:520)  
==12270== by 0x80EA2D6: vm\_eval (insns.def:1194)  
==12270== by 0x80EE33D: vm\_eval\_body (vm.c:1150)  
==12270== by 0x80EE97A: rb\_thread\_eval (vm.c:1358)  
==12270== by 0x80EFCBD: yarvcore\_eval\_iseq (yarvcore.c:97)  
==12270== by 0x80EFDB7: yarvcore\_eval\_parsed (yarvcore.c:129)  
==12270== by 0x8059C0F: ruby\_exec\_internal (eval.c:228)  
==12270== by 0x8059C4C: ruby\_exec (eval.c:243)  
==12270==  
==12270== Conditional jump or move depends on uninitialised value(s)  
==12270== at 0x4028939: strio\_getline (stringio.c:807)  
==12270== by 0x4028D92: strio\_gets (stringio.c:872)  
==12270== by 0x80E5967: call\_cfunc (insnhelper.ci:270)  
==12270== by 0x80EE1F7: vm\_call\_cfunc (insnhelper.ci:359)  
==12270== by 0x80EDEA2: vm\_call\_method (insnhelper.ci:520)  
==12270== by 0x80EA2D6: vm\_eval (insns.def:1194)  
==12270== by 0x80EE33D: vm\_eval\_body (vm.c:1150)  
==12270== by 0x80EE97A: rb\_thread\_eval (vm.c:1358)  
==12270== by 0x80EFCBD: yarvcore\_eval\_iseq (yarvcore.c:97)  
==12270== by 0x80EFDB7: yarvcore\_eval\_parsed (yarvcore.c:129)  
==12270== by 0x8059C0F: ruby\_exec\_internal (eval.c:228)  
==12270== by 0x8059C4C: ruby\_exec (eval.c:243)  
…
