##----------------------------------------------------------------------## # Errors to suppress by default with XFree86 4.1.0) # *** And a bunch of other stuff which is completely unrelated # to X. The default suppressions are a bit of a mess and could do # with a good tidying up. # Format of this file is: # { # name_of_suppression # tool_name:supp_kind # (optional extra info for some suppression types) # caller0 name, or /name/of/so/file.so # caller1 name, or ditto # (optionally: caller2 name) # (optionally: caller3 name) # } # # For Memcheck, the supp_kinds are: # # Param Value1 Value2 Value4 Value8 Value16 Jump # Free Addr1 Addr2 Addr4 Addr8 Addr16 # Cond (previously known as Value0) # # and the optional extra info is: # if Param: name of system call param # Resulting from R H 8.0 { *libc_write/libX11.so.6.2/*X11TransWrite(Param) Memcheck:Param write(buf) fun:*libc_write obj:/usr/*lib*/libX11.so* fun:*X11TransWrite } { libX11.so.6.2/libX11.so.6.2/libX11.so.6.2(Cond) Memcheck:Cond obj:/usr/*lib*/libX11.so* obj:/usr/*lib*/libX11.so* obj:/usr/*lib*/libX11.so* } { libXt.so.6.2/libXt.so.6.2/libXt.so.6.2(Cond) Memcheck:Cond obj:/usr/*lib*/libXt.so* obj:/usr/*lib*/libXt.so* obj:/usr/*lib*/libXt.so* } { libXaw.so.7.0/libXaw.so.7.0/libXaw.so.7.0(Cond) Memcheck:Cond obj:/usr/*lib*/libXaw.so* obj:/usr/*lib*/libXaw.so* obj:/usr/*lib*/libXaw.so* } { libXmu.so.6.2/libXmu.so.6.2/libXmu.so.6.2(Cond) Memcheck:Cond obj:/usr/*lib*/libXmu.so* obj:/usr/*lib*/libXmu.so* obj:/usr/*lib*/libXmu.so* } { libXt.so.6.0/libXt.so.6.0/libXaw.so.7.0(Cond) Memcheck:Cond obj:/usr/*lib*/libXt.so* obj:/usr/*lib*/libXt.so* obj:/usr/*lib*/libXaw.so* } { libXaw.so.7.0/libXaw.so.7.0/libXt.so.6.0(Value4) Memcheck:Value4 obj:/usr/*lib*/libXaw.so* obj:/usr/*lib*/libXaw.so* obj:/usr/*lib*/libXt.so* } { libXaw.so.7.0/libXaw.so.7.0/libXt.so.6.0(Cond) Memcheck:Cond obj:/usr/*lib*/libXaw.so* obj:/usr/*lib*/libXaw.so* obj:/usr/*lib*/libXt.so* } { libX11.so.6.2/libX11.so.6.2/libXaw.so.7.0(Cond) Memcheck:Cond obj:/usr/*lib*/libX11.so* obj:/usr/*lib*/libX11.so* obj:/usr/*lib*/libXaw.so* } { libX11.so.6.2/libX11.so.6.2/libXaw.so.7.0(Addr4) Memcheck:Addr4 obj:/usr/*lib*/libX11.so* obj:/usr/*lib*/libX11.so* obj:/usr/*lib*/libXaw.so* } { libX11.so.6.2/libXaw.so.7.0/libXaw.so.7.0(Cond) Memcheck:Cond obj:/usr/*lib*/libX11.so* obj:/usr/*lib*/libXaw.so* obj:/usr/*lib*/libXaw.so* } { libXpm.so.4.11/libXpm.so.4.11/libXpm.so.4.11 Memcheck:Cond obj:/usr/*lib*/libXpm.so.4.11 obj:/usr/*lib*/libXpm.so.4.11 obj:/usr/*lib*/libXpm.so.4.11 } { struct with uninitialized paddings Memcheck:Param writev(vector[...]) fun:*_writev fun:_X11TransSocketWritev fun:_X11TransWritev fun:* } { struct with uninitialized paddings - libxcb Memcheck:Param writev(vector[...]) obj:/lib*/*.so obj:/usr/lib*/libxcb.so.1.0.0 obj:/usr/lib*/libxcb.so.1.0.0 fun:xcb_send_request fun:_X* } { struct with uninitialized paddings - libxcb Memcheck:Param writev(vector[...]) obj:/lib*/*.so obj:/usr/lib*/libxcb.so.1.0.0 obj:/usr/lib*/libxcb.so.1.0.0 obj:/usr/lib*/libxcb.so.1.0.0 fun:xcb_* fun:_X* } { another struct with uninitialized paddings Memcheck:Param write(buf) obj:* fun:_IceTransSocketWrite fun:_IceTransWrite fun:_IceWrite } { Xorg 6.8.1 uninit _write* padding Memcheck:Param write(buf) fun:* fun:_X11TransWrite obj:/usr/*lib*/libX11.so* } { Xorg 6.8.1 uninit write padding Memcheck:Param write(buf) fun:write fun:_X11TransWrite obj:/usr/*lib*/libX11.so* } { Xorg 6.8.1 ICE uninit __write* padding Memcheck:Param write(buf) obj:* fun:_IceTransWrite fun:_IceWrite fun:IceFlush } { Xorg 6.8.1 writev uninit padding Memcheck:Param writev(vector[...]) fun:writev obj:/usr/*lib*/libX11.so* fun:_X11TransWritev fun:_XSend } { Xorg 6.9.0 writev uninit padding Memcheck:Param writev(vector[...]) fun:do_writev fun:writev obj:/usr/*lib*/libX11.so* fun:_X11TransWritev fun:_XSend } { X on SUSE11 writev uninit padding Memcheck:Param writev(vector[...]) fun:writev obj:/usr/lib*/libxcb.so* obj:/usr/lib*/libxcb.so* } { X on SUSE11 writev uninit padding 2 Memcheck:Param writev(vector[...]) obj:/lib*/ld-2.*.so* obj:/usr/lib*/libxcb.so* obj:/usr/lib*/libxcb.so* } { X on SUSE11 writev uninit padding 3 Memcheck:Param writev(vector[...]) obj:/lib*/ld-2.*.so* obj:/usr/lib*/libORBit*.so* obj:/usr/lib*/libORBit*.so* } { X on SUSE11 writev uninit padding 4 Memcheck:Param writev(vector[...]) obj:/lib*/libc-2.*.so* obj:/usr/lib*/libORBit*.so* obj:/usr/lib*/libORBit*.so* } # There's something strange about a % 127 in XftFontOpenInfo # (hashing) which gcc turns into a multiply by 33818641 and # some other guff instead. I don't understand it enough to # know if libXft is broken or if memcheck's value tracking is # inadequate here. Anyway, for the moment, suppress it. # # Use of uninitialised value of size 8 # at 0x71A59F8: XftFontOpenInfo (in /usr/X11R6/lib64/libXft.so.2.1.2) # by 0x71A5F0D: XftFontOpenPattern (in /usr/X11R6/lib64/libXft.so.2.1.2) # by 0x65F166E: loadFontConfigFont(QFontPrivate const*, QFontDef const&, # QFont::Script) (qfontdatabase_x11.cpp:1942) # by 0x65F5DE4: QFontDatabase::findFont(QFont::Script, QFontPrivate const*, # QFontDef const&, int) (qfontdatabase.cpp:996) { XftFontOpenInfo-umod-127-strangeness Memcheck:Value8 obj:/usr/X11*/lib*/libXft.so* obj:/usr/X11*/lib*/libXft.so* } { XftFontOpenInfo-umod-127-strangeness-a-la-xorg Memcheck:Value8 obj:/usr/lib*/libXft.so* obj:/usr/lib*/libXft.so* } { More X padding stuff Memcheck:Param writev(vector[...]) fun:*writev* obj:/usr/X11*/lib*/libX11.so* obj:/usr/X11*/lib*/libX11.so* } # Inlined strlen in libX11 on Ubuntu 9.10 amd64, unfortunately. # Invalid read of size 4 # at 0x9B5CCE6: ??? (in /usr/lib/libX11.so.6.2.0) # by 0x9B5D011: XGetAtomName (in /usr/lib/libX11.so.6.2.0) # by 0x86407C3: gdk_x11_xatom_to_atom_for_display # (in /usr/lib/libgdk-x11-2.0.so.0.1800.3) # by 0x8636817: ??? (in /usr/lib/libgdk-x11-2.0.so.0.1800.3) # Address 0x1a558e1c is 28 bytes inside a block of size 30 alloc'd # at 0x4C2552D: malloc (vg_replace_malloc.c:236) # by 0x9B642C0: _XUpdateAtomCache (in /usr/lib/libX11.so.6.2.0) # by 0x9B647F1: ??? (in /usr/lib/libX11.so.6.2.0) # by 0x9B81818: ??? (in /usr/lib/libX11.so.6.2.0) { libX11.so.6.2.0/libX11.so.6.2.0(Addr4) Memcheck:Addr4 obj:/usr/*lib*/libX11.so* obj:/usr/*lib*/libX11.so* } ##----------------------------------------------------------------------## # Completely inappropriate place, but ... { ifort-9.X-on-i686-1 Memcheck:Addr4 fun:unaligned_bigint fun:hash fun:for__add_to_lf_table } { ifort-9.X-on-amd64-1 Memcheck:Addr8 fun:unaligned_bigint fun:hash fun:for__add_to_lf_table } # zlib-1.2.x uses uninitialised memory in some tricky way which # apparently is harmless (it must amount to a vectorised while-loop, # nothing else makes sense). Fools Memcheck though. See the mentioned # URL for details. { zlib-1.2.x trickyness (1a): See http://www.zlib.net/zlib_faq.html#faq36 Memcheck:Cond obj:/*lib*/libz.so.1.2.* ... obj:/*lib*/libz.so.1.2.* fun:deflate } { zlib-1.2.x trickyness (1b): See http://www.zlib.net/zlib_faq.html#faq36 Memcheck:Cond obj:/*lib*/libz.so.1.2.* fun:deflate } { zlib-1.2.x trickyness (2a): See http://www.zlib.net/zlib_faq.html#faq36 Memcheck:Value8 obj:/*lib*/libz.so.1.2.* ... obj:/*lib*/libz.so.1.2.* fun:deflate } { zlib-1.2.x trickyness (2b): See http://www.zlib.net/zlib_faq.html#faq36 Memcheck:Value8 obj:/*lib*/libz.so.1.2.* fun:deflate } { zlib-1.2.x trickyness (3a): See http://www.zlib.net/zlib_faq.html#faq36 Memcheck:Value4 obj:/*lib*/libz.so.1.2.* ... obj:/*lib*/libz.so.1.2.* fun:deflate } { zlib-1.2.x trickyness (3b): See http://www.zlib.net/zlib_faq.html#faq36 Memcheck:Value4 obj:/*lib*/libz.so.1.2.* fun:deflate } ##----------------------------------------------------------------------## ## More general versions of some of the old X suppressions above { Ubuntu804 libXaw.so.7.0/libXaw.so.7.0/libXaw.so.7.0(Cond) Memcheck:Cond obj:/usr/*lib*/libXaw*so* obj:/usr/*lib*/libXaw*so* obj:/usr/*lib*/libXaw*so* } { Ubuntu804 libXaw.so.7.0/libXaw.so.7.0/libXt(Cond) Memcheck:Cond obj:/usr/*lib*/libXaw*so* obj:/usr/*lib*/libXaw*so* obj:/usr/*lib*/libXt*so* } { Ubuntu804-hack-1 Memcheck:Overlap fun:mempcpy fun:_IO_default_xsputn obj:/lib*/libc-2.*so* }