1# Pass this file to Valgrind with "--suppressions=tools/valgrind.supp" 2 3# Intentional thread / memory leak in nanobench. 4{ 5 nanobench_keepalive_thread_leak 6 Memcheck:Leak 7 match-leak-kinds: possible,definite 8 ... 9 fun:start_keepalive 10 ... 11 fun:main 12} 13{ 14 nanobench_keepalive_thread_leak2 15 Memcheck:Leak 16 match-leak-kinds: possible,definite 17 ... 18 fun:_ZNSt6threadC2IZL15start_keepalivevE3$_0JEvEEOT_DpOT0_ 19 ... 20 fun:main 21} 22{ 23 nanobench_keepalive_thread_leak3 24 Memcheck:Leak 25 match-leak-kinds: possible,definite 26 ... 27 fun:_ZNSt6thread15_M_start_threadESt10unique_ptrINS_6_StateESt14default_deleteIS1_EEPFvvE 28 ... 29 fun:main 30} 31{ 32 new_SkNullWStream 33 Memcheck:Leak 34 match-leak-kinds: definite 35 fun:_Znwm 36 fun:main 37} 38 39# Third party lib, driver issues. 40{ 41 ati_driver_bug_1 42 Memcheck:Param 43 ioctl(generic) 44 fun:ioctl 45 ... 46 obj:/usr/lib/x86_64-linux-gnu/dri/fglrx_dri.so 47} 48{ 49 ati_driver_bug_2 50 Memcheck:Cond 51 obj:/usr/lib/x86_64-linux-gnu/dri/fglrx_dri.so 52} 53{ 54 ati_driver_bug_3 55 Memcheck:Addr8 56 ... 57 obj:/usr/lib/x86_64-linux-gnu/dri/fglrx_dri.so 58} 59{ 60 ati_driver_bug_4 61 Memcheck:Addr4 62 ... 63 obj:/usr/lib/x86_64-linux-gnu/dri/fglrx_dri.so 64} 65{ 66 ati_driver_bug_5 67 Memcheck:Addr2 68 ... 69 obj:/usr/lib/x86_64-linux-gnu/dri/fglrx_dri.so 70} 71{ 72 ati_driver_bug_6 73 Memcheck:Addr1 74 ... 75 obj:/usr/lib/x86_64-linux-gnu/dri/fglrx_dri.so 76} 77{ 78 ati_driver_bug_7 79 Memcheck:Leak 80 fun:malloc 81 obj:/usr/lib/x86_64-linux-gnu/dri/fglrx_dri.so 82} 83{ 84 driver_bug_8 85 Memcheck:Overlap 86 fun:strcpy 87 obj:/usr/lib/x86_64-linux-gnu/dri/fglrx_dri.so 88} 89{ 90 ati_driver_bug_9 91 Memcheck:Leak 92 fun:calloc 93 obj:/usr/lib/x86_64-linux-gnu/dri/fglrx_dri.so 94} 95{ 96 ati_driver_bug_10 97 Memcheck:Leak 98 fun:malloc 99 obj:/usr/lib/fglrx/fglrx-libGL.so.1.2 100} 101{ 102 nv_driver_bug_1 103 Memcheck:Param 104 write(buf) 105 ... 106 obj:*/libnvidia-glcore.so* 107} 108{ 109 nv_driver_bug_2 110 Memcheck:Cond 111 ... 112 obj:*/libnvidia-glcore.so* 113} 114{ 115 nv_driver_bug_3 116 Memcheck:Leak 117 fun:calloc 118 obj:/usr/lib*/libGL.so* 119} 120{ 121 nv_driver_bug_4 122 Memcheck:Param 123 sendmsg(msg.msg_iov[0]) 124 fun:sendmsg 125 obj:*/libGLX_nvidia.so* 126} 127{ 128 nv_driver_bug_5 129 Memcheck:Leak 130 fun:malloc 131 ... 132 obj:*/libGLX_nvidia.so* 133} 134{ 135 nv_driver_bug_6 136 Memcheck:Leak 137 fun:calloc 138 ... 139 obj:*/libGLX_nvidia.so* 140} 141{ 142 nv_driver_bug_7 143 Memcheck:Leak 144 fun:realloc 145 ... 146 obj:*/libGLX_nvidia.so* 147} 148{ 149 #Fixed by FontConfig 2.9.0 150 #http://cgit.freedesktop.org/fontconfig/commit/?id=1c475d5c8cb265ac939d6b9e097666e300162511 151 font_config_bug_1 152 Memcheck:Addr4 153 fun:FcConfigFileExists 154} 155{ 156 #https://bugs.freedesktop.org/show_bug.cgi?id=8215 157 #https://bugs.freedesktop.org/show_bug.cgi?id=8428 158 #FcPattern uses 'intptr_t elts_offset' instead of 'FcPatternEltPtr elts', 159 #which confuses valgrind. 160 font_config_bug_2 161 Memcheck:Leak 162 fun:*alloc 163 ... 164 fun:Fc*Add* 165} 166{ 167 #Same root cause as font_config_bug_2. 168 #The 'leak' here is a copy of rule values, as opposed to new values. 169 font_config_bug_3 170 Memcheck:Leak 171 fun:*alloc 172 ... 173 fun:FcConfigValues 174 fun:FcConfigSubstituteWithPat 175 fun:FcFontRenderPrepare 176} 177{ 178 #Same root cause as font_config_bug_2. 179 #The 'leak' is copies of font or pattern values into returned pattern values. 180 font_config_bug_4 181 Memcheck:Leak 182 fun:*alloc 183 ... 184 fun:FcValue* 185 fun:FcFontRenderPrepare 186} 187{ 188 font_config_bug_5 189 Memcheck:Leak 190 fun:malloc 191 obj:*/libfontconfig.so.1.8.0 192 fun:FcConfigSubstituteWithPat 193} 194{ 195 font_config_bug_6 196 Memcheck:Leak 197 fun:*alloc 198 ... 199 obj:*/libfontconfig.so.1.8.0 200 fun:FcFont* 201} 202{ 203 zlib_bug_1 204 Memcheck:Cond 205 fun:inflateReset2 206 fun:inflateInit2_ 207 fun:png_create_read_struct_2 208 fun:png_create_read_struct 209} 210{ 211 zlib_bug_2 212 Memcheck:Cond 213 fun:inflateReset2 214 fun:inflateInit2_ 215 fun:_ZN12_GLOBAL__N_17doFlateEbP8SkStreamP9SkWStream 216 fun:_ZN7SkFlate7InflateEP8SkStreamP9SkWStream 217} 218 219# Why is it OK to suppress this? 220{ 221 SkRTConfRegistry_bug_1 222 Memcheck:Leak 223 fun:_Znwm 224 fun:_ZN16SkRTConfRegistry12registerConfEP12SkRTConfBase 225} 226 227# The gpu_issue_* suppressions suppress issues that cannot be reproduced locally. These appear to be 228# due to valgrind not knowing about memory mapped by the ATI driver via glMapBuffer. 229{ 230 gpu_issue_1 231 Memcheck:Addr2 232 fun:_ZNK5GrGpu18getQuadIndexBufferEv 233} 234{ 235 gpu_issue_2 236 Memcheck:Addr2 237 fun:_ZN24GrAAHairLinePathRenderer6CreateEP9GrContext 238} 239{ 240 gpu_issue_3 241 Memcheck:Addr2 242 fun:_ZN16GrAARectRenderer21aaFillRectIndexBufferEP5GrGpu 243} 244{ 245 gpu_issue_4 246 Memcheck:Addr8 247 fun:_ZN24GrAAHairLinePathRenderer14createLineGeomERK6SkPathP12GrDrawTargetRK8SkTArrayI7SkPointLb1EEiPNS3_19AutoReleaseGeometryEP6SkRect 248} 249{ 250 gpu_issue_5 251 Memcheck:Addr8 252 fun:_ZN21GrDefaultPathRenderer10createGeomERK6SkPathRK11SkStrokeRecfP12GrDrawTargetP15GrPrimitiveTypePiSA_PNS6_19AutoReleaseGeometryE 253} 254{ 255 gpu_issue_6 256 Memcheck:Addr8 257 fun:_ZN22GrAAConvexPathRenderer10onDrawPathERK11SkStrokeRecP12GrDrawTargetb 258} 259{ 260 gpu_issue_7 261 Memcheck:Addr4 262 fun:_ZNK7SkPoint24distanceToLineBetweenSqdERKS_S1_PNS_4SideE 263 fun:_ZN22GrAAConvexPathRenderer10onDrawPathERK11SkStrokeRecP12GrDrawTargetb 264} 265{ 266 gpu_issue_8 267 Memcheck:Addr4 268 fun:_ZN24GrAAHairLinePathRenderer14createLineGeomERK6SkPathP12GrDrawTargetRK8SkTArrayI7SkPointLb1EEiPNS3_19AutoReleaseGeometryEP6SkRect 269} 270{ 271 gpu_issue_9 272 Memcheck:Addr2 273 fun:_ZN21GrDefaultPathRenderer10createGeomERK6SkPathRK11SkStrokeRecfP12GrDrawTargetP15GrPrimitiveTypePiSA_PNS6_19AutoReleaseGeometryE 274} 275{ 276 gpu_issue_10 277 Memcheck:Addr4 278 fun:_ZN22GrAAConvexPathRenderer10onDrawPathERK11SkStrokeRecP12GrDrawTargetb 279} 280{ 281 gpu_issue_11 282 Memcheck:Addr2 283 fun:_ZN22GrAAConvexPathRenderer10onDrawPathERK11SkStrokeRecP12GrDrawTargetb 284} 285{ 286 gpu_issue_12 287 Memcheck:Addr8 288 fun:_ZN22GrAAConvexPathRenderer10onDrawPathERK6SkPathRK11SkStrokeRecP12GrDrawTargetb 289} 290{ 291 gpu_issue_13 292 Memcheck:Addr4 293 fun:_ZNK7SkPoint24distanceToLineBetweenSqdERKS_S1_PNS_4SideE 294 fun:_ZN22GrAAConvexPathRenderer10onDrawPathERK6SkPathRK11SkStrokeRecP12GrDrawTargetb 295} 296{ 297 gpu_issue_14 298 Memcheck:Addr4 299 fun:_ZN22GrAAConvexPathRenderer10onDrawPathERK6SkPathRK11SkStrokeRecP12GrDrawTargetb 300} 301{ 302 gpu_issue_15 303 Memcheck:Addr2 304 fun:_ZN22GrAAConvexPathRenderer10onDrawPathERK6SkPathRK11SkStrokeRecP12GrDrawTargetb 305} 306{ 307 libjpeg_turbo_bug4550_1 308 Memcheck:Cond 309 fun:_Z26S32A_Opaque_BlitRow32_SSE4PjPKjij 310 fun:_ZN14Sprite_D32_S328blitRectEiiii 311} 312{ 313 libjpeg_turbo_bug4550_2 314 Memcheck:Cond 315 fun:_ZL15S32A_D565_BlendPtPKjijii 316 fun:_ZN26Sprite_D16_S32_BlitRowProc8blitRectEiiii 317} 318{ 319 libjpeg_turbo_bug4550_3 320 Memcheck:Cond 321 fun:_ZN12_GLOBAL__N_120ConvolveHorizontallyILb0EEEvPKhRK21SkConvolutionFilter1DPh 322 fun:_Z14BGRAConvolve2DPKhibRK21SkConvolutionFilter1DS3_iPhRK18SkConvolutionProcsb 323} 324#Something odd is happening in SkRasterPipeline when called by GrConvertPixels and GrClearImage. 325#It seems bogus after investigation. MSAN/ASAN have no complaints. It's complaining about 326#conditional jump or use of var that is "uninitialized" but it definitely is. 327{ 328 grconvertpixels_rasterpipeline 329 Memcheck:Cond 330 ... 331 fun:_ZNK16SkRasterPipeline3runEmmmm 332 fun:_Z15GrConvertPixelsRK11GrImageInfoPvmS1_PKvmb 333 ... 334} 335{ 336 grconvertpixels_rasterpipeline 337 Memcheck:Value8 338 ... 339 fun:_ZNK16SkRasterPipeline3runEmmmm 340 fun:_Z15GrConvertPixelsRK11GrImageInfoPvmS1_PKvmb 341 ... 342} 343{ 344 grclearimage_rasterpipeline 345 Memcheck:Cond 346 ... 347 fun:_ZNK16SkRasterPipeline3runEmmmm 348 fun:_Z12GrClearImageRK11GrImageInfoPvm8SkRGBA4fIL11SkAlphaType3EE 349 ... 350} 351{ 352 grclearimage_rasterpipeline 353 Memcheck:Value8 354 ... 355 fun:_ZNK16SkRasterPipeline3runEmmmm 356 fun:_Z12GrClearImageRK11GrImageInfoPvm8SkRGBA4fIL11SkAlphaType3EE 357 ... 358} 359{ 360 make_get_error_with_random_oom1 361 Memcheck:Leak 362 match-leak-kinds: definite 363 ... 364 fun:_Z30make_get_error_with_random_oom12GrGLFunctionIFjvEE 365 ... 366} 367{ 368 make_get_error_with_random_oom2 369 Memcheck:Leak 370 match-leak-kinds: definite 371 ... 372 fun:make_get_error_with_random_oom 373 ... 374} 375{ 376 make_get_error_with_random_oom3 377 Memcheck:Leak 378 match-leak-kinds: definite 379 fun:_Znwm 380 fun:_ZN15GrDirectContext6MakeGLE5sk_spIK13GrGLInterfaceERK16GrContextOptions 381 fun:_ZN11sk_gpu_test16GrContextFactory22getContextInfoInternalENS0_11ContextTypeENS0_16ContextOverridesEP15GrDirectContextj 382 fun:_ZN11sk_gpu_test16GrContextFactory3getENS0_11ContextTypeENS0_16ContextOverridesE 383 fun:_ZL20test_GrContext_oomedPN8skiatest8ReporterERK16GrContextOptions 384 fun:_ZNK8skiatest4Test6ganeshEPNS_8ReporterERK16GrContextOptions 385 fun:main 386} 387