Arch Linux

Please read this before reporting a bug:
https://wiki.archlinux.org/title/Bug_reporting_guidelines

Do NOT report bugs when a package is just outdated, or it is in the AUR. Use the 'flag out of date' link on the package page, or the Mailing List.

REPEAT: Do NOT report bugs for outdated packages!
Tasklist

FS#30851 - [valgrind] all programs report errors because system libraries have moved

Attached to Project: Arch Linux
Opened by Matthew Skala (mskala) - Wednesday, 25 July 2012, 18:27 GMT
Last edited by Allan McRae (Allan) - Saturday, 28 July 2012, 10:02 GMT
Task Type Bug Report
Category Packages: Extra
Status Closed
Assigned To Allan McRae (Allan)
Architecture x86_64
Severity Medium
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 1
Private No

Details

With valgrind 3.7.0-3, current version in extra as of July 25 2012: every run of the default "memcheck" tool reports uninitialized data errors unrelated to the program under test.

The errors are reported in the system libraries, apparently somewhere related to the dynamic library loader which virtually all executables invoke. Valgrind would normally suppress such errors, but its default suppression file tells it to ignore errors in system libraries in /lib, and Arch's recent misguided and ridiculous elimination of /lib means the libraries are now in /usr/lib and they are no longer covered by the default suppression file. Fixing this will require a new default suppression file; most likely re-running the Valgrind build on a post-rearrangement system should automatically generate one that work.

The actual error message from Valgrind is not very useful, but for reference here is the output of "valgrind /bin/true". Similar errors are given on *all* runs of the memcheck tool. Prior to the library breakage, it reported no errors for /bin/true.

==22955== Memcheck, a memory error detector
==22955== Copyright (C) 2002-2011, and GNU GPL'd, by Julian Seward et al.
==22955== Using Valgrind-3.7.0 and LibVEX; rerun with -h for copyright info
==22955== Command: /bin/true
==22955==
==22955== Conditional jump or move depends on uninitialised value(s)
==22955== at 0x4017876: index (in /usr/lib/ld-2.16.so)
==22955== by 0x4007902: expand_dynamic_string_token (in /usr/lib/ld-2.16.so)
==22955== by 0x4008204: _dl_map_object (in /usr/lib/ld-2.16.so)
==22955== by 0x400180D: map_doit (in /usr/lib/ld-2.16.so)
==22955== by 0x400E785: _dl_catch_error (in /usr/lib/ld-2.16.so)
==22955== by 0x40010DB: do_preload (in /usr/lib/ld-2.16.so)
==22955== by 0x4004546: dl_main (in /usr/lib/ld-2.16.so)
==22955== by 0x4014B5D: _dl_sysdep_start (in /usr/lib/ld-2.16.so)
==22955== by 0x4004DFD: _dl_start (in /usr/lib/ld-2.16.so)
==22955== by 0x4001627: ??? (in /usr/lib/ld-2.16.so)
==22955==
==22955== Conditional jump or move depends on uninitialised value(s)
==22955== at 0x401787B: index (in /usr/lib/ld-2.16.so)
==22955== by 0x4007902: expand_dynamic_string_token (in /usr/lib/ld-2.16.so)
==22955== by 0x4008204: _dl_map_object (in /usr/lib/ld-2.16.so)
==22955== by 0x400180D: map_doit (in /usr/lib/ld-2.16.so)
==22955== by 0x400E785: _dl_catch_error (in /usr/lib/ld-2.16.so)
==22955== by 0x40010DB: do_preload (in /usr/lib/ld-2.16.so)
==22955== by 0x4004546: dl_main (in /usr/lib/ld-2.16.so)
==22955== by 0x4014B5D: _dl_sysdep_start (in /usr/lib/ld-2.16.so)
==22955== by 0x4004DFD: _dl_start (in /usr/lib/ld-2.16.so)
==22955== by 0x4001627: ??? (in /usr/lib/ld-2.16.so)
==22955==
==22955==
==22955== HEAP SUMMARY:
==22955== in use at exit: 0 bytes in 0 blocks
==22955== total heap usage: 0 allocs, 0 frees, 0 bytes allocated
==22955==
==22955== All heap blocks were freed -- no leaks are possible
==22955==
==22955== For counts of detected and suppressed errors, rerun with: -v
==22955== Use --track-origins=yes to see where uninitialised values come from
==22955== ERROR SUMMARY: 2 errors from 2 contexts (suppressed: 0 from 0)
This task depends upon

Closed by  Allan McRae (Allan)
Saturday, 28 July 2012, 10:02 GMT
Reason for closing:  Fixed

Loading...