1 2 ##----------------------------------------------------------------------## 3 4 # Errors to suppress by default with XFree86 4.1.0) 5 6 # *** And a bunch of other stuff which is completely unrelated 7 # to X. The default suppressions are a bit of a mess and could do 8 # with a good tidying up. 9 10 # Format of this file is: 11 # { 12 # name_of_suppression 13 # tool_name:supp_kind 14 # (optional extra info for some suppression types) 15 # caller0 name, or /name/of/so/file.so 16 # caller1 name, or ditto 17 # (optionally: caller2 name) 18 # (optionally: caller3 name) 19 # } 20 # 21 # For Memcheck, the supp_kinds are: 22 # 23 # Param Value1 Value2 Value4 Value8 Value16 Jump 24 # Free Addr1 Addr2 Addr4 Addr8 Addr16 25 # Cond (previously known as Value0) 26 # 27 # and the optional extra info is: 28 # if Param: name of system call param 29 30 # Resulting from R H 8.0 31 { 32 *libc_write/libX11.so.6.2/*X11TransWrite(Param) 33 Memcheck:Param 34 write(buf) 35 fun:*libc_write 36 obj:/usr/*lib*/libX11.so* 37 fun:*X11TransWrite 38 } 39 40 { 41 libX11.so.6.2/libX11.so.6.2/libX11.so.6.2(Cond) 42 Memcheck:Cond 43 obj:/usr/*lib*/libX11.so* 44 obj:/usr/*lib*/libX11.so* 45 obj:/usr/*lib*/libX11.so* 46 } 47 48 { 49 libXt.so.6.2/libXt.so.6.2/libXt.so.6.2(Cond) 50 Memcheck:Cond 51 obj:/usr/*lib*/libXt.so* 52 obj:/usr/*lib*/libXt.so* 53 obj:/usr/*lib*/libXt.so* 54 } 55 56 57 { 58 libXaw.so.7.0/libXaw.so.7.0/libXaw.so.7.0(Cond) 59 Memcheck:Cond 60 obj:/usr/*lib*/libXaw.so* 61 obj:/usr/*lib*/libXaw.so* 62 obj:/usr/*lib*/libXaw.so* 63 } 64 65 { 66 libXmu.so.6.2/libXmu.so.6.2/libXmu.so.6.2(Cond) 67 Memcheck:Cond 68 obj:/usr/*lib*/libXmu.so* 69 obj:/usr/*lib*/libXmu.so* 70 obj:/usr/*lib*/libXmu.so* 71 } 72 73 { 74 libXt.so.6.0/libXt.so.6.0/libXaw.so.7.0(Cond) 75 Memcheck:Cond 76 obj:/usr/*lib*/libXt.so* 77 obj:/usr/*lib*/libXt.so* 78 obj:/usr/*lib*/libXaw.so* 79 } 80 81 { 82 libXaw.so.7.0/libXaw.so.7.0/libXt.so.6.0(Value4) 83 Memcheck:Value4 84 obj:/usr/*lib*/libXaw.so* 85 obj:/usr/*lib*/libXaw.so* 86 obj:/usr/*lib*/libXt.so* 87 } 88 89 { 90 libXaw.so.7.0/libXaw.so.7.0/libXt.so.6.0(Cond) 91 Memcheck:Cond 92 obj:/usr/*lib*/libXaw.so* 93 obj:/usr/*lib*/libXaw.so* 94 obj:/usr/*lib*/libXt.so* 95 } 96 97 { 98 libX11.so.6.2/libX11.so.6.2/libXaw.so.7.0(Cond) 99 Memcheck:Cond 100 obj:/usr/*lib*/libX11.so* 101 obj:/usr/*lib*/libX11.so* 102 obj:/usr/*lib*/libXaw.so* 103 } 104 105 { 106 libX11.so.6.2/libX11.so.6.2/libXaw.so.7.0(Addr4) 107 Memcheck:Addr4 108 obj:/usr/*lib*/libX11.so* 109 obj:/usr/*lib*/libX11.so* 110 obj:/usr/*lib*/libXaw.so* 111 } 112 113 { 114 libX11.so.6.2/libXaw.so.7.0/libXaw.so.7.0(Cond) 115 Memcheck:Cond 116 obj:/usr/*lib*/libX11.so* 117 obj:/usr/*lib*/libXaw.so* 118 obj:/usr/*lib*/libXaw.so* 119 } 120 121 { 122 libXpm.so.4.11/libXpm.so.4.11/libXpm.so.4.11 123 Memcheck:Cond 124 obj:/usr/*lib*/libXpm.so.4.11 125 obj:/usr/*lib*/libXpm.so.4.11 126 obj:/usr/*lib*/libXpm.so.4.11 127 } 128 129 { 130 struct with uninitialized paddings 131 Memcheck:Param 132 writev(vector[...]) 133 fun:*_writev 134 fun:_X11TransSocketWritev 135 fun:_X11TransWritev 136 fun:* 137 } 138 139 { 140 struct with uninitialized paddings - libxcb 141 Memcheck:Param 142 writev(vector[...]) 143 obj:/lib*/*.so 144 obj:/usr/lib*/libxcb.so.1.0.0 145 obj:/usr/lib*/libxcb.so.1.0.0 146 fun:xcb_send_request 147 fun:_X* 148 } 149 150 { 151 struct with uninitialized paddings - libxcb 152 Memcheck:Param 153 writev(vector[...]) 154 obj:/lib*/*.so 155 obj:/usr/lib*/libxcb.so.1.0.0 156 obj:/usr/lib*/libxcb.so.1.0.0 157 obj:/usr/lib*/libxcb.so.1.0.0 158 fun:xcb_* 159 fun:_X* 160 } 161 162 { 163 another struct with uninitialized paddings 164 Memcheck:Param 165 write(buf) 166 obj:* 167 fun:_IceTransSocketWrite 168 fun:_IceTransWrite 169 fun:_IceWrite 170 } 171 172 { 173 Xorg 6.8.1 uninit _write* padding 174 Memcheck:Param 175 write(buf) 176 fun:* 177 fun:_X11TransWrite 178 obj:/usr/*lib*/libX11.so* 179 } 180 181 { 182 Xorg 6.8.1 uninit write padding 183 Memcheck:Param 184 write(buf) 185 fun:write 186 fun:_X11TransWrite 187 obj:/usr/*lib*/libX11.so* 188 } 189 190 { 191 Xorg 6.8.1 ICE uninit __write* padding 192 Memcheck:Param 193 write(buf) 194 obj:* 195 fun:_IceTransWrite 196 fun:_IceWrite 197 fun:IceFlush 198 } 199 200 { 201 Xorg 6.8.1 writev uninit padding 202 Memcheck:Param 203 writev(vector[...]) 204 fun:writev 205 obj:/usr/*lib*/libX11.so* 206 fun:_X11TransWritev 207 fun:_XSend 208 } 209 210 { 211 Xorg 6.9.0 writev uninit padding 212 Memcheck:Param 213 writev(vector[...]) 214 fun:do_writev 215 fun:writev 216 obj:/usr/*lib*/libX11.so* 217 fun:_X11TransWritev 218 fun:_XSend 219 } 220 221 { 222 X on SUSE11 writev uninit padding 223 Memcheck:Param 224 writev(vector[...]) 225 fun:writev 226 obj:/usr/lib*/libxcb.so* 227 obj:/usr/lib*/libxcb.so* 228 } 229 { 230 X on SUSE11 writev uninit padding 2 231 Memcheck:Param 232 writev(vector[...]) 233 obj:/lib*/ld-2.*.so* 234 obj:/usr/lib*/libxcb.so* 235 obj:/usr/lib*/libxcb.so* 236 } 237 { 238 X on SUSE11 writev uninit padding 3 239 Memcheck:Param 240 writev(vector[...]) 241 obj:/lib*/ld-2.*.so* 242 obj:/usr/lib*/libORBit*.so* 243 obj:/usr/lib*/libORBit*.so* 244 } 245 { 246 X on SUSE11 writev uninit padding 4 247 Memcheck:Param 248 writev(vector[...]) 249 obj:/lib*/libc-2.*.so* 250 obj:/usr/lib*/libORBit*.so* 251 obj:/usr/lib*/libORBit*.so* 252 } 253 254 255 # There's something strange about a % 127 in XftFontOpenInfo 256 # (hashing) which gcc turns into a multiply by 33818641 and 257 # some other guff instead. I don't understand it enough to 258 # know if libXft is broken or if memcheck's value tracking is 259 # inadequate here. Anyway, for the moment, suppress it. 260 # 261 # Use of uninitialised value of size 8 262 # at 0x71A59F8: XftFontOpenInfo (in /usr/X11R6/lib64/libXft.so.2.1.2) 263 # by 0x71A5F0D: XftFontOpenPattern (in /usr/X11R6/lib64/libXft.so.2.1.2) 264 # by 0x65F166E: loadFontConfigFont(QFontPrivate const*, QFontDef const&, 265 # QFont::Script) (qfontdatabase_x11.cpp:1942) 266 # by 0x65F5DE4: QFontDatabase::findFont(QFont::Script, QFontPrivate const*, 267 # QFontDef const&, int) (qfontdatabase.cpp:996) 268 { 269 XftFontOpenInfo-umod-127-strangeness 270 Memcheck:Value8 271 obj:/usr/X11*/lib*/libXft.so* 272 obj:/usr/X11*/lib*/libXft.so* 273 } 274 { 275 XftFontOpenInfo-umod-127-strangeness-a-la-xorg 276 Memcheck:Value8 277 obj:/usr/lib*/libXft.so* 278 obj:/usr/lib*/libXft.so* 279 } 280 281 { 282 More X padding stuff 283 Memcheck:Param 284 writev(vector[...]) 285 fun:*writev* 286 obj:/usr/X11*/lib*/libX11.so* 287 obj:/usr/X11*/lib*/libX11.so* 288 } 289 290 # Inlined strlen in libX11 on Ubuntu 9.10 amd64, unfortunately. 291 # Invalid read of size 4 292 # at 0x9B5CCE6: ??? (in /usr/lib/libX11.so.6.2.0) 293 # by 0x9B5D011: XGetAtomName (in /usr/lib/libX11.so.6.2.0) 294 # by 0x86407C3: gdk_x11_xatom_to_atom_for_display 295 # (in /usr/lib/libgdk-x11-2.0.so.0.1800.3) 296 # by 0x8636817: ??? (in /usr/lib/libgdk-x11-2.0.so.0.1800.3) 297 # Address 0x1a558e1c is 28 bytes inside a block of size 30 alloc'd 298 # at 0x4C2552D: malloc (vg_replace_malloc.c:236) 299 # by 0x9B642C0: _XUpdateAtomCache (in /usr/lib/libX11.so.6.2.0) 300 # by 0x9B647F1: ??? (in /usr/lib/libX11.so.6.2.0) 301 # by 0x9B81818: ??? (in /usr/lib/libX11.so.6.2.0) 302 { 303 libX11.so.6.2.0/libX11.so.6.2.0(Addr4) 304 Memcheck:Addr4 305 obj:/usr/*lib*/libX11.so* 306 obj:/usr/*lib*/libX11.so* 307 } 308 309 ##----------------------------------------------------------------------## 310 # Completely inappropriate place, but ... 311 312 { 313 ifort-9.X-on-i686-1 314 Memcheck:Addr4 315 fun:unaligned_bigint 316 fun:hash 317 fun:for__add_to_lf_table 318 } 319 { 320 ifort-9.X-on-amd64-1 321 Memcheck:Addr8 322 fun:unaligned_bigint 323 fun:hash 324 fun:for__add_to_lf_table 325 } 326 327 328 # zlib-1.2.x uses uninitialised memory in some tricky way which 329 # apparently is harmless (it must amount to a vectorised while-loop, 330 # nothing else makes sense). Fools Memcheck though. See the mentioned 331 # URL for details. 332 { 333 zlib-1.2.x trickyness (1a): See http://www.zlib.net/zlib_faq.html#faq36 334 Memcheck:Cond 335 obj:/*lib*/libz.so.1.2.* 336 ... 337 obj:/*lib*/libz.so.1.2.* 338 fun:deflate 339 } 340 { 341 zlib-1.2.x trickyness (1b): See http://www.zlib.net/zlib_faq.html#faq36 342 Memcheck:Cond 343 obj:/*lib*/libz.so.1.2.* 344 fun:deflate 345 } 346 347 { 348 zlib-1.2.x trickyness (2a): See http://www.zlib.net/zlib_faq.html#faq36 349 Memcheck:Value8 350 obj:/*lib*/libz.so.1.2.* 351 ... 352 obj:/*lib*/libz.so.1.2.* 353 fun:deflate 354 } 355 { 356 zlib-1.2.x trickyness (2b): See http://www.zlib.net/zlib_faq.html#faq36 357 Memcheck:Value8 358 obj:/*lib*/libz.so.1.2.* 359 fun:deflate 360 } 361 362 { 363 zlib-1.2.x trickyness (3a): See http://www.zlib.net/zlib_faq.html#faq36 364 Memcheck:Value4 365 obj:/*lib*/libz.so.1.2.* 366 ... 367 obj:/*lib*/libz.so.1.2.* 368 fun:deflate 369 } 370 { 371 zlib-1.2.x trickyness (3b): See http://www.zlib.net/zlib_faq.html#faq36 372 Memcheck:Value4 373 obj:/*lib*/libz.so.1.2.* 374 fun:deflate 375 } 376 377 378 ##----------------------------------------------------------------------## 379 380 ## More general versions of some of the old X suppressions above 381 { 382 Ubuntu804 libXaw.so.7.0/libXaw.so.7.0/libXaw.so.7.0(Cond) 383 Memcheck:Cond 384 obj:/usr/*lib*/libXaw*so* 385 obj:/usr/*lib*/libXaw*so* 386 obj:/usr/*lib*/libXaw*so* 387 } 388 { 389 Ubuntu804 libXaw.so.7.0/libXaw.so.7.0/libXt(Cond) 390 Memcheck:Cond 391 obj:/usr/*lib*/libXaw*so* 392 obj:/usr/*lib*/libXaw*so* 393 obj:/usr/*lib*/libXt*so* 394 } 395 396 { 397 Ubuntu804-hack-1 398 Memcheck:Overlap 399 fun:mempcpy 400 fun:_IO_default_xsputn 401 obj:/lib*/libc-2.*so* 402 } 403