Hi Axel and Philippe,
On Sat, Jun 06, 2009 at 07:05:13PM +0200, Axel Naumann wrote:
> the output of > nm -C -S $ROOTSYS/lib/lib{Core,Cint}.so would allow us to determine > which symbols the addresses correspond to.
After my posting I attempted to do some simplification to see if I could figure out from where these warnings were coming. With some rather heavily (frame) wildcarded suppression rules, I managed to eliminate a lot of the warnings coming from dynamically loading libCint.so and/or libCore.so and see that (in our applications) there is a smaller number of such warnings (from strlen, strcat, etc.) coming from the python shared library, frontier, etc. .
--> So this isn't purely a ROOT problem, it just appeared very often when
linking to the ROOT libraries. (Apologies for the noise.)
After that, in case anyone is interested, I attempted all of this in a much more standalone (i.e. non-CMS) environment and narrowed it down so far to the fact that valgrind itself is built with gcc4.3.x/64bit (for either of x={2,3}). When building valgrind with the SLC5 default compiler (RH patched gcc4.1.2) the errors disappear.
Curiously enough I did manage to get tracebacks from valgrind if the ROOT 5.22/00a build was gcc4.1.2 and valgrind was gcc4.3.2 as in (a) below, but I now think that these are spurious and due to problems in valgrind itself with gcc4.3.2. Looking at the valgrind bugzilla there are similar bug-reports about the "no-debug-info" part of this for ppc:
https://bugs.kde.org/show_bug.cgi?id=190820
and this (possibly similar) bug report about strlen:
https://bugs.kde.org/show_bug.cgi?id=190660
The current SVN trunk of valgrind still shows the problems, though.
[So from this point I'll take it off the ROOT list and you can just consider this a heads-up for possibile oddities and lots of noise with {valgrind3.4.1, gcc4.3.2, 64bit}.. ;-)]
Pete
(a)
==28885== Conditional jump or move depends on uninitialised value(s)
==28885== at 0x3897A7884D: strcpy (in /lib64/libc-2.5.so)
==28885== by 0x53A673B: G__register_sharedlib (loadfile.cxx:3057)
==28885== by 0x5440FE7: G__RegisterLibrary (shl.cxx:2162)
==28885== by 0x53A2E8C: G__add_setup_func (init.cxx:109)
==28885== by 0x4E4A1C4: G__cpp_setup_initG__MetaUtils::G__cpp_setup_initG__MetaUtils() (in /build/elmer/vg/root.4.1.2/lib/libCore.so)
==28885== by 0x4E47CC5: __static_initialization_and_destruction_0(int, int) (in /build/elmer/vg/root.4.1.2/lib/libCore.so)
==28885== by 0x4E47CF2: global constructors keyed to G__set_cpp_environmentG__MetaUtils (in /build/elmer/vg/root.4.1.2/lib/libCore.so)
==28885== by 0x4E55765: (within /build/elmer/vg/root.4.1.2/lib/libCore.so)
==28885== by 0x49A13B2: (within /build/elmer/vg/root.4.1.2/lib/libCore.so)
==28885== by 0x60229DF: ???
==28885== by 0x389760D22A: call_init (in /lib64/ld-2.5.so)
==28885== by 0x389760D334: _dl_init (in /lib64/ld-2.5.so)
==28885== by 0x3897600AA9: (within /lib64/ld-2.5.so)
and things like:
==28885== Conditional jump or move depends on uninitialised value(s)
==28885== at 0x3897A7884D: strcpy (in /lib64/libc-2.5.so)
==28885== by 0x544C0A1: G__defined_tagname (struct.cxx:1620)
==28885== by 0x544C6F5: G__search_tagname (struct.cxx:1765)
==28885== by 0x53BE26D: G__get_linked_tagnum (newlink.cxx:3407)
==28885== by 0x53CBB8D: G__get_linked_tagnum_fwd (newlink.cxx:3428)
==28885== by 0x4E47D3D: G__cpp_setup_tagtableG__MetaUtils (in /build/elmer/vg/root.4.1.2/lib/libCore.so)
==28885== by 0x4E4A05A: G__cpp_setupG__MetaUtils (in /build/elmer/vg/root.4.1.2/lib/libCore.so)
==28885== by 0x53A00C9: G__call_setup_funcs (init.cxx:152)
==28885== by 0x4E4A1C9: G__cpp_setup_initG__MetaUtils::G__cpp_setup_initG__MetaUtils() (in /build/elmer/vg/root.4.1.2/lib/libCore.so)
==28885== by 0x4E47CC5: __static_initialization_and_destruction_0(int, int) (in /build/elmer/vg/root.4.1.2/lib/libCore.so)
==28885== by 0x4E47CF2: global constructors keyed to G__set_cpp_environmentG__MetaUtils (in /build/elmer/vg/root.4.1.2/lib/libCore.so)
==28885== by 0x4E55765: (within /build/elmer/vg/root.4.1.2/lib/libCore.so)
==28885== by 0x49A13B2: (within /build/elmer/vg/root.4.1.2/lib/libCore.so)
==28885== by 0x60229DF: ???
==28885== by 0x389760D22A: call_init (in /lib64/ld-2.5.so)
This archive was generated by hypermail 2.2.0 : Mon Jun 08 2009 - 11:50:02 CEST