Bug 815280

Summary: valgrind: Conditional jump or move depends on uninitialised value: in /usr/lib64/ld-2.15.so
Product: Red Hat Enterprise Linux 7 Reporter: Petr Pisar <ppisar>
Component: glibcAssignee: Jeff Law <law>
Status: CLOSED DUPLICATE QA Contact: qe-baseos-tools-bugs
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 7.0CC: fweimer, mfranc
Target Milestone: rc   
Target Release: ---   
Hardware: x86_64   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2012-04-23 10:40:18 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Petr Pisar 2012-04-23 09:30:44 UTC
Running valgrind on any dynamically linked executable reports jumps depending on uninitialized value:

$ valgrind /bin/true
==1049== Memcheck, a memory error detector
==1049== Copyright (C) 2002-2011, and GNU GPL'd, by Julian Seward et al.
==1049== Using Valgrind-3.7.0 and LibVEX; rerun with -h for copyright info
==1049== Command: /bin/true
==1049==
==1049== Conditional jump or move depends on uninitialised value(s)
==1049==    at 0x4017D96: index (in /usr/lib64/ld-2.15.so)
==1049==    by 0x40079E7: expand_dynamic_string_token (in /usr/lib64/ld-2.15.so)
==1049==    by 0x400827C: _dl_map_object (in /usr/lib64/ld-2.15.so)
==1049==    by 0x400171D: map_doit (in /usr/lib64/ld-2.15.so)
==1049==    by 0x400ECB5: _dl_catch_error (in /usr/lib64/ld-2.15.so)
==1049==    by 0x4000EE3: do_preload (in /usr/lib64/ld-2.15.so)
==1049==    by 0x40040B4: dl_main (in /usr/lib64/ld-2.15.so)
==1049==    by 0x40151DA: _dl_sysdep_start (in /usr/lib64/ld-2.15.so)
==1049==    by 0x4004EF1: _dl_start (in /usr/lib64/ld-2.15.so)
==1049==    by 0x4001537: ??? (in /usr/lib64/ld-2.15.so)
==1049==
==1049== Conditional jump or move depends on uninitialised value(s)
==1049==    at 0x4017D9B: index (in /usr/lib64/ld-2.15.so)
==1049==    by 0x40079E7: expand_dynamic_string_token (in /usr/lib64/ld-2.15.so)
==1049==    by 0x400827C: _dl_map_object (in /usr/lib64/ld-2.15.so)
==1049==    by 0x400171D: map_doit (in /usr/lib64/ld-2.15.so)
==1049==    by 0x400ECB5: _dl_catch_error (in /usr/lib64/ld-2.15.so)
==1049==    by 0x4000EE3: do_preload (in /usr/lib64/ld-2.15.so)
==1049==    by 0x40040B4: dl_main (in /usr/lib64/ld-2.15.so)
==1049==    by 0x40151DA: _dl_sysdep_start (in /usr/lib64/ld-2.15.so)
==1049==    by 0x4004EF1: _dl_start (in /usr/lib64/ld-2.15.so)
==1049==    by 0x4001537: ??? (in /usr/lib64/ld-2.15.so)
==1049==
==1049==
==1049== HEAP SUMMARY:
==1049==     in use at exit: 0 bytes in 0 blocks
==1049==   total heap usage: 0 allocs, 0 frees, 0 bytes allocated
==1049==
==1049== All heap blocks were freed -- no leaks are possible
==1049==
==1049== For counts of detected and suppressed errors, rerun with: -v
==1049== Use --track-origins=yes to see where uninitialised values come from
==1049== ERROR SUMMARY: 2 errors from 2 contexts (suppressed: 0 from 0)

$ rpm -qf /usr/bin/valgrind /usr/lib64/ld-2.15.so
valgrind-3.7.0-2.el7.x86_64
glibc-2.15-32.el7.x86_64

If this is not a bug in the linker, reassign it to valgrind component to adjust false-positive valgrind database.

Comment 1 Miroslav Franc 2012-04-23 09:51:05 UTC
I believe this is already tracked in Bug 801841.

Comment 2 Petr Pisar 2012-04-23 10:40:18 UTC
Indeed.

*** This bug has been marked as a duplicate of bug 801841 ***