OLD | NEW |
(Empty) | |
| 1 # This is a generated file, composed of the following suppression rules: |
| 2 # exp-ptrcheck.supp xfree-3.supp xfree-4.supp darwin10-drd.supp darwin10.supp |
| 3 { |
| 4 lib-X11-used-old-pointer-after-realloc-1 |
| 5 exp-ptrcheck:Heap |
| 6 fun:strlen |
| 7 obj:/usr/lib*/libX11.so* |
| 8 obj:/usr/lib*/libX11.so* |
| 9 } |
| 10 { |
| 11 lib-X11-used-old-pointer-after-realloc-2 |
| 12 exp-ptrcheck:Heap |
| 13 obj:/usr/lib*/libX11.so* |
| 14 obj:/usr/lib*/libX11.so* |
| 15 } |
| 16 |
| 17 { |
| 18 ld-2.X-invalid-Add32/64-who-knows |
| 19 exp-ptrcheck:Arith |
| 20 obj:/*lib*/ld-2.*so* |
| 21 obj:/*lib*/ld-2.*so* |
| 22 } |
| 23 |
| 24 { |
| 25 ld-2.X possibly applying relocations |
| 26 exp-ptrcheck:SorG |
| 27 obj:/*lib*/ld-2.*so* |
| 28 obj:/*lib*/ld-2.*so* |
| 29 } |
| 30 |
| 31 # I'm pretty sure this is a false positive caused by the sg_ stuff |
| 32 { |
| 33 glibc realpath false positive |
| 34 exp-ptrcheck:SorG |
| 35 fun:realpath |
| 36 fun:* |
| 37 } |
| 38 |
| 39 { |
| 40 If I had to guess, inlined or nameless strlen etc in ld.so |
| 41 exp-ptrcheck:Heap |
| 42 obj:/*lib*/ld-2.*so* |
| 43 obj:/*lib*/ld-2.*so* |
| 44 } |
| 45 |
| 46 { |
| 47 I think this is glibc's ultra optimised getenv doing 2 byte reads |
| 48 exp-ptrcheck:SorG |
| 49 fun:getenv |
| 50 } |
| 51 |
| 52 { |
| 53 Occurs on Fedora 7--9? |
| 54 exp-ptrcheck:Heap |
| 55 fun:_dl_fini |
| 56 fun:exit |
| 57 fun:(below main) |
| 58 } |
| 59 |
| 60 |
| 61 ##----------------------------------------------------------------------## |
| 62 |
| 63 # Errors to suppress by default with XFree86 3.3.6) |
| 64 |
| 65 # Format of this file is: |
| 66 # { |
| 67 # name_of_suppression |
| 68 # tool_name:supp_kind |
| 69 # (optional extra info for some suppression types) |
| 70 # caller0 name, or /name/of/so/file.so |
| 71 # caller1 name, or ditto |
| 72 # (optionally: caller2 name) |
| 73 # (optionally: caller3 name) |
| 74 # } |
| 75 # |
| 76 # For Memcheck, the supp_kinds are: |
| 77 # |
| 78 # Param Value1 Value2 Value4 Value8 Value16 Jump |
| 79 # Free Addr1 Addr2 Addr4 Addr8 Addr16 |
| 80 # Cond (previously known as Value0) |
| 81 # |
| 82 # and the optional extra info is: |
| 83 # if Param: name of system call param |
| 84 |
| 85 ##----------------------------------------------------------------------## |
| 86 |
| 87 { |
| 88 X11-Cond-0 |
| 89 Memcheck:Cond |
| 90 obj:*libXt.so.6.0 |
| 91 obj:*libXt.so.6.0 |
| 92 obj:*libXt.so.6.0 |
| 93 } |
| 94 { |
| 95 X11-Cond-1 |
| 96 Memcheck:Cond |
| 97 fun:__rawmemchr |
| 98 obj:*libXt.so.6.0 |
| 99 obj:*libXt.so.6.0 |
| 100 } |
| 101 |
| 102 |
| 103 # Suppressions for XFree86-3.3.X |
| 104 |
| 105 { |
| 106 X11-Addr4-1 |
| 107 Memcheck:Addr4 |
| 108 obj:/usr/X11R6/lib/libX11.so.6.1 |
| 109 obj:/usr/X11R6/lib/libX11.so.6.1 |
| 110 obj:/usr/X11R6/lib/libX11.so.6.1 |
| 111 } |
| 112 |
| 113 { |
| 114 X11-Addr4-2 |
| 115 Memcheck:Addr4 |
| 116 obj:/usr/X11R6/lib/libX11.so.6.1 |
| 117 obj:/usr/X11R6/lib/libX11.so.6.1 |
| 118 obj:/usr/X11R6/lib/libXt.so.6.0 |
| 119 } |
| 120 |
| 121 { |
| 122 X11-Addr4-3 |
| 123 Memcheck:Addr4 |
| 124 obj:/usr/X11R6/lib/libXt.so.6.0 |
| 125 obj:/usr/X11R6/lib/libXt.so.6.0 |
| 126 obj:/usr/X11R6/lib/libXt.so.6.0 |
| 127 } |
| 128 |
| 129 { |
| 130 X11-Addr4-4 |
| 131 Memcheck:Addr4 |
| 132 obj:/usr/X11R6/lib/libX11.so.6.1 |
| 133 obj:/usr/X11R6/lib/libXt.so.6.0 |
| 134 obj:/usr/X11R6/lib/libXt.so.6.0 |
| 135 } |
| 136 |
| 137 { |
| 138 X11-Addr4-5 |
| 139 Memcheck:Addr4 |
| 140 fun:__rawmemchr |
| 141 obj:/usr/X11R6/lib/libXt.so.6.0 |
| 142 obj:/usr/X11R6/lib/libXt.so.6.0 |
| 143 } |
| 144 |
| 145 { |
| 146 X11-Addr4-6 |
| 147 Memcheck:Addr4 |
| 148 obj:/usr/X11R6/lib/libXmu.so.6.0 |
| 149 obj:/usr/X11R6/lib/libXmu.so.6.0 |
| 150 obj:/usr/X11R6/lib/libXt.so.6.0 |
| 151 } |
| 152 |
| 153 { |
| 154 X11-Addr4-7 |
| 155 Memcheck:Addr4 |
| 156 obj:/usr/X11R6/lib/libXt.so.6.0 |
| 157 obj:/usr/X11R6/lib/libXt.so.6.0 |
| 158 obj:/usr/X11R6/lib/libXawXpm_posing_as_Xaw.so.6.1 |
| 159 } |
| 160 |
| 161 { |
| 162 X11-Param-1 |
| 163 Memcheck:Param |
| 164 write(buf) |
| 165 fun:__libc_write |
| 166 obj:/usr/X11R6/lib/libX11.so.6.1 |
| 167 obj:/usr/X11R6/lib/libX11.so.6.1 |
| 168 } |
| 169 |
| 170 { |
| 171 X11-Addr4-8 |
| 172 Memcheck:Addr4 |
| 173 obj:/usr/X11R6/lib/libX11.so.6.1 |
| 174 obj:/usr/X11R6/lib/libXpm.so.4.11 |
| 175 obj:/usr/X11R6/lib/libXpm.so.4.11 |
| 176 } |
| 177 |
| 178 { |
| 179 X11-Addr4-8 |
| 180 Memcheck:Addr4 |
| 181 obj:/usr/X11R6/lib/libXt.so.6.0 |
| 182 obj:/usr/X11R6/lib/libXawXpm_posing_as_Xaw.so.6.1 |
| 183 obj:/usr/X11R6/lib/libXt.so.6.0 |
| 184 } |
| 185 |
| 186 { |
| 187 X11-Addr4-9 |
| 188 Memcheck:Addr4 |
| 189 obj:/usr/X11R6/lib/libXaw.so.6.1 |
| 190 obj:/usr/X11R6/lib/libXt.so.6.0 |
| 191 obj:/usr/X11R6/lib/libXt.so.6.0 |
| 192 } |
| 193 |
| 194 { |
| 195 X11-Addr4-10 |
| 196 Memcheck:Addr4 |
| 197 obj:/usr/X11R6/lib/libXaw.so.6.1 |
| 198 obj:/usr/X11R6/lib/libXaw.so.6.1 |
| 199 obj:/usr/X11R6/lib/libXt.so.6.0 |
| 200 } |
| 201 |
| 202 { |
| 203 X11-Addr4-11 |
| 204 Memcheck:Addr4 |
| 205 obj:/usr/X11R6/lib/libXt.so.6.0 |
| 206 obj:/usr/X11R6/lib/libXt.so.6.0 |
| 207 obj:/usr/X11R6/lib/libXaw.so.6.1 |
| 208 } |
| 209 |
| 210 |
| 211 |
| 212 ##----------------------------------------------------------------------## |
| 213 |
| 214 ##----------------------------------------------------------------------## |
| 215 |
| 216 # Errors to suppress by default with XFree86 4.1.0) |
| 217 |
| 218 # *** And a bunch of other stuff which is completely unrelated |
| 219 # to X. The default suppressions are a bit of a mess and could do |
| 220 # with a good tidying up. |
| 221 |
| 222 # Format of this file is: |
| 223 # { |
| 224 # name_of_suppression |
| 225 # tool_name:supp_kind |
| 226 # (optional extra info for some suppression types) |
| 227 # caller0 name, or /name/of/so/file.so |
| 228 # caller1 name, or ditto |
| 229 # (optionally: caller2 name) |
| 230 # (optionally: caller3 name) |
| 231 # } |
| 232 # |
| 233 # For Memcheck, the supp_kinds are: |
| 234 # |
| 235 # Param Value1 Value2 Value4 Value8 Value16 Jump |
| 236 # Free Addr1 Addr2 Addr4 Addr8 Addr16 |
| 237 # Cond (previously known as Value0) |
| 238 # |
| 239 # and the optional extra info is: |
| 240 # if Param: name of system call param |
| 241 |
| 242 # Resulting from R H 8.0 |
| 243 { |
| 244 *libc_write/libX11.so.6.2/*X11TransWrite(Param) |
| 245 Memcheck:Param |
| 246 write(buf) |
| 247 fun:*libc_write |
| 248 obj:/usr/*lib*/libX11.so* |
| 249 fun:*X11TransWrite |
| 250 } |
| 251 |
| 252 { |
| 253 libX11.so.6.2/libX11.so.6.2/libX11.so.6.2(Cond) |
| 254 Memcheck:Cond |
| 255 obj:/usr/*lib*/libX11.so* |
| 256 obj:/usr/*lib*/libX11.so* |
| 257 obj:/usr/*lib*/libX11.so* |
| 258 } |
| 259 |
| 260 { |
| 261 libXt.so.6.2/libXt.so.6.2/libXt.so.6.2(Cond) |
| 262 Memcheck:Cond |
| 263 obj:/usr/*lib*/libXt.so* |
| 264 obj:/usr/*lib*/libXt.so* |
| 265 obj:/usr/*lib*/libXt.so* |
| 266 } |
| 267 |
| 268 |
| 269 { |
| 270 libXaw.so.7.0/libXaw.so.7.0/libXaw.so.7.0(Cond) |
| 271 Memcheck:Cond |
| 272 obj:/usr/*lib*/libXaw.so* |
| 273 obj:/usr/*lib*/libXaw.so* |
| 274 obj:/usr/*lib*/libXaw.so* |
| 275 } |
| 276 |
| 277 { |
| 278 libXmu.so.6.2/libXmu.so.6.2/libXmu.so.6.2(Cond) |
| 279 Memcheck:Cond |
| 280 obj:/usr/*lib*/libXmu.so* |
| 281 obj:/usr/*lib*/libXmu.so* |
| 282 obj:/usr/*lib*/libXmu.so* |
| 283 } |
| 284 |
| 285 { |
| 286 libXt.so.6.0/libXt.so.6.0/libXaw.so.7.0(Cond) |
| 287 Memcheck:Cond |
| 288 obj:/usr/*lib*/libXt.so* |
| 289 obj:/usr/*lib*/libXt.so* |
| 290 obj:/usr/*lib*/libXaw.so* |
| 291 } |
| 292 |
| 293 { |
| 294 libXaw.so.7.0/libXaw.so.7.0/libXt.so.6.0(Value4) |
| 295 Memcheck:Value4 |
| 296 obj:/usr/*lib*/libXaw.so* |
| 297 obj:/usr/*lib*/libXaw.so* |
| 298 obj:/usr/*lib*/libXt.so* |
| 299 } |
| 300 |
| 301 { |
| 302 libXaw.so.7.0/libXaw.so.7.0/libXt.so.6.0(Cond) |
| 303 Memcheck:Cond |
| 304 obj:/usr/*lib*/libXaw.so* |
| 305 obj:/usr/*lib*/libXaw.so* |
| 306 obj:/usr/*lib*/libXt.so* |
| 307 } |
| 308 |
| 309 { |
| 310 libX11.so.6.2/libX11.so.6.2/libXaw.so.7.0(Cond) |
| 311 Memcheck:Cond |
| 312 obj:/usr/*lib*/libX11.so* |
| 313 obj:/usr/*lib*/libX11.so* |
| 314 obj:/usr/*lib*/libXaw.so* |
| 315 } |
| 316 |
| 317 { |
| 318 libX11.so.6.2/libX11.so.6.2/libXaw.so.7.0(Addr4) |
| 319 Memcheck:Addr4 |
| 320 obj:/usr/*lib*/libX11.so* |
| 321 obj:/usr/*lib*/libX11.so* |
| 322 obj:/usr/*lib*/libXaw.so* |
| 323 } |
| 324 |
| 325 { |
| 326 libX11.so.6.2/libXaw.so.7.0/libXaw.so.7.0(Cond) |
| 327 Memcheck:Cond |
| 328 obj:/usr/*lib*/libX11.so* |
| 329 obj:/usr/*lib*/libXaw.so* |
| 330 obj:/usr/*lib*/libXaw.so* |
| 331 } |
| 332 |
| 333 { |
| 334 libXpm.so.4.11/libXpm.so.4.11/libXpm.so.4.11 |
| 335 Memcheck:Cond |
| 336 obj:/usr/*lib*/libXpm.so.4.11 |
| 337 obj:/usr/*lib*/libXpm.so.4.11 |
| 338 obj:/usr/*lib*/libXpm.so.4.11 |
| 339 } |
| 340 |
| 341 { |
| 342 struct with uninitialized paddings |
| 343 Memcheck:Param |
| 344 writev(vector[...]) |
| 345 fun:*_writev |
| 346 fun:_X11TransSocketWritev |
| 347 fun:_X11TransWritev |
| 348 fun:* |
| 349 } |
| 350 |
| 351 { |
| 352 struct with uninitialized paddings - libxcb |
| 353 Memcheck:Param |
| 354 writev(vector[...]) |
| 355 obj:/lib*/*.so |
| 356 obj:/usr/lib*/libxcb.so.1.0.0 |
| 357 obj:/usr/lib*/libxcb.so.1.0.0 |
| 358 fun:xcb_send_request |
| 359 fun:_X* |
| 360 } |
| 361 |
| 362 { |
| 363 struct with uninitialized paddings - libxcb |
| 364 Memcheck:Param |
| 365 writev(vector[...]) |
| 366 obj:/lib*/*.so |
| 367 obj:/usr/lib*/libxcb.so.1.0.0 |
| 368 obj:/usr/lib*/libxcb.so.1.0.0 |
| 369 obj:/usr/lib*/libxcb.so.1.0.0 |
| 370 fun:xcb_* |
| 371 fun:_X* |
| 372 } |
| 373 |
| 374 { |
| 375 another struct with uninitialized paddings |
| 376 Memcheck:Param |
| 377 write(buf) |
| 378 obj:* |
| 379 fun:_IceTransSocketWrite |
| 380 fun:_IceTransWrite |
| 381 fun:_IceWrite |
| 382 } |
| 383 |
| 384 { |
| 385 Xorg 6.8.1 uninit _write* padding |
| 386 Memcheck:Param |
| 387 write(buf) |
| 388 fun:* |
| 389 fun:_X11TransWrite |
| 390 obj:/usr/*lib*/libX11.so* |
| 391 } |
| 392 |
| 393 { |
| 394 Xorg 6.8.1 uninit write padding |
| 395 Memcheck:Param |
| 396 write(buf) |
| 397 fun:write |
| 398 fun:_X11TransWrite |
| 399 obj:/usr/*lib*/libX11.so* |
| 400 } |
| 401 |
| 402 { |
| 403 Xorg 6.8.1 ICE uninit __write* padding |
| 404 Memcheck:Param |
| 405 write(buf) |
| 406 obj:* |
| 407 fun:_IceTransWrite |
| 408 fun:_IceWrite |
| 409 fun:IceFlush |
| 410 } |
| 411 |
| 412 { |
| 413 Xorg 6.8.1 writev uninit padding |
| 414 Memcheck:Param |
| 415 writev(vector[...]) |
| 416 fun:writev |
| 417 obj:/usr/*lib*/libX11.so* |
| 418 fun:_X11TransWritev |
| 419 fun:_XSend |
| 420 } |
| 421 |
| 422 { |
| 423 Xorg 6.9.0 writev uninit padding |
| 424 Memcheck:Param |
| 425 writev(vector[...]) |
| 426 fun:do_writev |
| 427 fun:writev |
| 428 obj:/usr/*lib*/libX11.so* |
| 429 fun:_X11TransWritev |
| 430 fun:_XSend |
| 431 } |
| 432 |
| 433 { |
| 434 X on SUSE11 writev uninit padding |
| 435 Memcheck:Param |
| 436 writev(vector[...]) |
| 437 fun:writev |
| 438 obj:/usr/lib*/libxcb.so* |
| 439 obj:/usr/lib*/libxcb.so* |
| 440 } |
| 441 { |
| 442 X on SUSE11 writev uninit padding 2 |
| 443 Memcheck:Param |
| 444 writev(vector[...]) |
| 445 obj:/lib*/ld-2.*.so* |
| 446 obj:/usr/lib*/libxcb.so* |
| 447 obj:/usr/lib*/libxcb.so* |
| 448 } |
| 449 { |
| 450 X on SUSE11 writev uninit padding 3 |
| 451 Memcheck:Param |
| 452 writev(vector[...]) |
| 453 obj:/lib*/ld-2.*.so* |
| 454 obj:/usr/lib*/libORBit*.so* |
| 455 obj:/usr/lib*/libORBit*.so* |
| 456 } |
| 457 { |
| 458 X on SUSE11 writev uninit padding 4 |
| 459 Memcheck:Param |
| 460 writev(vector[...]) |
| 461 obj:/lib*/libc-2.*.so* |
| 462 obj:/usr/lib*/libORBit*.so* |
| 463 obj:/usr/lib*/libORBit*.so* |
| 464 } |
| 465 |
| 466 |
| 467 # There's something strange about a % 127 in XftFontOpenInfo |
| 468 # (hashing) which gcc turns into a multiply by 33818641 and |
| 469 # some other guff instead. I don't understand it enough to |
| 470 # know if libXft is broken or if memcheck's value tracking is |
| 471 # inadequate here. Anyway, for the moment, suppress it. |
| 472 # |
| 473 # Use of uninitialised value of size 8 |
| 474 # at 0x71A59F8: XftFontOpenInfo (in /usr/X11R6/lib64/libXft.so.2.1.2) |
| 475 # by 0x71A5F0D: XftFontOpenPattern (in /usr/X11R6/lib64/libXft.so.2.1.2) |
| 476 # by 0x65F166E: loadFontConfigFont(QFontPrivate const*, QFontDef const&, |
| 477 # QFont::Script) (qfontdatabase_x11.cpp:1942) |
| 478 # by 0x65F5DE4: QFontDatabase::findFont(QFont::Script, QFontPrivate const*, |
| 479 # QFontDef const&, int) (qfontdatabase.cpp:996) |
| 480 { |
| 481 XftFontOpenInfo-umod-127-strangeness |
| 482 Memcheck:Value8 |
| 483 obj:/usr/X11*/lib*/libXft.so* |
| 484 obj:/usr/X11*/lib*/libXft.so* |
| 485 } |
| 486 { |
| 487 XftFontOpenInfo-umod-127-strangeness-a-la-xorg |
| 488 Memcheck:Value8 |
| 489 obj:/usr/lib*/libXft.so* |
| 490 obj:/usr/lib*/libXft.so* |
| 491 } |
| 492 |
| 493 { |
| 494 More X padding stuff |
| 495 Memcheck:Param |
| 496 writev(vector[...]) |
| 497 fun:*writev* |
| 498 obj:/usr/X11*/lib*/libX11.so* |
| 499 obj:/usr/X11*/lib*/libX11.so* |
| 500 } |
| 501 |
| 502 # Inlined strlen in libX11 on Ubuntu 9.10 amd64, unfortunately. |
| 503 # Invalid read of size 4 |
| 504 # at 0x9B5CCE6: ??? (in /usr/lib/libX11.so.6.2.0) |
| 505 # by 0x9B5D011: XGetAtomName (in /usr/lib/libX11.so.6.2.0) |
| 506 # by 0x86407C3: gdk_x11_xatom_to_atom_for_display |
| 507 # (in /usr/lib/libgdk-x11-2.0.so.0.1800.3) |
| 508 # by 0x8636817: ??? (in /usr/lib/libgdk-x11-2.0.so.0.1800.3) |
| 509 # Address 0x1a558e1c is 28 bytes inside a block of size 30 alloc'd |
| 510 # at 0x4C2552D: malloc (vg_replace_malloc.c:236) |
| 511 # by 0x9B642C0: _XUpdateAtomCache (in /usr/lib/libX11.so.6.2.0) |
| 512 # by 0x9B647F1: ??? (in /usr/lib/libX11.so.6.2.0) |
| 513 # by 0x9B81818: ??? (in /usr/lib/libX11.so.6.2.0) |
| 514 { |
| 515 libX11.so.6.2.0/libX11.so.6.2.0(Addr4) |
| 516 Memcheck:Addr4 |
| 517 obj:/usr/*lib*/libX11.so* |
| 518 obj:/usr/*lib*/libX11.so* |
| 519 } |
| 520 |
| 521 ##----------------------------------------------------------------------## |
| 522 # Completely inappropriate place, but ... |
| 523 |
| 524 { |
| 525 ifort-9.X-on-i686-1 |
| 526 Memcheck:Addr4 |
| 527 fun:unaligned_bigint |
| 528 fun:hash |
| 529 fun:for__add_to_lf_table |
| 530 } |
| 531 { |
| 532 ifort-9.X-on-amd64-1 |
| 533 Memcheck:Addr8 |
| 534 fun:unaligned_bigint |
| 535 fun:hash |
| 536 fun:for__add_to_lf_table |
| 537 } |
| 538 |
| 539 |
| 540 # zlib-1.2.x uses uninitialised memory in some tricky way which |
| 541 # apparently is harmless (it must amount to a vectorised while-loop, |
| 542 # nothing else makes sense). Fools Memcheck though. See the mentioned |
| 543 # URL for details. |
| 544 { |
| 545 zlib-1.2.x trickyness (1a): See http://www.zlib.net/zlib_faq.html#faq36 |
| 546 Memcheck:Cond |
| 547 obj:/*lib*/libz.so.1.2.* |
| 548 ... |
| 549 obj:/*lib*/libz.so.1.2.* |
| 550 fun:deflate |
| 551 } |
| 552 { |
| 553 zlib-1.2.x trickyness (1b): See http://www.zlib.net/zlib_faq.html#faq36 |
| 554 Memcheck:Cond |
| 555 obj:/*lib*/libz.so.1.2.* |
| 556 fun:deflate |
| 557 } |
| 558 |
| 559 { |
| 560 zlib-1.2.x trickyness (2a): See http://www.zlib.net/zlib_faq.html#faq36 |
| 561 Memcheck:Value8 |
| 562 obj:/*lib*/libz.so.1.2.* |
| 563 ... |
| 564 obj:/*lib*/libz.so.1.2.* |
| 565 fun:deflate |
| 566 } |
| 567 { |
| 568 zlib-1.2.x trickyness (2b): See http://www.zlib.net/zlib_faq.html#faq36 |
| 569 Memcheck:Value8 |
| 570 obj:/*lib*/libz.so.1.2.* |
| 571 fun:deflate |
| 572 } |
| 573 |
| 574 { |
| 575 zlib-1.2.x trickyness (3a): See http://www.zlib.net/zlib_faq.html#faq36 |
| 576 Memcheck:Value4 |
| 577 obj:/*lib*/libz.so.1.2.* |
| 578 ... |
| 579 obj:/*lib*/libz.so.1.2.* |
| 580 fun:deflate |
| 581 } |
| 582 { |
| 583 zlib-1.2.x trickyness (3b): See http://www.zlib.net/zlib_faq.html#faq36 |
| 584 Memcheck:Value4 |
| 585 obj:/*lib*/libz.so.1.2.* |
| 586 fun:deflate |
| 587 } |
| 588 |
| 589 |
| 590 ##----------------------------------------------------------------------## |
| 591 |
| 592 ## More general versions of some of the old X suppressions above |
| 593 { |
| 594 Ubuntu804 libXaw.so.7.0/libXaw.so.7.0/libXaw.so.7.0(Cond) |
| 595 Memcheck:Cond |
| 596 obj:/usr/*lib*/libXaw*so* |
| 597 obj:/usr/*lib*/libXaw*so* |
| 598 obj:/usr/*lib*/libXaw*so* |
| 599 } |
| 600 { |
| 601 Ubuntu804 libXaw.so.7.0/libXaw.so.7.0/libXt(Cond) |
| 602 Memcheck:Cond |
| 603 obj:/usr/*lib*/libXaw*so* |
| 604 obj:/usr/*lib*/libXaw*so* |
| 605 obj:/usr/*lib*/libXt*so* |
| 606 } |
| 607 |
| 608 { |
| 609 Ubuntu804-hack-1 |
| 610 Memcheck:Overlap |
| 611 fun:mempcpy |
| 612 fun:_IO_default_xsputn |
| 613 obj:/lib*/libc-2.*so* |
| 614 } |
| 615 |
| 616 # Suppressions for Darwin 10.x / Mac OS X 10.6 Snow Leopard |
| 617 |
| 618 ##----------------------------------------------------------------------## |
| 619 # Memcheck |
| 620 ##----------------------------------------------------------------------## |
| 621 |
| 622 { |
| 623 mach_msg_trap-1 |
| 624 Memcheck:Param |
| 625 mach_msg(msg.msgh_remote_port) |
| 626 fun:mach_msg_trap |
| 627 obj:/System/Library/Frameworks/CoreFoundation* |
| 628 obj:/System/Library/Frameworks/ApplicationServices* |
| 629 } |
| 630 |
| 631 { |
| 632 mach_msg_trap-2 |
| 633 Memcheck:Param |
| 634 mach_msg(msg.msgh_remote_port) |
| 635 fun:mach_msg_trap |
| 636 obj:/System/Library/Frameworks/CoreFoundation* |
| 637 obj:/System/Library/Frameworks/CoreServices* |
| 638 } |
| 639 |
| 640 { |
| 641 mach_msg_trap-3 |
| 642 Memcheck:Param |
| 643 mach_msg(msg.msgh_remote_port) |
| 644 fun:mach_msg_trap |
| 645 obj:/System/Library/Frameworks/CoreFoundation* |
| 646 obj:/System/Library/Frameworks/Carbon* |
| 647 } |
| 648 |
| 649 { |
| 650 mach_msg_trap-4 |
| 651 Memcheck:Param |
| 652 mach_msg(msg.msgh_remote_port) |
| 653 fun:mach_msg_trap |
| 654 obj:/System/Library/Frameworks/CoreFoundation* |
| 655 obj:/System/Library/Frameworks/CoreFoundation* |
| 656 } |
| 657 |
| 658 { |
| 659 mach_msg_trap-5 |
| 660 Memcheck:Param |
| 661 mach_msg(msg.msgh_remote_port) |
| 662 fun:mach_msg_trap |
| 663 obj:/System/Library/Frameworks/CoreFoundation* |
| 664 obj:/System/Library/Frameworks/AppKit* |
| 665 } |
| 666 |
| 667 { |
| 668 macos-Cond-1 |
| 669 Memcheck:Cond |
| 670 fun:GetVariationInfoFromName |
| 671 obj:/System/Library/Frameworks/ApplicationServices* |
| 672 obj:/System/Library/Frameworks/ApplicationServices* |
| 673 } |
| 674 |
| 675 { |
| 676 macos-Cond-2 |
| 677 Memcheck:Cond |
| 678 fun:*PMMutex*Lock* |
| 679 obj:/System/Library/Frameworks/ApplicationServices* |
| 680 obj:/System/Library/Frameworks/ApplicationServices* |
| 681 } |
| 682 |
| 683 { |
| 684 macos-Cond-3 |
| 685 Memcheck:Cond |
| 686 fun:sseCGSBlendXXXX8888 |
| 687 obj:/System/Library/Frameworks/ApplicationServices* |
| 688 obj:/System/Library/Frameworks/ApplicationServices* |
| 689 } |
| 690 |
| 691 { |
| 692 macos-Cond-4 |
| 693 Memcheck:Cond |
| 694 fun:*CASettingsStorage*RefreshSettings* |
| 695 obj:/System/Library/Frameworks/CoreAudio* |
| 696 obj:/System/Library/Frameworks/CoreAudio* |
| 697 } |
| 698 |
| 699 { |
| 700 macos-Cond-5 |
| 701 Memcheck:Cond |
| 702 fun:gle* |
| 703 obj:/System/Library/Frameworks/OpenGL* |
| 704 obj:/System/Library/Frameworks/OpenGL* |
| 705 } |
| 706 |
| 707 { |
| 708 macos-Cond-6 |
| 709 Memcheck:Cond |
| 710 fun:pthread_rwlock_init$UNIX2003 |
| 711 fun:main |
| 712 } |
| 713 |
| 714 # afaict this is legit. Might be caused by setenv("VAR=") |
| 715 # where the value string is empty (not sure) |
| 716 { |
| 717 macos-Cond-7 |
| 718 Memcheck:Cond |
| 719 fun:__setenv |
| 720 fun:putenv* |
| 721 } |
| 722 |
| 723 { |
| 724 macos-futimes-1 |
| 725 Memcheck:Param |
| 726 futimes(tvp[1]) |
| 727 fun:futimes |
| 728 obj:/usr/lib/libSystem* |
| 729 obj:/usr/lib/libSystem* |
| 730 } |
| 731 |
| 732 { |
| 733 macos-vsyslog-hole |
| 734 Memcheck:Param |
| 735 socketcall.sendto(msg) |
| 736 fun:sendto$NOCANCEL$UNIX2003 |
| 737 fun:vsyslog |
| 738 } |
| 739 |
| 740 # Still-reachable memory. |
| 741 |
| 742 # I chopped this one off at libSystem_initializer, there were more frames. |
| 743 { |
| 744 darwin-still-reachable-1 |
| 745 Memcheck:Leak |
| 746 fun:calloc |
| 747 fun:dwarf2_unwind_dyld_add_image_hook |
| 748 fun:_ZN4dyld19registerAddCallbackEPFvPK11mach_headerlE |
| 749 fun:_dyld_register_func_for_add_image |
| 750 fun:__keymgr_initializer |
| 751 fun:libSystem_initializer |
| 752 } |
| 753 |
| 754 # I chopped this one off at libSystem_initializer, there were more frames. |
| 755 { |
| 756 darwin-still-reachable-2 |
| 757 Memcheck:Leak |
| 758 fun:malloc |
| 759 fun:get_or_create_key_element |
| 760 fun:_keymgr_get_and_lock_processwide_ptr_2 |
| 761 fun:dwarf2_unwind_dyld_add_image_hook |
| 762 fun:_ZN4dyld19registerAddCallbackEPFvPK11mach_headerlE |
| 763 fun:_dyld_register_func_for_add_image |
| 764 fun:__keymgr_initializer |
| 765 fun:libSystem_initializer |
| 766 } |
| 767 |
| 768 { |
| 769 darwin-still-reachable-3 |
| 770 Memcheck:Leak |
| 771 fun:malloc |
| 772 fun:__smakebuf |
| 773 fun:__swsetup |
| 774 fun:__sfvwrite |
| 775 fun:puts |
| 776 } |
| 777 |
| 778 # Genuine leaks. |
| 779 # See https://bugs.kde.org/show_bug.cgi?id=188572 about this; it's |
| 780 # unavoidable due to BSD setenv() semantics. |
| 781 { |
| 782 macos-__setenv-leak-see-our-bug-188572 |
| 783 Memcheck:Leak |
| 784 fun:malloc_zone_malloc |
| 785 fun:__setenv |
| 786 fun:setenv$UNIX2003 |
| 787 } |
| 788 { |
| 789 macos-localeconv-leak |
| 790 Memcheck:Leak |
| 791 fun:malloc |
| 792 fun:localeconv_l |
| 793 fun:__vfprintf |
| 794 fun:vsnprintf |
| 795 } |
| 796 |
| 797 ##----------------------------------------------------------------------## |
| 798 # Helgrind |
| 799 ##----------------------------------------------------------------------## |
| 800 |
| 801 # These ones were necessary to give no errors on a tiny non-threaded |
| 802 # program. I don't know if they're real problems or false positives (njn). |
| 803 |
| 804 # keymgr seems to deliberately do some bogus actions, and if they are bogus, |
| 805 # it passes the error codes back to the caller. |
| 806 { |
| 807 __keymgr_initializer lock failed |
| 808 Helgrind:PthAPIerror |
| 809 fun:pthread_mutex_lock |
| 810 fun:_dyld_register_func_for_*_image |
| 811 fun:__keymgr_initializer |
| 812 fun:libSystem_initializer |
| 813 } |
| 814 { |
| 815 __keymgr_initializer unlock failed |
| 816 Helgrind:PthAPIerror |
| 817 fun:pthread_mutex_unlock |
| 818 fun:_dyld_register_func_for_*_image |
| 819 fun:__keymgr_initializer |
| 820 fun:libSystem_initializer |
| 821 } |
| 822 { |
| 823 __keymgr_initializer bogus unlock |
| 824 Helgrind:UnlockBogus |
| 825 fun:pthread_mutex_unlock |
| 826 fun:_dyld_register_func_for_*_image |
| 827 fun:__keymgr_initializer |
| 828 fun:libSystem_initializer |
| 829 } |
| 830 |
| 831 # These ones were necessary to give no errors on a tiny threaded program. |
| 832 # I don't know if they're real problems or false positives (njn). |
| 833 |
| 834 #{ |
| 835 # helgrind-darwinlibc-nuke-everything-in-dyld |
| 836 # Helgrind:Race |
| 837 # obj:/usr/lib/dyld |
| 838 #} |
| 839 |
| 840 { |
| 841 helgrind-darwinlibc-nuke-everything-in-libSystem.B.dylib |
| 842 Helgrind:Race |
| 843 obj:/usr/lib/libSystem.B.dylib |
| 844 } |
| 845 |
| 846 # This would be better as "fun:\?\?\?" but string matching doesn't seem to |
| 847 # allow escaping meta-chars. |
| 848 # |
| 849 # This is very bad .. not only will it hide races in any |
| 850 # un-identified piece of code, the ??? also matches any 3-char |
| 851 # function name. |
| 852 { |
| 853 helgrind-darwinlibc-nuke-everything-in-???-(unknown-code) |
| 854 Helgrind:Race |
| 855 fun:??? |
| 856 } |
| 857 |
| 858 { |
| 859 helgrind-darwinlibc--mythread_wrapper-*thread*start* |
| 860 Helgrind:Race |
| 861 fun:mythread_wrapper |
| 862 fun:*thread*start* |
| 863 } |
| 864 |
| 865 { |
| 866 helgrind-darwinlibc--pthread_create_WRK-pthread_create |
| 867 Helgrind:Race |
| 868 fun:pthread_create_WRK |
| 869 fun:pthread_create |
| 870 } |
| 871 |
| 872 |
| 873 # Thread #9: Bug in libpthread: recursive write lock granted on |
| 874 # mutex/wrlock which does not support recursion |
| 875 # at 0x18696: pthread_cond_wait* (hg_intercepts.c:655) |
| 876 # by 0x2300B8: pthread_rwlock_wrlock$UNIX2003 (in /usr/lib/libSystem.B.dylib) |
| 877 # by 0x18F41: pthread_rwlock_wrlock* (hg_intercepts.c:1177) |
| 878 # |
| 879 # no idea what this is about |
| 880 # |
| 881 { |
| 882 helgrind-darwin9--pthread-rwlock-kludgery |
| 883 Helgrind:Misc |
| 884 fun:pthread_cond_wait* |
| 885 fun:pthread_rwlock_*lock* |
| 886 fun:pthread_rwlock_*lock* |
| 887 } |
OLD | NEW |