Bugzilla will be upgraded to version 5.0 on a still to be determined date in the near future. The original upgrade date has been delayed.
Bug 595348 - Conditional jump or move depends on uninitialised value(s)
Conditional jump or move depends on uninitialised value(s)
Status: CLOSED WORKSFORME
Product: Red Hat Enterprise Linux 6
Classification: Red Hat
Component: valgrind (Show other bugs)
6.0
All Linux
low Severity medium
: rc
: ---
Assigned To: Jakub Jelinek
qe-baseos-tools
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2010-05-24 08:28 EDT by Kim van der Riet
Modified: 2011-05-13 08:55 EDT (History)
0 users

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2010-05-24 08:33:37 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Description Kim van der Riet 2010-05-24 08:28:19 EDT
When using the valgrind memory tool to check for leaks, all my programs fail with:

==30857== Conditional jump or move depends on uninitialised value(s)
==30857==    at 0x36E221749B: index (strchr.S:59)
==30857==    by 0x36E2206254: expand_dynamic_string_token (dl-load.c:324)
==30857==    by 0x36E2207CAF: _dl_map_object (dl-load.c:2186)
==30857==    by 0x36E22016EA: map_doit (rtld.c:630)
==30857==    by 0x36E220E0C5: _dl_catch_error (dl-error.c:178)
==30857==    by 0x36E22015EE: do_preload (rtld.c:814)
==30857==    by 0x36E2203BAA: dl_main (rtld.c:1693)
==30857==    by 0x36E2215A8D: _dl_sysdep_start (dl-sysdep.c:244)
==30857==    by 0x36E2201493: _dl_start (rtld.c:334)
==30857==    by 0x36E2200AF7: ??? (in /lib64/ld-2.12.so)
==30857==    by 0x6: ???
==30857==    by 0x7FEFFFDFE: ???
==30857==    by 0x7FEFFFE26: ???
==30857==    by 0x7FEFFFE30: ???
==30857==    by 0x7FEFFFE40: ???
==30857==    by 0x7FEFFFE49: ???
==30857==    by 0x7FEFFFE52: ???
==30857==    by 0x7FEFFFE60: ???

This is new for RHEL-6; RHEL-5 does not do this. Valgrind is used as part of the continuous build checking in qpid, this is failing all tests on which it is used on RHEL-6. I even tried this on a null program vgchk.cpp:

int main(int, char**){}

compiled it with g++ -o vgchk vgchk.cpp, and ran valgrind ./vgchk, I get:

[kpvdr@mrg7 test]$ valgrind ./vgchk
==769== Memcheck, a memory error detector
==769== Copyright (C) 2002-2009, and GNU GPL'd, by Julian Seward et al.
==769== Using Valgrind-3.5.0 and LibVEX; rerun with -h for copyright info
==769== Command: ./vgchk
==769== 
==769== Conditional jump or move depends on uninitialised value(s)
==769==    at 0x36E2217496: index (strchr.S:56)
==769==    by 0x36E2206254: expand_dynamic_string_token (dl-load.c:324)
==769==    by 0x36E2207CAF: _dl_map_object (dl-load.c:2186)
==769==    by 0x36E22016EA: map_doit (rtld.c:630)
==769==    by 0x36E220E0C5: _dl_catch_error (dl-error.c:178)
==769==    by 0x36E22015EE: do_preload (rtld.c:814)
==769==    by 0x36E2203BAA: dl_main (rtld.c:1693)
==769==    by 0x36E2215A8D: _dl_sysdep_start (dl-sysdep.c:244)
==769==    by 0x36E2201493: _dl_start (rtld.c:334)
==769==    by 0x36E2200AF7: ??? (in /lib64/ld-2.12.so)
==769== 
==769== Conditional jump or move depends on uninitialised value(s)
==769==    at 0x36E221749B: index (strchr.S:59)
==769==    by 0x36E2206254: expand_dynamic_string_token (dl-load.c:324)
==769==    by 0x36E2207CAF: _dl_map_object (dl-load.c:2186)
==769==    by 0x36E22016EA: map_doit (rtld.c:630)
==769==    by 0x36E220E0C5: _dl_catch_error (dl-error.c:178)
==769==    by 0x36E22015EE: do_preload (rtld.c:814)
==769==    by 0x36E2203BAA: dl_main (rtld.c:1693)
==769==    by 0x36E2215A8D: _dl_sysdep_start (dl-sysdep.c:244)
==769==    by 0x36E2201493: _dl_start (rtld.c:334)
==769==    by 0x36E2200AF7: ??? (in /lib64/ld-2.12.so)
==769== 
==769== Conditional jump or move depends on uninitialised value(s)
==769==    at 0x36E220B48A: _dl_relocate_object (do-rel.h:65)
==769==    by 0x36E22039DF: dl_main (rtld.c:2249)
==769==    by 0x36E2215A8D: _dl_sysdep_start (dl-sysdep.c:244)
==769==    by 0x36E2201493: _dl_start (rtld.c:334)
==769==    by 0x36E2200AF7: ??? (in /lib64/ld-2.12.so)
==769== 
==769== Conditional jump or move depends on uninitialised value(s)
==769==    at 0x36E220B41B: _dl_relocate_object (do-rel.h:68)
==769==    by 0x36E22039DF: dl_main (rtld.c:2249)
==769==    by 0x36E2215A8D: _dl_sysdep_start (dl-sysdep.c:244)
==769==    by 0x36E2201493: _dl_start (rtld.c:334)
==769==    by 0x36E2200AF7: ??? (in /lib64/ld-2.12.so)
==769== 
==769== Conditional jump or move depends on uninitialised value(s)
==769==    at 0x36E220B48A: _dl_relocate_object (do-rel.h:65)
==769==    by 0x36E220389A: dl_main (rtld.c:2312)
==769==    by 0x36E2215A8D: _dl_sysdep_start (dl-sysdep.c:244)
==769==    by 0x36E2201493: _dl_start (rtld.c:334)
==769==    by 0x36E2200AF7: ??? (in /lib64/ld-2.12.so)
==769== 
==769== Conditional jump or move depends on uninitialised value(s)
==769==    at 0x36E220B41B: _dl_relocate_object (do-rel.h:68)
==769==    by 0x36E220389A: dl_main (rtld.c:2312)
==769==    by 0x36E2215A8D: _dl_sysdep_start (dl-sysdep.c:244)
==769==    by 0x36E2201493: _dl_start (rtld.c:334)
==769==    by 0x36E2200AF7: ??? (in /lib64/ld-2.12.so)
==769== 
==769== 
==769== HEAP SUMMARY:
==769==     in use at exit: 0 bytes in 0 blocks
==769==   total heap usage: 0 allocs, 0 frees, 0 bytes allocated
==769== 
==769== All heap blocks were freed -- no leaks are possible
==769== 
==769== For counts of detected and suppressed errors, rerun with: -v
==769== Use --track-origins=yes to see where uninitialised values come from
==769== ERROR SUMMARY: 6 errors from 6 contexts (suppressed: 0 from 0)

This RHEL-6 box is installed with RHEL6.0-20100512.0
[kpvdr@mrg7 test]$ uname -a
Linux mrg7.lab.bos.redhat.com 2.6.32-25.el6.x86_64 #1 SMP Mon May 10 17:30:22 EDT 2010 x86_64 x86_64 x86_64 GNU/Linux
However, I have the new glibc installed for testing for Bug 593396:
[kpvdr@mrg7 test]$ rpm -qa | grep glibc
glibc-2.12-1.1.el6.1.x86_64
glibc-devel-2.12-1.1.el6.1.x86_64
glibc-headers-2.12-1.1.el6.1.x86_64
glibc-utils-2.12-1.1.el6.1.x86_64
glibc-debuginfo-2.12-1.1.el6.1.x86_64
glibc-static-2.12-1.1.el6.1.x86_64
glibc-common-2.12-1.1.el6.1.x86_64
Comment 1 Jakub Jelinek 2010-05-24 08:33:37 EDT
You need valgrind-3.5.0-18.el6 if you have glibc 2.12* installed.

Note You need to log in before you can comment on or make changes to this bug.