Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Fetching contributors…

Cannot retrieve contributors at this time

2244 lines (2012 sloc) 46.079 kb
# This is a generated file, composed of the following suppression rules:
# exp-ptrcheck.supp xfree-3.supp xfree-4.supp glibc-2.X-drd.supp glibc-2.34567-NPTL-helgrind.supp glibc-2.X.supp debian.supp
{
lib-X11-used-old-pointer-after-realloc-1
exp-ptrcheck:Heap
fun:strlen
obj:/usr/lib*/libX11.so*
obj:/usr/lib*/libX11.so*
}
{
lib-X11-used-old-pointer-after-realloc-2
exp-ptrcheck:Heap
obj:/usr/lib*/libX11.so*
obj:/usr/lib*/libX11.so*
}
{
ld-2.X-invalid-Add32/64-who-knows
exp-ptrcheck:Arith
obj:/*lib*/ld-2.*so*
obj:/*lib*/ld-2.*so*
}
{
ld-2.X possibly applying relocations
exp-ptrcheck:SorG
obj:/*lib*/ld-2.*so*
obj:/*lib*/ld-2.*so*
}
# I'm pretty sure this is a false positive caused by the sg_ stuff
{
glibc realpath false positive
exp-ptrcheck:SorG
fun:realpath
fun:*
}
{
If I had to guess, inlined or nameless strlen etc in ld.so
exp-ptrcheck:Heap
obj:/*lib*/ld-2.*so*
obj:/*lib*/ld-2.*so*
}
{
I think this is glibc's ultra optimised getenv doing 2 byte reads
exp-ptrcheck:SorG
fun:getenv
}
{
Occurs on Fedora 7--9?
exp-ptrcheck:Heap
fun:_dl_fini
fun:exit
fun:(below main)
}
##----------------------------------------------------------------------##
# Errors to suppress by default with XFree86 3.3.6)
# 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
##----------------------------------------------------------------------##
{
X11-Cond-0
Memcheck:Cond
obj:*libXt.so.6.0
obj:*libXt.so.6.0
obj:*libXt.so.6.0
}
{
X11-Cond-1
Memcheck:Cond
fun:__rawmemchr
obj:*libXt.so.6.0
obj:*libXt.so.6.0
}
# Suppressions for XFree86-3.3.X
{
X11-Addr4-1
Memcheck:Addr4
obj:/usr/X11R6/lib/libX11.so.6.1
obj:/usr/X11R6/lib/libX11.so.6.1
obj:/usr/X11R6/lib/libX11.so.6.1
}
{
X11-Addr4-2
Memcheck:Addr4
obj:/usr/X11R6/lib/libX11.so.6.1
obj:/usr/X11R6/lib/libX11.so.6.1
obj:/usr/X11R6/lib/libXt.so.6.0
}
{
X11-Addr4-3
Memcheck:Addr4
obj:/usr/X11R6/lib/libXt.so.6.0
obj:/usr/X11R6/lib/libXt.so.6.0
obj:/usr/X11R6/lib/libXt.so.6.0
}
{
X11-Addr4-4
Memcheck:Addr4
obj:/usr/X11R6/lib/libX11.so.6.1
obj:/usr/X11R6/lib/libXt.so.6.0
obj:/usr/X11R6/lib/libXt.so.6.0
}
{
X11-Addr4-5
Memcheck:Addr4
fun:__rawmemchr
obj:/usr/X11R6/lib/libXt.so.6.0
obj:/usr/X11R6/lib/libXt.so.6.0
}
{
X11-Addr4-6
Memcheck:Addr4
obj:/usr/X11R6/lib/libXmu.so.6.0
obj:/usr/X11R6/lib/libXmu.so.6.0
obj:/usr/X11R6/lib/libXt.so.6.0
}
{
X11-Addr4-7
Memcheck:Addr4
obj:/usr/X11R6/lib/libXt.so.6.0
obj:/usr/X11R6/lib/libXt.so.6.0
obj:/usr/X11R6/lib/libXawXpm_posing_as_Xaw.so.6.1
}
{
X11-Param-1
Memcheck:Param
write(buf)
fun:__libc_write
obj:/usr/X11R6/lib/libX11.so.6.1
obj:/usr/X11R6/lib/libX11.so.6.1
}
{
X11-Addr4-8
Memcheck:Addr4
obj:/usr/X11R6/lib/libX11.so.6.1
obj:/usr/X11R6/lib/libXpm.so.4.11
obj:/usr/X11R6/lib/libXpm.so.4.11
}
{
X11-Addr4-8
Memcheck:Addr4
obj:/usr/X11R6/lib/libXt.so.6.0
obj:/usr/X11R6/lib/libXawXpm_posing_as_Xaw.so.6.1
obj:/usr/X11R6/lib/libXt.so.6.0
}
{
X11-Addr4-9
Memcheck:Addr4
obj:/usr/X11R6/lib/libXaw.so.6.1
obj:/usr/X11R6/lib/libXt.so.6.0
obj:/usr/X11R6/lib/libXt.so.6.0
}
{
X11-Addr4-10
Memcheck:Addr4
obj:/usr/X11R6/lib/libXaw.so.6.1
obj:/usr/X11R6/lib/libXaw.so.6.1
obj:/usr/X11R6/lib/libXt.so.6.0
}
{
X11-Addr4-11
Memcheck:Addr4
obj:/usr/X11R6/lib/libXt.so.6.0
obj:/usr/X11R6/lib/libXt.so.6.0
obj:/usr/X11R6/lib/libXaw.so.6.1
}
##----------------------------------------------------------------------##
##----------------------------------------------------------------------##
# 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*
}
#
# Suppression patterns for ld, the dynamic loader.
#
# Suppress all data races triggered by ld.
{
drd-ld
drd:ConflictingAccess
obj:/lib*/ld-*.so
}
#
# Suppression patterns for libc.
#
# Suppress all data races where the topmost frame is inside libc.so. Although
# this could hide some real data races, unfortunately this is the only way to
# not report any false positives on stdio functions. The glibc functions
# manipulating FILE objects use locking primitives that cannot be intercepted
# easily. See also the definitions of _IO_lock_lock() etc. in the file
# nptl/sysdeps/pthread/bits/stdio-lock.h in the glibc source tree.
{
drd-libc-stdio
drd:ConflictingAccess
obj:/lib*/libc-*
}
#
# Suppression patterns for libstdc++, the implementation of the standard C++
# library included with the gcc compiler.
#
# Note: several versions of the libstdc++ library (4.2.2, 4.3.2, 4.4.0, 4.5.0
# and their predecessors) contain an implementation of the std::string class
# that triggers conflicting memory accesses. See also
# http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40518
#
# {
# drd-libstdc++-std::string::string()
# drd:ConflictingAccess
# fun:_ZNSsC1ERKSs
# }
#
# Suppression patterns for libpthread.
#
{
drd-libpthread-pthread_create
drd:ConflictingAccess
...
fun:pthread_create*
}
{
drd-libpthread-pthread_join
drd:ConflictingAccess
fun:pthread_join
fun:pthread_join
}
{
drd-libpthread-__deallocate_stack
drd:ConflictingAccess
...
fun:__deallocate_stack
}
{
drd-libpthread-__free_tcb
drd:ConflictingAccess
...
fun:__free_tcb
}
{
drd-libpthread-pthread_detach
drd:ConflictingAccess
fun:pthread_detach
fun:pthread_detach
}
{
drd-libpthread-_Unwind_ForcedUnwind
drd:ConflictingAccess
...
fun:_Unwind_ForcedUnwind
}
{
drd-libpthread-_Unwind_Resume
drd:ConflictingAccess
...
fun:_Unwind_Resume
}
{
drd-libpthread-nanosleep
drd:ConflictingAccess
fun:nanosleep
}
#
# Suppression patterns for libgomp.
#
# Unfortunately many statements in libgomp trigger conflicting accesses. It is
# not clear to me which of these are safe and which ones not. See also
# http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40362
{
drd-libgomp
drd:ConflictingAccess
obj:/usr/lib*/libgomp.so*
}
#
# Suppression patterns for libX11.
#
{
drd-libX11-XCreateFontSet
drd:CondErr
fun:pthread_cond_init*
fun:_XReply
fun:XListFontsWithInfo
obj:/usr/lib*/libX11.so*
fun:XCreateOC
fun:XCreateFontSet
}
#
# Suppression patterns for libxcb.
#
{
drd-libxcb-xcb_wait_for_reply
drd:CondErr
fun:pthread_cond_destroy*
fun:xcb_wait_for_reply
}
#
# Suppression patterns for libglib.
#
{
drd-libglib-access-g_threads_got_initialized
drd:ConflictingAccess
...
fun:g_slice_alloc
fun:g_ptr_array_sized_new
}
{
drd-libglib-access-g_threads_got_initialized
drd:ConflictingAccess
fun:_ZN27QEventDispatcherGlibPrivateC1EP13_GMainContext
fun:_ZN20QEventDispatcherGlibC1EP7QObject
obj:/usr/lib*/libQtCore.so.4.*
obj:/usr/lib*/libQtCore.so.4.*
}
{
drd-libglib-access-g_mem_initialized
drd:ConflictingAccess
fun:g_malloc0
}
{
drd-libglib-g_private_get_posix_impl
drd:ConflictingAccess
fun:g_private_get_posix_impl
}
{
drd-libglib-g_private_set_posix_impl
drd:ConflictingAccess
fun:g_private_set_posix_impl
}
{
drd-libglib-g_get_language_names
drd:ConflictingAccess
fun:g_slice_free_chain_with_offset
}
{
drd-libglib-g_main_context_new
drd:ConflictingAccess
fun:fcntl
obj:/usr/lib*/libglib-*.so*
fun:g_main_context_new
}
#
# Suppression patterns for libQtCore.
#
{
drd-libQtCore-deref-that-calls-QThreadData-destructor
drd:ConflictingAccess
fun:_ZN11QThreadDataD1Ev
fun:_ZN11QThreadData5derefEv
obj:/usr/lib*/libQtCore.so.4.*
}
{
drd-libQtCore-4.0/4.1-Q_GLOBAL_STATIC-connectionList
drd:ConflictingAccess
obj:/usr/lib*/libQtCore.so.4.*
fun:_ZN11QMetaObject8activateEP7QObjectiiPPv
fun:_ZN11QMetaObject8activateEP7QObjectPKS_iPPv
}
{
drd-libQtCore-QObjectPrivate::clearGuards(QObject*)
drd:ConflictingAccess
fun:_ZN14QReadWriteLock12lockForWriteEv
fun:_ZN14QObjectPrivate11clearGuardsEP7QObject
fun:_ZN7QObjectD2Ev
}
{
drd-libQtCore-QObjectPrivate::clearGuards(QObject*)
drd:ConflictingAccess
fun:_ZN14QReadWriteLock12lockForWriteEv
fun:_ZN12QWriteLocker6relockEv
fun:_ZN12QWriteLockerC1EP14QReadWriteLock
fun:_ZN14QObjectPrivate11clearGuardsEP7QObject
fun:_ZN7QObjectD2Ev
fun:_ZN24QAbstractEventDispatcherD2Ev
fun:_ZN20QEventDispatcherGlibD0Ev
}
{
drd-libQtCore-QMutexPool::get(void const*)
drd:ConflictingAccess
fun:_ZN10QMutexPool3getEPKv
}
#
# Suppression patterns for libboost.
#
# Suppress the races on boost::once_flag::epoch and on
# boost::detail::once_global_epoch. See also the source file
# boost/thread/pthread/once.hpp in the Boost source tree.
{
drd-libboost-boost::call_once<void (*)()>(boost::once_flag&, void (*)())
drd:ConflictingAccess
...
fun:_ZN5boost9call_onceIPFvvEEEvRNS_9once_flagET_
}
{
drd-libboost-boost::detail::get_once_per_thread_epoch()
drd:ConflictingAccess
fun:_ZN5boost6detail25get_once_per_thread_epochEv
}
{
drd-libboost-boost::detail::get_current_thread_data()
drd:ConflictingAccess
...
fun:_ZN5boost6detail23get_current_thread_dataEv
}
# FIXME 22 Jan 09: helgrind-glibc2X-005 overlaps with a lot of
# other stuff. They should be removed.
##----------------------------------------------------------------------##
# Suppressions for the Helgrind tool when using
# a glibc-2.{3,4,5,6,7,8,9} system
####################################################
# glibc-2.X specific
# These are generic cover-alls which catch a lot of stuff
# in various combinations of ld, libc and libpthread
#
# Note this is heavyhanded and not very clever:
#
# - suppress anything that has its top frame in ld.so
# That's fine, since it's mostly dynamic linking stuff,
# which has various deliberate (harmless) races
#
# - suppress anything that has its top frame in libc.so.
# This really isn't clever, since it could hide some
# legitimate races. But the problem is, if we don't do
# this, then loads of errors to do with stdio are reported, because
# H fails to see glibc's internal locking/unlocking of FILE*s
# as required by POSIX. A better solution is needed.
#{
# helgrind-glibc2X-001
# Helgrind:Race
# obj:/lib*/ld-2.*so*
#}
# helgrind-glibc2X-002 was merged into helgrind-glibc2X-001
# helgrind-glibc2X-003 was merged into helgrind-glibc2X-001
{
helgrind-glibc2X-004
Helgrind:Race
obj:/lib*/libc-2.*so*
}
{
helgrind-glibc2X-005
Helgrind:Race
obj:/lib*/libpthread-2.*so*
}
# helgrind-glibc2X-006 was merged into helgrind-glibc2X-005
# helgrind-glibc2X-007 was merged into helgrind-glibc2X-001
# helgrind-glibc2X-008 was merged into helgrind-glibc2X-004
# helgrind-glibc2X-009 was merged into helgrind-glibc2X-004
# helgrind-glibc2X-010 was merged into helgrind-glibc2X-001
# helgrind-glibc2X-011 was merged into helgrind-glibc2X-004
# helgrind-glibc2X-012 was merged into helgrind-glibc2X-001
# helgrind-glibc2X-013 was merged into helgrind-glibc2X-001
# helgrind-glibc2X-014 was merged into helgrind-glibc2X-001
# helgrind-glibc2X-015 was merged into helgrind-glibc2X-004
# helgrind-glibc2X-016 was merged into helgrind-glibc2X-004
# These are very ugly. They are needed to suppress errors inside (eg)
# NPTL's pthread_cond_signal. Why only one stack frame -- at least we
# should see the wrapper calling the real functions, right?
# Unfortunately, no: the real functions are handwritten assembly (in
# the glibc-2.5 sources) and does not create a proper stack frame.
# Therefore it's only one level of unwinding before we're back out in
# user code rather than the 2 levels you'd expect.
{
helgrind-glibc2X-101
Helgrind:Race
obj:/lib*/libpthread-2.*so*
fun:pthread_*
}
{
helgrind-glibc2X-102
Helgrind:Race
fun:mythread_wrapper
obj:/lib*/libpthread-2.*so*
}
{
helgrind-glibc2X-103
Helgrind:Race
fun:pthread_cond_*@@GLIBC_2.*
}
{
helgrind-glibc2X-104
Helgrind:Race
fun:__lll_mutex_*
}
{
helgrind-glibc2X-105
Helgrind:Race
fun:pthread_rwlock_*lock*
}
{
helgrind-glibc2X-106
Helgrind:Race
fun:__lll_lock_wait
}
{
helgrind-glibc2X-107
Helgrind:Race
obj:/lib*/libpthread-2.*so*
fun:sem_*
}
{
helgrind-glibc2X-108
Helgrind:Race
fun:clone
}
{
helgrind-glibc2X-109
Helgrind:Race
fun:start_thread
}
{
helgrind-glibc2X-110
Helgrind:Race
obj:/lib*/libc-2.*so*
fun:pthread_*
}
{
helgrind-glibc2X-111
Helgrind:Race
fun:__lll_*lock_*
}
{
helgrind-glibc2X-112
Helgrind:Race
fun:pthread_create_WRK
fun:pthread_create@*
}
{
helgrind-glibc2X-113
Helgrind:Race
fun:pthread_barrier_wait*
}
####################################################
# qt4 specific (GNU mangling)
#
{
helgrind-qt4---QMutex::lock()-QMutex::lock()
Helgrind:Race
...
fun:_ZN6QMutex4lockEv
fun:_ZN6QMutex4lockEv
}
{
helgrind-qt4---QMutex::unlock()-QMutex::unlock()
Helgrind:Race
...
fun:_ZN6QMutex6unlockEv
fun:_ZN6QMutex6unlockEv
}
{
helgrind-qt4---pthread_setspecific-QThreadPrivate::start(void*)
Helgrind:Race
fun:pthread_setspecific
fun:_ZN14QThreadPrivate5startEPv
}
####################################################
# Other stuff.
#
# pthread_exit apparently calls some kind of unwind
# mechanism - maybe to remove some number of frames
# from the thread's stack, so as to get back to the
# outermost frame for the thread? Anyway..
{
helgrind---*Unwind*-...-pthread_exit
Helgrind:Race
fun:*Unwind*
...
fun:pthread_exit
}
{
helgrind---...-*Unwind*-*pthread_unwind*
Helgrind:Race
...
fun:*Unwind*
fun:*pthread_unwind*
}
{
helgrind---...-*Unwind*-*pthread_unwind*
Helgrind:Race
...
fun:_Unwind*
...
fun:_Unwind_Backtrace
}
####################################################
# To do with thread stack allocation and deallocation?
#
{
helgrind---free_stacks-__deallocate_stack
Helgrind:Race
fun:free_stacks
fun:__deallocate_stack
}
{
helgrind---__deallocate_stack-start_thread-clone
Helgrind:Race
fun:__deallocate_stack
fun:start_thread
fun:clone
}
####################################################
# To do with pthread_{set,get}specific
#
{
helgrind---pthread_setspecific
Helgrind:Race
fun:pthread_setspecific
}
{
helgrind---pthread_getspecific
Helgrind:Race
fun:pthread_getspecific
}
####################################################
# To do with dynamic linking
#
# helgrind---ld.so-...-dlsym was merged into helgrind-glibc2X-001
####################################################
# To do with GNU libgomp
#
{
helgrind---libgomp43-1
Helgrind:Race
fun:gomp_ordered_sync
}
{
helgrind---libgomp43-1
Helgrind:Race
fun:gomp_ordered_next
}
{
helgrind---libgomp43-1
Helgrind:Race
fun:gomp_ordered_last
}
##----------------------------------------------------------------------##
# Errors to suppress by default with glibc 2.11.x
# IMPORTANT: DO NOT EDIT glibc-2.X.supp, as it is as a generated
# file. Instead edit glibc-2.X.supp.in.
# 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
##----------------------------------------------------------------------##
##--- generic suppressions ---##
##----------------------------------------------------------------------##
{
dl-hack3-cond-0
Memcheck:Cond
fun:_dl_start
fun:_start
}
{
dl-hack3-cond-1
Memcheck:Cond
obj:/lib*/ld-2.11*.so*
obj:/lib*/ld-2.11*.so*
obj:/lib*/ld-2.11*.so*
}
{
dl-hack3-cond-2
Memcheck:Cond
obj:/lib*/ld-2.11*.so*
obj:/lib*/ld-2.11*.so*
obj:/lib*/libc-2.11*.so*
}
{
dl-hack3-cond-3
Memcheck:Cond
obj:/lib*/ld-2.11*.so*
obj:/lib*/libc-2.11*.so*
obj:/lib*/libc-2.11*.so*
}
{
dl-hack3-cond-4
Memcheck:Cond
obj:/lib*/ld-2.11*.so*
obj:/lib*/ld-2.11*.so*
obj:/lib*/libdl-2.11*.so*
}
{
dl-hack4-64bit-addr-1
Memcheck:Addr8
obj:/lib*/ld-2.11*.so*
obj:/lib*/ld-2.11*.so*
obj:/lib*/ld-2.11*.so*
}
{
dl-hack4-64bit-addr-2
Memcheck:Addr8
obj:/lib*/ld-2.11*.so*
obj:/lib*/ld-2.11*.so*
obj:/lib*/libc-2.11*.so*
}
{
dl-hack4-64bit-addr-3
Memcheck:Addr8
obj:/lib*/ld-2.11*.so*
obj:/lib*/ld-2.11*.so*
obj:/lib*/libdl-2.11*.so*
}
{
dl-hack5-32bit-addr-1
Memcheck:Addr4
obj:/lib*/ld-2.11*.so
obj:/lib*/ld-2.11*.so
obj:/lib*/ld-2.11*.so
}
{
dl-hack5-32bit-addr-3
Memcheck:Addr4
obj:/lib*/ld-2.11*.so
obj:/lib*/ld-2.11*.so
obj:/lib*/libdl-2.11*.so*
}
{
dl-hack5-32bit-addr-4
Memcheck:Addr4
obj:/lib*/ld-2.11*.so
obj:/lib*/libdl-2.11*.so*
obj:/lib*/ld-2.11*.so
}
##----------------------------------------------------------------------##
##--- Misc ad-hoc hacks ---##
##----------------------------------------------------------------------##
{
glibc-2.5.x-on-SUSE-10.2-(PPC)-1
Memcheck:Cond
fun:_dl_start_final
fun:_dl_start
fun:_start
}
{
glibc-2.5.x-on-SUSE-10.2-(PPC)-2a
Memcheck:Cond
fun:index
obj:*ld-2.11.*.so
}
{
glibc-2.5.x-on-SuSE-10.2-(PPC)-2b
Memcheck:Addr4
fun:index
fun:expand_dynamic_string_token
}
{
glibc-2.5.5-on-SuSE-10.2-(PPC)-2c
Memcheck:Addr4
fun:index
obj:*ld-2.11.*.so
}
{
glibc-2.3.5-on-SuSE-10.1-(PPC)-3
Memcheck:Addr4
fun:*wordcopy_fwd_dest_aligned*
fun:mem*cpy
obj:*lib*2.11.*.so
}
{
glibc-2.11-on-SUSE-10.3-(x86)
Memcheck:Addr4
obj:/lib/ld-2.11*.so
obj:/lib/ld-2.11*.so
obj:/lib/ld-2.11*.so
}
{
glibc24-64bit-padding-1a
Memcheck:Param
socketcall.sendto(msg)
fun:send
fun:get_mapping
fun:__nscd_get_map_ref
fun:nscd*
}
{
glibc24-64bit-padding-1b
Memcheck:Param
socketcall.sendto(msg)
fun:__sendto_nocancel
obj:/*libc-2.11.so
obj:/*libc-2.11.so
obj:/*libc-2.11.so
}
{
glibc24-64bit-padding-1c
Memcheck:Param
socketcall.send(msg)
fun:send
fun:__nscd_get_map_ref
fun:nscd_get*_r
fun:*nscd*
obj:/*libc-2.11.so
}
{
X11-64bit-padding-3a
Memcheck:Param
write(buf)
obj:/*libpthread-2.4.so*
obj:/usr/lib*/libX11.so*
obj:/usr/lib*/libX11.so*
obj:/usr/lib*/libX11.so*
}
{
X11-64bit-padding-4a
Memcheck:Param
socketcall.sendto(msg)
fun:send
obj:/*libc-2.11.so
obj:/*libc-2.11.so
obj:/*libc-2.11.so
}
{
X11-64bit-padding-4b
Memcheck:Param
socketcall.send(msg)
fun:send
obj:/*libc-2.11.so
obj:/*libc-2.11.so
obj:/*libc-2.11.so
}
##----------------------------------------------------------------------##
# MontaVista Linux 4.0.1 on ppc32
{
MVL-401-linuxthreads-pthread_create
Memcheck:Param
write(buf)
fun:pthread_create
}
{
MVL-401-linuxthreads-pthread_create
Memcheck:Param
write(buf)
obj:/lib/libpthread-0.10.so
fun:pthread_create
}
##----------------------------------------------------------------------##
# 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*
}
##
## Debian-specific suppressions
##
{
Debian libc6 (2.3.x) stripped dynamic linker
Memcheck:Cond
obj:/lib/ld-2.3.*.so
obj:/lib/ld-2.3.*.so
obj:/lib/ld-2.3.*.so
obj:/lib/ld-2.3.*.so
obj:/lib/ld-2.3.*.so
}
{
Debian libc6 (2.4.x) stripped dynamic linker
Memcheck:Cond
obj:/lib/ld-2.4.so
obj:/lib/ld-2.4.so
obj:/lib/ld-2.4.so
obj:/lib/ld-2.4.so
obj:/lib/ld-2.4.so
}
{
Debian libc6 (2.5.x) stripped dynamic linker
Memcheck:Cond
obj:/lib/ld-2.5.so
obj:/lib/ld-2.5.so
obj:/lib/ld-2.5.so
obj:/lib/ld-2.5.so
obj:/lib/ld-2.5.so
}
{
strchr/libc-2.3.2.so/_dl_catch_error(Cond)
Memcheck:Cond
fun:strchr
obj:*libc-2.3.2.so
fun:_dl_catch_error
obj:*libc-2.3.2.so
}
{
"Xlib does not zero out unused bytes in the protocol stream"; see http://keithp.com/~keithp/talks/usenix2003/html/net.html
Memcheck:Param
writev(vector[...])
fun:vgAllRoadsLeadToRome_writev
fun:__writev
obj:/usr/X11R6/lib/libX11.so.6.2
fun:_X11TransWritev
}
{
Debian_dlopen
Memcheck:Cond
fun:_dl_relocate_object
fun:dl_open_worker
fun:_dl_catch_error
fun:__GI__dl_open
}
{
Debian_dlopen2
Memcheck:Addr1
obj:/lib/ld-2.3.2.so
fun:_dl_map_object
fun:dl_open_worker
fun:_dl_catch_error
}
{
Debian_dlopen3
Memcheck:Addr1
obj:/lib/ld-2.3.2.so
fun:_dl_map_object
obj:/lib/ld-2.3.2.so
fun:_dl_catch_error
}
{
Debian_dlopen4
Memcheck:Addr1
obj:/lib/ld-2.3.2.so
fun:_dl_check_map_versions
fun:dl_open_worker
fun:_dl_catch_error
}
{
Debian_gcc_supp
Memcheck:Addr4
obj:/lib/libgcc_s.so.1
fun:__dl_iterate_phdr
fun:_Unwind_Find_FDE
obj:/lib/libgcc_s.so.1
}
{
Debian zlib1g suppression
Memcheck:Cond
obj:/usr/lib/libz.so.1.2.2
obj:/usr/lib/libz.so.1.2.2
fun:deflate
fun:main
}
# Glib stores pointers in an integral type. Bug#231989
{
glib type registry
Memcheck:Leak
fun:calloc
fun:g_malloc0
fun:type_node_any_new_W
}
{
Debian rpmatch (malloc) static allocations
Memcheck:Leak
fun:malloc
obj:/lib/tls/libc-2.3.6.so
obj:/lib/tls/libc-2.3.6.so
obj:/lib/tls/libc-2.3.6.so
obj:/lib/tls/libc-2.3.6.so
fun:regcomp
fun:rpmatch
fun:main
}
{
Debian rpmatch (malloc) static allocations
Memcheck:Leak
fun:malloc
obj:/lib/tls/libc-2.3.6.so
obj:/lib/tls/libc-2.3.6.so
obj:/lib/tls/libc-2.3.6.so
fun:regcomp
fun:rpmatch
fun:main
}
{
Debian rpmatch (malloc) static allocations
Memcheck:Leak
fun:malloc
obj:/lib/tls/libc-2.3.6.so
obj:/lib/tls/libc-2.3.6.so
fun:regcomp
fun:rpmatch
fun:main
}
{
Debian rpmatch (malloc) static allocations
Memcheck:Leak
fun:malloc
obj:/lib/tls/libc-2.3.6.so
fun:regcomp
fun:rpmatch
fun:main
}
{
Debian rpmatch (calloc) static allocations
Memcheck:Leak
fun:calloc
obj:/lib/tls/libc-2.3.6.so
obj:/lib/tls/libc-2.3.6.so
obj:/lib/tls/libc-2.3.6.so
obj:/lib/tls/libc-2.3.6.so
obj:/lib/tls/libc-2.3.6.so
fun:regcomp
fun:rpmatch
fun:main
}
{
Debian rpmatch (malloc) static allocations
Memcheck:Leak
fun:malloc
obj:/lib/tls/libc-2.3.6.so
fun:regcomp
fun:rpmatch
fun:main
}
{
Debian rpmatch (malloc) static allocations
Memcheck:Leak
fun:malloc
obj:/lib/tls/libc-2.3.6.so
fun:regcomp
fun:rpmatch
fun:main
}
{
Debian rpmatch (calloc) static allocations
Memcheck:Leak
fun:calloc
obj:/lib/tls/libc-2.3.6.so
fun:regcomp
fun:rpmatch
fun:main
}
{
Debian rpmatch (calloc) static allocations
Memcheck:Leak
fun:calloc
obj:/lib/tls/libc-2.3.6.so
obj:/lib/tls/libc-2.3.6.so
fun:regcomp
fun:rpmatch
fun:main
}
{
Debian rpmatch (malloc - realloc) static allocations
Memcheck:Leak
fun:malloc
fun:realloc
obj:/lib/tls/libc-2.3.6.so
fun:regcomp
fun:rpmatch
fun:main
}
{
Debian rpmatch (malloc) static allocations
Memcheck:Leak
fun:malloc
fun:regcomp
fun:rpmatch
fun:main
}
#
# This is a valgrind suppression file that should be used when using python
#
# You must edit Objects/obmalloc.c and uncomment Py_USING_MEMORY_DEBUGGER
# to use the preferred suppressions with Py_ADDRESS_IN_RANGE.
#
# If you do not want to recompile Python, you can uncomment
# suppressions for PyObject_Free and PyObject_Realloc.
#
# See Misc/README.valgrind in the python source for more information.
# all tool names: Addrcheck,Memcheck,cachegrind,helgrind,massif
{
ADDRESS_IN_RANGE/Invalid read of size 4
Memcheck:Addr4
fun:Py_ADDRESS_IN_RANGE
}
{
ADDRESS_IN_RANGE/Invalid read of size 4
Memcheck:Value4
fun:Py_ADDRESS_IN_RANGE
}
{
ADDRESS_IN_RANGE/Conditional jump or move depends on uninitialised value
Memcheck:Cond
fun:Py_ADDRESS_IN_RANGE
}
###{
### ADDRESS_IN_RANGE/Invalid read of size 4
### Memcheck:Addr4
### fun:PyObject_Free
###}
###
###{
### ADDRESS_IN_RANGE/Invalid read of size 4
### Memcheck:Value4
### fun:PyObject_Free
###}
###
###{
### ADDRESS_IN_RANGE/Conditional jump or move depends on uninitialised value
### Memcheck:Cond
### fun:PyObject_Free
###}
###{
### ADDRESS_IN_RANGE/Invalid read of size 4
### Memcheck:Addr4
### fun:PyObject_Realloc
###}
###
###{
### ADDRESS_IN_RANGE/Invalid read of size 4
### Memcheck:Value4
### fun:PyObject_Realloc
###}
###
###{
### ADDRESS_IN_RANGE/Conditional jump or move depends on uninitialised value
### Memcheck:Cond
### fun:PyObject_Realloc
###}
###
### All the suppressions below are for errors that occur within libraries
### that Python uses. The problems to not appear to be related to Python's
### use of the libraries.
###
{
GDBM problems, see test_gdbm
Memcheck:Param
write(buf)
fun:write
fun:gdbm_open
}
###
### These occur from somewhere within the SSL, when running
### test_socket_sll. They are too general to leave on by default.
###
###{
### somewhere in SSL stuff
### Memcheck:Cond
### fun:memset
###}
###{
### somewhere in SSL stuff
### Memcheck:Value4
### fun:memset
###}
###
###{
### somewhere in SSL stuff
### Memcheck:Cond
### fun:MD5_Update
###}
###
###{
### somewhere in SSL stuff
### Memcheck:Value4
### fun:MD5_Update
###}
#
# All of these problems come from using test_socket_ssl
#
{
from test_socket_ssl
Memcheck:Cond
fun:BN_bin2bn
}
{
from test_socket_ssl
Memcheck:Cond
fun:BN_num_bits_word
}
{
from test_socket_ssl
Memcheck:Value4
fun:BN_num_bits_word
}
{
from test_socket_ssl
Memcheck:Cond
fun:BN_mod_exp_mont_word
}
{
from test_socket_ssl
Memcheck:Cond
fun:BN_mod_exp_mont
}
{
from test_socket_ssl
Memcheck:Param
write(buf)
fun:write
obj:/usr/lib/libcrypto.so.0.9.7
}
{
from test_socket_ssl
Memcheck:Cond
fun:RSA_verify
}
{
from test_socket_ssl
Memcheck:Value4
fun:RSA_verify
}
{
from test_socket_ssl
Memcheck:Value4
fun:DES_set_key_unchecked
}
{
from test_socket_ssl
Memcheck:Value4
fun:DES_encrypt2
}
{
from test_socket_ssl
Memcheck:Cond
obj:/usr/lib/libssl.so.0.9.7
}
{
from test_socket_ssl
Memcheck:Value4
obj:/usr/lib/libssl.so.0.9.7
}
{
from test_socket_ssl
Memcheck:Cond
fun:BUF_MEM_grow_clean
}
{
from test_socket_ssl
Memcheck:Cond
fun:memcpy
fun:ssl3_read_bytes
}
{
from test_socket_ssl
Memcheck:Cond
fun:SHA1_Update
}
{
from test_socket_ssl
Memcheck:Value4
fun:SHA1_Update
}
{
Debian libc6 (2.9.x) stripped dynamic linker
Memcheck:Cond
obj:/lib/ld-2.9.so
obj:/lib/ld-2.9.so
obj:/lib/ld-2.9.so
obj:/lib/ld-2.9.so
obj:/lib/ld-2.9.so
}
{
Debian libc6 (2.10.x) stripped dynamic linker
Memcheck:Cond
fun:index
fun:expand_dynamic_string_token
fun:_dl_map_object
fun:map_doit
fun:_dl_catch_error
fun:do_preload
fun:dl_main
fun:_dl_sysdep_start
fun:_dl_start
obj:/lib/ld-2.10.1.so
}
{
Debian libc6 (2.10.x) stripped dynamic linker
Memcheck:Cond
fun:_dl_relocate_object
fun:dl_main
fun:_dl_sysdep_start
fun:_dl_start
obj:/lib/ld-2.10.1.so
}
##Perl supress
#
{
Perl library
Memcheck:Cond
obj:*/perl5.12.0
}
Jump to Line
Something went wrong with that request. Please try again.