| # Pass this file to Valgrind with "--suppressions=tools/valgrind.supp" |
| |
| # Intentional thread / memory leak in DM and nanbench. |
| { |
| nanobench_and_dm_keepalive_thread_leak |
| Memcheck:Leak |
| match-leak-kinds: possible,definite |
| ... |
| fun:start_keepalive |
| ... |
| fun:main |
| ... |
| } |
| |
| # 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* |
| } |
| { |
| nv_driver_bug_4 |
| Memcheck:Param |
| sendmsg(msg.msg_iov[0]) |
| fun:sendmsg |
| obj:*/libGLX_nvidia.so* |
| } |
| { |
| nv_driver_bug_5 |
| Memcheck:Leak |
| fun:malloc |
| obj:*/libGLX_nvidia.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 |
| } |
| { |
| font_config_bug_5 |
| Memcheck:Leak |
| fun:malloc |
| obj:*/libfontconfig.so.1.8.0 |
| fun:FcConfigSubstituteWithPat |
| } |
| { |
| font_config_bug_6 |
| Memcheck:Leak |
| fun:*alloc |
| ... |
| obj:*/libfontconfig.so.1.8.0 |
| fun:FcFont* |
| } |
| { |
| 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 |
| } |
| { |
| libjpeg_turbo_bug4550_1 |
| Memcheck:Cond |
| fun:_Z26S32A_Opaque_BlitRow32_SSE4PjPKjij |
| fun:_ZN14Sprite_D32_S328blitRectEiiii |
| } |
| { |
| libjpeg_turbo_bug4550_2 |
| Memcheck:Cond |
| fun:_ZL15S32A_D565_BlendPtPKjijii |
| fun:_ZN26Sprite_D16_S32_BlitRowProc8blitRectEiiii |
| } |
| { |
| libjpeg_turbo_bug4550_3 |
| Memcheck:Cond |
| fun:_ZN12_GLOBAL__N_120ConvolveHorizontallyILb0EEEvPKhRK21SkConvolutionFilter1DPh |
| fun:_Z14BGRAConvolve2DPKhibRK21SkConvolutionFilter1DS3_iPhRK18SkConvolutionProcsb |
| } |
| #Something odd is happening in SkRasterPipeline when called by GrConvertPixels and GrClearImage. |
| #It seems bogus after investigation. MSAN/ASAN have no complaints. It's complaining about |
| #conditional jump or use of var that is "uninitialized" but it definitely is. |
| { |
| grconvertpixels_rasterpipeline |
| Memcheck:Cond |
| ... |
| fun:_ZNK16SkRasterPipeline3runEmmmm |
| fun:_Z15GrConvertPixelsRK11GrImageInfoPvmS1_PKvmb |
| ... |
| } |
| { |
| grconvertpixels_rasterpipeline |
| Memcheck:Value8 |
| ... |
| fun:_ZNK16SkRasterPipeline3runEmmmm |
| fun:_Z15GrConvertPixelsRK11GrImageInfoPvmS1_PKvmb |
| ... |
| } |
| { |
| grclearimage_rasterpipeline |
| Memcheck:Cond |
| ... |
| fun:_ZNK16SkRasterPipeline3runEmmmm |
| fun:_Z12GrClearImageRK11GrImageInfoPvm8SkRGBA4fIL11SkAlphaType3EE |
| ... |
| } |
| { |
| grclearimage_rasterpipeline |
| Memcheck:Value8 |
| ... |
| fun:_ZNK16SkRasterPipeline3runEmmmm |
| fun:_Z12GrClearImageRK11GrImageInfoPvm8SkRGBA4fIL11SkAlphaType3EE |
| ... |
| } |