8d9225ba78
FontConfig uses offsets for elements instead of pointers, so any value held by an element goes missing from memory checkers. Previous suppressions took care of rule copies and adds to elements, but value lists may be copied as well. When they are, values are copied, including the content of strings and matricies. Since value lists are effectively like Fc*Add functions (even calling the same underlying helpers), treat them as such and suppress any 'leaks' they may cause. Review URL: https://codereview.chromium.org/894863003
227 lines
5.1 KiB
Plaintext
227 lines
5.1 KiB
Plaintext
# Pass this file to Valgrind with "--suppressions=tools/valgrind.supp"
|
|
|
|
# Third party lib, driver issues.
|
|
{
|
|
ati_driver_bug_1
|
|
Memcheck:Param
|
|
ioctl(generic)
|
|
fun:ioctl
|
|
...
|
|
obj:/usr/lib/x86_64-linux-gnu/dri/fglrx_dri.so
|
|
}
|
|
{
|
|
ati_driver_bug_2
|
|
Memcheck:Cond
|
|
obj:/usr/lib/x86_64-linux-gnu/dri/fglrx_dri.so
|
|
}
|
|
{
|
|
ati_driver_bug_3
|
|
Memcheck:Addr8
|
|
...
|
|
obj:/usr/lib/x86_64-linux-gnu/dri/fglrx_dri.so
|
|
}
|
|
{
|
|
ati_driver_bug_4
|
|
Memcheck:Addr4
|
|
...
|
|
obj:/usr/lib/x86_64-linux-gnu/dri/fglrx_dri.so
|
|
}
|
|
{
|
|
ati_driver_bug_5
|
|
Memcheck:Addr2
|
|
...
|
|
obj:/usr/lib/x86_64-linux-gnu/dri/fglrx_dri.so
|
|
}
|
|
{
|
|
ati_driver_bug_6
|
|
Memcheck:Addr1
|
|
...
|
|
obj:/usr/lib/x86_64-linux-gnu/dri/fglrx_dri.so
|
|
}
|
|
{
|
|
ati_driver_bug_7
|
|
Memcheck:Leak
|
|
fun:malloc
|
|
obj:/usr/lib/x86_64-linux-gnu/dri/fglrx_dri.so
|
|
}
|
|
{
|
|
driver_bug_8
|
|
Memcheck:Overlap
|
|
fun:strcpy
|
|
obj:/usr/lib/x86_64-linux-gnu/dri/fglrx_dri.so
|
|
}
|
|
{
|
|
ati_driver_bug_9
|
|
Memcheck:Leak
|
|
fun:calloc
|
|
obj:/usr/lib/x86_64-linux-gnu/dri/fglrx_dri.so
|
|
}
|
|
{
|
|
ati_driver_bug_10
|
|
Memcheck:Leak
|
|
fun:malloc
|
|
obj:/usr/lib/fglrx/fglrx-libGL.so.1.2
|
|
}
|
|
{
|
|
nv_driver_bug_1
|
|
Memcheck:Param
|
|
write(buf)
|
|
...
|
|
obj:*/libnvidia-glcore.so*
|
|
}
|
|
{
|
|
nv_driver_bug_2
|
|
Memcheck:Cond
|
|
...
|
|
obj:*/libnvidia-glcore.so*
|
|
}
|
|
{
|
|
nv_driver_bug_3
|
|
Memcheck:Leak
|
|
fun:calloc
|
|
obj:/usr/lib*/libGL.so*
|
|
}
|
|
{
|
|
#Fixed by FontConfig 2.9.0
|
|
#http://cgit.freedesktop.org/fontconfig/commit/?id=1c475d5c8cb265ac939d6b9e097666e300162511
|
|
font_config_bug_1
|
|
Memcheck:Addr4
|
|
fun:FcConfigFileExists
|
|
}
|
|
{
|
|
#https://bugs.freedesktop.org/show_bug.cgi?id=8215
|
|
#https://bugs.freedesktop.org/show_bug.cgi?id=8428
|
|
#FcPattern uses 'intptr_t elts_offset' instead of 'FcPatternEltPtr elts',
|
|
#which confuses valgrind.
|
|
font_config_bug_2
|
|
Memcheck:Leak
|
|
fun:*alloc
|
|
...
|
|
fun:Fc*Add*
|
|
}
|
|
{
|
|
#Same root cause as font_config_bug_2.
|
|
#The 'leak' here is a copy of rule values, as opposed to new values.
|
|
font_config_bug_3
|
|
Memcheck:Leak
|
|
fun:*alloc
|
|
...
|
|
fun:FcConfigValues
|
|
fun:FcConfigSubstituteWithPat
|
|
fun:FcFontRenderPrepare
|
|
}
|
|
{
|
|
#Same root cause as font_config_bug_2.
|
|
#The 'leak' is copies of font or pattern values into returned pattern values.
|
|
font_config_bug_4
|
|
Memcheck:Leak
|
|
fun:*alloc
|
|
...
|
|
fun:FcValue*
|
|
fun:FcFontRenderPrepare
|
|
}
|
|
{
|
|
zlib_bug_1
|
|
Memcheck:Cond
|
|
fun:inflateReset2
|
|
fun:inflateInit2_
|
|
fun:png_create_read_struct_2
|
|
fun:png_create_read_struct
|
|
}
|
|
{
|
|
zlib_bug_2
|
|
Memcheck:Cond
|
|
fun:inflateReset2
|
|
fun:inflateInit2_
|
|
fun:_ZN12_GLOBAL__N_17doFlateEbP8SkStreamP9SkWStream
|
|
fun:_ZN7SkFlate7InflateEP8SkStreamP9SkWStream
|
|
}
|
|
|
|
# Why is it OK to suppress this?
|
|
{
|
|
SkRTConfRegistry_bug_1
|
|
Memcheck:Leak
|
|
fun:_Znwm
|
|
fun:_ZN16SkRTConfRegistry12registerConfEP12SkRTConfBase
|
|
}
|
|
|
|
# The gpu_issue_* suppressions suppress issues that cannot be reproduced locally. These appear to be
|
|
# due to valgrind not knowing about memory mapped by the ATI driver via glMapBuffer.
|
|
{
|
|
gpu_issue_1
|
|
Memcheck:Addr2
|
|
fun:_ZNK5GrGpu18getQuadIndexBufferEv
|
|
}
|
|
{
|
|
gpu_issue_2
|
|
Memcheck:Addr2
|
|
fun:_ZN24GrAAHairLinePathRenderer6CreateEP9GrContext
|
|
}
|
|
{
|
|
gpu_issue_3
|
|
Memcheck:Addr2
|
|
fun:_ZN16GrAARectRenderer21aaFillRectIndexBufferEP5GrGpu
|
|
}
|
|
{
|
|
gpu_issue_4
|
|
Memcheck:Addr8
|
|
fun:_ZN24GrAAHairLinePathRenderer14createLineGeomERK6SkPathP12GrDrawTargetRK8SkTArrayI7SkPointLb1EEiPNS3_19AutoReleaseGeometryEP6SkRect
|
|
}
|
|
{
|
|
gpu_issue_5
|
|
Memcheck:Addr8
|
|
fun:_ZN21GrDefaultPathRenderer10createGeomERK6SkPathRK11SkStrokeRecfP12GrDrawTargetP15GrPrimitiveTypePiSA_PNS6_19AutoReleaseGeometryE
|
|
}
|
|
{
|
|
gpu_issue_6
|
|
Memcheck:Addr8
|
|
fun:_ZN22GrAAConvexPathRenderer10onDrawPathERK11SkStrokeRecP12GrDrawTargetb
|
|
}
|
|
{
|
|
gpu_issue_7
|
|
Memcheck:Addr4
|
|
fun:_ZNK7SkPoint24distanceToLineBetweenSqdERKS_S1_PNS_4SideE
|
|
fun:_ZN22GrAAConvexPathRenderer10onDrawPathERK11SkStrokeRecP12GrDrawTargetb
|
|
}
|
|
{
|
|
gpu_issue_8
|
|
Memcheck:Addr4
|
|
fun:_ZN24GrAAHairLinePathRenderer14createLineGeomERK6SkPathP12GrDrawTargetRK8SkTArrayI7SkPointLb1EEiPNS3_19AutoReleaseGeometryEP6SkRect
|
|
}
|
|
{
|
|
gpu_issue_9
|
|
Memcheck:Addr2
|
|
fun:_ZN21GrDefaultPathRenderer10createGeomERK6SkPathRK11SkStrokeRecfP12GrDrawTargetP15GrPrimitiveTypePiSA_PNS6_19AutoReleaseGeometryE
|
|
}
|
|
{
|
|
gpu_issue_10
|
|
Memcheck:Addr4
|
|
fun:_ZN22GrAAConvexPathRenderer10onDrawPathERK11SkStrokeRecP12GrDrawTargetb
|
|
}
|
|
{
|
|
gpu_issue_11
|
|
Memcheck:Addr2
|
|
fun:_ZN22GrAAConvexPathRenderer10onDrawPathERK11SkStrokeRecP12GrDrawTargetb
|
|
}
|
|
{
|
|
gpu_issue_12
|
|
Memcheck:Addr8
|
|
fun:_ZN22GrAAConvexPathRenderer10onDrawPathERK6SkPathRK11SkStrokeRecP12GrDrawTargetb
|
|
}
|
|
{
|
|
gpu_issue_13
|
|
Memcheck:Addr4
|
|
fun:_ZNK7SkPoint24distanceToLineBetweenSqdERKS_S1_PNS_4SideE
|
|
fun:_ZN22GrAAConvexPathRenderer10onDrawPathERK6SkPathRK11SkStrokeRecP12GrDrawTargetb
|
|
}
|
|
{
|
|
gpu_issue_14
|
|
Memcheck:Addr4
|
|
fun:_ZN22GrAAConvexPathRenderer10onDrawPathERK6SkPathRK11SkStrokeRecP12GrDrawTargetb
|
|
}
|
|
{
|
|
gpu_issue_15
|
|
Memcheck:Addr2
|
|
fun:_ZN22GrAAConvexPathRenderer10onDrawPathERK6SkPathRK11SkStrokeRecP12GrDrawTargetb
|
|
}
|