~drizzle-trunk/drizzle/development

1 by brian
clean slate
1
#
2
# Suppress some common (not fatal) errors in system libraries found by valgrind
3
#
4
5
#
6
# Pthread doesn't free all thread specific memory before program exists
7
#
8
{
9
   pthread allocate_tls memory loss
10
   Memcheck:Leak
11
   fun:calloc
12
   fun:_dl_allocate_tls
13
   fun:allocate_stack
14
   fun:pthread_create*
15
}
16
17
{
18
   pthread allocate_tls memory loss
19
   Memcheck:Leak
20
   fun:calloc
21
   fun:_dl_allocate_tls
22
   fun:pthread_create*
23
24
}
25
26
{
27
   pthead_exit memory loss 1
28
   Memcheck:Leak
29
   fun:malloc
30
   fun:_dl_new_object
31
   fun:_dl_map_object_from_fd
32
}
33
34
{
35
   pthread_exit memory loss 2
36
   Memcheck:Leak
37
   fun:malloc
38
   fun:_dl_map_object
39
   fun:dl_open_worker
40
}
41
42
{
43
   pthread_exit memory loss 3
44
   Memcheck:Leak
45
   fun:malloc
46
   fun:_dl_map_object_deps
47
   fun:dl_open_worker
48
}
49
50
{
51
   pthread_exit memory loss 4
52
   Memcheck:Leak
53
   fun:calloc
54
   fun:_dl_check_map_versions
55
   fun:dl_open_worker
56
}
57
58
{
59
   pthread_exit memory loss 5
60
   Memcheck:Leak
61
   fun:calloc
62
   fun:_dl_new_object
63
   fun:_dl_map_object_from_fd
64
}
65
66
{
67
   pthread allocate_dtv memory loss
68
   Memcheck:Leak
69
   fun:calloc
70
   fun:allocate_dtv
71
   fun:_dl_allocate_tls_storage
72
   fun:__GI__dl_allocate_tls
73
   fun:pthread_create
74
}
75
76
{
77
   pthread allocate_dtv memory loss second
78
   Memcheck:Leak
79
   fun:calloc
80
   fun:allocate_dtv
81
   fun:_dl_allocate_tls
82
   fun:pthread_create*
83
}
84
85
{
86
   pthread memalign memory loss
87
   Memcheck:Leak
88
   fun:memalign
89
   fun:_dl_allocate_tls_storage
90
   fun:__GI__dl_allocate_tls
91
   fun:pthread_create
92
}
93
94
{
95
   pthread pthread_key_create
96
   Memcheck:Leak
97
   fun:malloc
98
   fun:*
99
   fun:*
100
   fun:pthread_key_create
101
   fun:my_thread_global_init
102
}
103
104
{
105
   pthread strstr uninit
106
   Memcheck:Cond
107
   fun:strstr
108
   obj:/lib/tls/libpthread.so.*
109
   obj:/lib/tls/libpthread.so.*
110
   fun:call_init
111
   fun:_dl_init
112
   obj:/lib/ld-*.so
113
}
114
115
{
116
   pthread strstr uninit
117
   Memcheck:Cond
118
   fun:strstr
119
   obj:/lib/tls/libpthread.so.*
120
   obj:/lib/tls/libpthread.so.*
121
   fun:call_init
122
   fun:_dl_init
123
   obj:/lib/ld-*.so
124
}
125
126
{  
127
   strlen/_dl_init_paths/dl_main/_dl_sysdep_start(Cond)
128
   Memcheck:Cond
129
   fun:strlen
130
   fun:_dl_init_paths
131
   fun:dl_main
132
   fun:_dl_sysdep_start
133
}
134
135
{
136
   pthread errno
137
   Memcheck:Leak
138
   fun:calloc
139
   fun:_dlerror_run
140
   fun:dlsym
141
   fun:__errno_location
142
}
143
144
145
#
146
# Warnings in libz becasue it works with aligned memory(?)
147
#
148
149
{
150
   libz tr_flush_block
151
   Memcheck:Cond
152
   fun:_tr_flush_block
153
   fun:deflate_slow
154
   fun:deflate
155
   fun:do_flush
156
   fun:gzclose
157
}
158
159
{
160
   libz tr_flush_block2
161
   Memcheck:Cond
162
   fun:_tr_flush_block
163
   fun:deflate_slow
164
   fun:deflate
165
   fun:compress2
166
}
167
168
{
169
   libz longest_match
170
   Memcheck:Cond
171
   fun:longest_match
172
   fun:deflate_slow
173
   fun:deflate
174
   fun:do_flush
175
}
176
177
{
178
   libz longest_match2
179
   Memcheck:Cond
180
   fun:longest_match
181
   fun:deflate_slow
182
   fun:deflate
183
   fun:compress2
184
}
185
186
{
187
   libz longest_match 3
188
   Memcheck:Cond
189
   fun:longest_match
190
   fun:deflate_slow
191
   fun:deflate
192
   fun:gzclose
193
}
194
195
{
196
   libz longest_match 4 
197
   Memcheck:Cond
198
   fun:longest_match
199
   fun:deflate_slow
200
   fun:deflate
201
   fun:gzflush
202
}
203
204
{
205
   libz longest_match3
206
   Memcheck:Cond
207
   fun:longest_match
208
   fun:deflate_slow
209
   fun:deflate
210
   fun:azflush
211
}
212
213
{
214
   libz longest_match3
215
   Memcheck:Cond
216
   fun:longest_match
217
   fun:deflate_slow
218
   fun:deflate
219
   fun:azclose
220
}
221
222
{
223
   libz deflate
224
   Memcheck:Cond
225
   obj:*/libz.so.*
226
   obj:*/libz.so.*
227
   fun:deflate
228
   fun:compress2
229
}
230
231
{
232
   libz deflate2
233
   Memcheck:Cond
234
   obj:*/libz.so.*
235
   obj:*/libz.so.*
236
   fun:deflate
237
   obj:*/libz.so.*
238
   fun:gzflush
239
}
240
241
{
242
   libz deflate3
243
   Memcheck:Cond
244
   obj:*/libz.so.*
245
   obj:*/libz.so.*
246
   fun:deflate
247
   fun:do_flush
248
}
249
250
#
251
# Warning from my_thread_init becasue mysqld dies before kill thread exists
252
#
253
254
{
255
   my_thread_init kill thread memory loss second
256
   Memcheck:Leak
257
   fun:calloc
258
   fun:my_thread_init
259
   fun:kill_server_thread
260
}
261
262
263
# Red Hat AS 4 32 bit
264
{
265
   dl_relocate_object
266
   Memcheck:Cond
267
   fun:_dl_relocate_object
268
}
269
270
#
271
# Warning from my_thread_init becasue mysqld dies before kill thread exists
272
#
273
274
{
275
   my_thread_init kill thread memory loss second
276
   Memcheck:Leak
277
   fun:calloc
278
   fun:my_thread_init
279
   fun:kill_server_thread
280
}
281
282
#
283
# Leaks reported in _dl_* internal functions on Linux amd64 / glibc2.3.2.
284
#
285
286
{
287
   _dl_start invalid write8
288
   Memcheck:Addr8
289
   fun:_dl_start
290
}
291
292
{
293
   _dl_start invalid write4
294
   Memcheck:Addr4
295
   fun:_dl_start
296
}
297
298
{
299
   _dl_start/_dl_setup_hash invalid read8
300
   Memcheck:Addr8
301
   fun:_dl_setup_hash
302
   fun:_dl_start
303
}
304
305
{
306
   _dl_sysdep_start invalid write8
307
   Memcheck:Addr8
308
   fun:_dl_sysdep_start
309
}
310
311
{
312
   _dl_init invalid write8
313
   Memcheck:Addr8
314
   fun:_dl_init
315
}
316
317
{
318
   _dl_init invalid write4
319
   Memcheck:Addr4
320
   fun:_dl_init
321
}
322
323
{
324
   _dl_init/_dl_init invalid read8
325
   Memcheck:Addr8
326
   fun:_dl_debug_initialize
327
   fun:_dl_init
328
}
329
330
{
331
   _dl_init/_dl_debug_state invalid read8
332
   Memcheck:Addr8
333
   fun:_dl_debug_state
334
   fun:_dl_init
335
}
336
337
{
338
   init invalid write8
339
   Memcheck:Addr8
340
   fun:init
341
}
342
343
{
344
   fixup invalid write8
345
   Memcheck:Addr8
346
   fun:fixup
347
}
348
349
{
350
   fixup/_dl_lookup_versioned_symbol invalid read8
351
   Memcheck:Addr8
352
   fun:_dl_lookup_versioned_symbol
353
   fun:fixup
354
}
355
356
{
357
   _dl_runtime_resolve invalid read8
358
   Memcheck:Addr8
359
   fun:_dl_runtime_resolve
360
}
361
362
{
363
   __libc_start_main invalid write8
364
   Memcheck:Addr8
365
   fun:__libc_start_main
366
}
367
368
{
369
   __libc_start_main/__sigjmp_save invalid write4
370
   Memcheck:Addr4
371
   fun:__sigjmp_save
372
   fun:__libc_start_main
373
}
374
375
#
376
# These seem to be libc threading stuff, not related to MySQL code (allocations
377
# during pthread_exit()). Googling shows other projects also using these
378
# suppressions.
379
#
380
# Note that these all stem from pthread_exit() deeper in the call stack, but
381
# Valgrind only allows the top four calls in the suppressions.
382
#
383
384
{
385
   libc pthread_exit 1
386
   Memcheck:Leak
387
   fun:malloc
388
   fun:_dl_new_object
389
   fun:_dl_map_object_from_fd
390
   fun:_dl_map_object
391
}
392
393
{
394
   libc pthread_exit 2
395
   Memcheck:Leak
396
   fun:malloc
397
   fun:_dl_map_object
398
   fun:dl_open_worker
399
   fun:_dl_catch_error
400
}
401
402
{
403
   libc pthread_exit 3
404
   Memcheck:Leak
405
   fun:malloc
406
   fun:_dl_map_object_deps
407
   fun:dl_open_worker
408
   fun:_dl_catch_error
409
}
410
411
{
412
   libc pthread_exit 4
413
   Memcheck:Leak
414
   fun:calloc
415
   fun:_dl_check_map_versions
416
   fun:dl_open_worker
417
   fun:_dl_catch_error
418
}
419
420
{
421
   libc pthread_exit 5
422
   Memcheck:Leak
423
   fun:calloc
424
   fun:_dl_new_object
425
   fun:_dl_map_object_from_fd
426
   fun:_dl_map_object
427
}
428
429
{
430
   libc pthread_exit 6
431
   Memcheck:Leak
432
   fun:malloc
433
   fun:_dl_map_object
434
   fun:openaux
435
   fun:_dl_catch_error 
436
}
437
438
{
439
   libc pthread_exit 7
440
   Memcheck:Leak
441
   fun:malloc
442
   fun:dl_open_worker
443
   fun:_dl_catch_error
444
   fun:_dl_open
445
}
446
447
#
448
# This is seen internally in the system libraries on 64-bit RHAS3.
449
#
450
451
{
452
   __lll_mutex_unlock_wake uninitialized
453
   Memcheck:Param
454
   futex(utime)
455
   fun:__lll_mutex_unlock_wake
456
}
457
458
#
459
# BUG#19940: NDB sends uninitialized parts of field buffers across the wire.
460
# This is "works as designed"; the uninitialized part is not used at the
461
# other end (but Valgrind cannot see this).
462
#
463
{
464
   bug19940
465
   Memcheck:Param
466
   socketcall.sendto(msg)
467
   fun:send
468
   fun:_ZN15TCP_Transporter6doSendEv
469
   fun:_ZN19TransporterRegistry11performSendEv
470
   fun:_ZN19TransporterRegistry14forceSendCheckEi
471
}
472
# Warning when printing stack trace (to suppress some not needed warnings)
473
#
474
475
{
476
   vprintf on stacktrace
477
   Memcheck:Cond
478
   fun:vfprintf
479
   fun:uffered_vfprintf
480
   fun:vfprintf
481
   fun:fprintf
482
   fun:print_stacktrace
483
}
484
485
#
486
# Safe warnings, that may happen because of thread scheduling
487
#
488
489
{
490
   dbug initialization by kill_server
491
   Memcheck:Leak
492
   fun:malloc
493
   fun:DbugMalloc
494
   fun:code_state
495
   fun:_db_enter_
496
   fun:kill_server
497
}
498
499
#
500
# Warning caused by small memory leak in threaded dlopen
501
#
502
503
{
504
   dlopen threaded memory leak
505
   Memcheck:Leak
506
   fun:calloc
507
   obj:*/libdl-*.so
508
   fun:dlopen*
509
}
510
511
#
512
# On some systems the above leak happens at dlclose (SuSE 10.1 64 bit on
513
# blade13)
514
#
515
516
{
517
   dlclose threaded memory leak
518
   Memcheck:Leak
519
   fun:calloc
520
   obj:*/libdl-*.so
521
   fun:dlclose*
522
}