Bug 677486

Summary: Version 2.13 of glibc causes Valgrind to complain about uninitialized variables when executing any program.
Product: [Fedora] Fedora Reporter: James <fedorabugmail>
Component: valgrindAssignee: Jakub Jelinek <jakub>
Status: CLOSED DUPLICATE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: unspecified    
Version: 14CC: dodji, jakub, schwab
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2011-02-16 03:32:43 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:

Description James 2011-02-14 23:46:25 UTC
Description of problem:
With the previous version of glibc, compiling an empty C program with g++ would result in zero warnings in Valgrind. With version 2.13, any program will cause numerous "Conditional jump or move depends on uninitialized value(s)" warnings. These warnings appear regardless on the contents of the C program.

Version-Release number of selected component (if applicable):
glibc-2.13


How reproducible/Steps to Reproduce:
>valgrind ls

 
Actual results:
==3968== Memcheck, a memory error detector
==3968== Copyright (C) 2002-2009, and GNU GPL'd, by Julian Seward et al.
==3968== Using Valgrind-3.5.0 and LibVEX; rerun with -h for copyright info
==3968== Command: ./a.out
==3968== 
==3968== Conditional jump or move depends on uninitialised value(s)
==3968==    at 0x33A1416AA6: index (in /lib64/ld-2.13.so)
==3968==    by 0x33A1407084: expand_dynamic_string_token (in /lib64/ld-2.13.so)
==3968==    by 0x33A14078E9: _dl_map_object (in /lib64/ld-2.13.so)
==3968==    by 0x33A140126D: map_doit (in /lib64/ld-2.13.so)
==3968==    by 0x33A140DC65: _dl_catch_error (in /lib64/ld-2.13.so)
==3968==    by 0x33A1401186: do_preload (in /lib64/ld-2.13.so)
==3968==    by 0x33A1403FC8: dl_main (in /lib64/ld-2.13.so)
==3968==    by 0x33A141465A: _dl_sysdep_start (in /lib64/ld-2.13.so)
==3968==    by 0x33A14048C0: _dl_start (in /lib64/ld-2.13.so)
==3968==    by 0x33A1400B27: ??? (in /lib64/ld-2.13.so)
==3968== 
==3968== Conditional jump or move depends on uninitialised value(s)
==3968==    at 0x33A1416AAB: index (in /lib64/ld-2.13.so)
==3968==    by 0x33A1407084: expand_dynamic_string_token (in /lib64/ld-2.13.so)
==3968==    by 0x33A14078E9: _dl_map_object (in /lib64/ld-2.13.so)
==3968==    by 0x33A140126D: map_doit (in /lib64/ld-2.13.so)
==3968==    by 0x33A140DC65: _dl_catch_error (in /lib64/ld-2.13.so)
==3968==    by 0x33A1401186: do_preload (in /lib64/ld-2.13.so)
==3968==    by 0x33A1403FC8: dl_main (in /lib64/ld-2.13.so)
==3968==    by 0x33A141465A: _dl_sysdep_start (in /lib64/ld-2.13.so)
==3968==    by 0x33A14048C0: _dl_start (in /lib64/ld-2.13.so)
==3968==    by 0x33A1400B27: ??? (in /lib64/ld-2.13.so)
==3968== 
==3968== Conditional jump or move depends on uninitialised value(s)
==3968==    at 0x33A140ADA2: _dl_relocate_object (in /lib64/ld-2.13.so)
==3968==    by 0x33A1403295: dl_main (in /lib64/ld-2.13.so)
==3968==    by 0x33A141465A: _dl_sysdep_start (in /lib64/ld-2.13.so)
==3968==    by 0x33A14048C0: _dl_start (in /lib64/ld-2.13.so)
==3968==    by 0x33A1400B27: ??? (in /lib64/ld-2.13.so)
==3968== 
==3968== Conditional jump or move depends on uninitialised value(s)
==3968==    at 0x33A140ADAB: _dl_relocate_object (in /lib64/ld-2.13.so)
==3968==    by 0x33A1403295: dl_main (in /lib64/ld-2.13.so)
==3968==    by 0x33A141465A: _dl_sysdep_start (in /lib64/ld-2.13.so)
==3968==    by 0x33A14048C0: _dl_start (in /lib64/ld-2.13.so)
==3968==    by 0x33A1400B27: ??? (in /lib64/ld-2.13.so)
==3968== 
==3968== Conditional jump or move depends on uninitialised value(s)
==3968==    at 0x33A140ADA2: _dl_relocate_object (in /lib64/ld-2.13.so)
==3968==    by 0x33A14034A5: dl_main (in /lib64/ld-2.13.so)
==3968==    by 0x33A141465A: _dl_sysdep_start (in /lib64/ld-2.13.so)
==3968==    by 0x33A14048C0: _dl_start (in /lib64/ld-2.13.so)
==3968==    by 0x33A1400B27: ??? (in /lib64/ld-2.13.so)
==3968== 
==3968== Conditional jump or move depends on uninitialised value(s)
==3968==    at 0x33A140ADAB: _dl_relocate_object (in /lib64/ld-2.13.so)
==3968==    by 0x33A14034A5: dl_main (in /lib64/ld-2.13.so)
==3968==    by 0x33A141465A: _dl_sysdep_start (in /lib64/ld-2.13.so)
==3968==    by 0x33A14048C0: _dl_start (in /lib64/ld-2.13.so)
==3968==    by 0x33A1400B27: ??? (in /lib64/ld-2.13.so)
==3968== 
==3968== 
==3968== HEAP SUMMARY:
==3968==     in use at exit: 0 bytes in 0 blocks
==3968==   total heap usage: 0 allocs, 0 frees, 0 bytes allocated
==3968== 
==3968== All heap blocks were freed -- no leaks are possible
==3968== 
==3968== For counts of detected and suppressed errors, rerun with: -v
==3968== Use --track-origins=yes to see where uninitialised values come from
==3968== ERROR SUMMARY: 6 errors from 6 contexts (suppressed: 0 from 0)



Expected results:
==3968== Memcheck, a memory error detector
==3968== Copyright (C) 2002-2009, and GNU GPL'd, by Julian Seward et al.
==3968== Using Valgrind-3.5.0 and LibVEX; rerun with -h for copyright info
==3968== Command: ./a.out
==3968== 
==3968== 
==3968== HEAP SUMMARY:
==3968==     in use at exit: 0 bytes in 0 blocks
==3968==   total heap usage: 0 allocs, 0 frees, 0 bytes allocated
==3968== 
==3968== All heap blocks were freed -- no leaks are possible
==3968== 
==3968== For counts of detected and suppressed errors, rerun with: -v
==3968== Use --track-origins=yes to see where uninitialised values come from
==3968== ERROR SUMMARY: 0 errors from 6 contexts (suppressed: 0 from 0)


Additional info:
Compiling
int main(int argc, char * argv[])
{
  return 0;
}

causes the same result.

Comment 1 James 2011-02-16 03:32:43 UTC
Closed as duplicate

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