~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to tests/valgrind.supp

Merge Stewart's dead code removal

Show diffs side-by-side

added added

removed removed

Lines of Context:
2
2
# Suppress some common (not fatal) errors in system libraries found by valgrind
3
3
#
4
4
 
5
 
{
6
 
  dlopen memory leak
7
 
  Memcheck:Leak
8
 
  fun:*alloc
9
 
  ...
10
 
  fun:*dlopen*
11
 
  ...
12
 
}
13
 
 
14
 
{
15
 
  dlerror memory leak
16
 
  Memcheck:Leak
17
 
  fun:*alloc
18
 
  ...
19
 
  fun:*dlerror*
20
 
  ...
21
 
}
22
 
 
23
 
{
24
 
  dlclose memory leak
25
 
  Memcheck:Leak
26
 
  fun:*alloc
27
 
  ...
28
 
  fun:*dl_close*
29
 
  ...
30
 
}
31
 
 
32
 
{
33
 
  dlpreload memory leak
34
 
  Memcheck:Leak
35
 
  ...
36
 
  fun:do_preload
37
 
  fun:dl_main
38
 
  ...
39
 
}
40
 
 
41
 
{
42
 
  dl_main issue
43
 
  Memcheck:Cond
44
 
  ...
45
 
  fun:dl_main
46
 
  ...
47
 
}
48
 
 
49
 
# Masking an issue in system tzset call
50
 
{
51
 
  tzset() on debian reports issues
52
 
  Memcheck:Cond
53
 
  ...
54
 
  fun:tzset
55
 
  fun:_ZN8drizzled21init_common_variablesEPKciPPcPS1_
56
 
  ...
57
 
}
58
 
{
59
 
  tzset() on debian reports issues
60
 
  Memcheck:Addr8
61
 
  ...
62
 
  fun:tzset
63
 
  fun:_ZN8drizzled21init_common_variablesEPKciPPcPS1_
64
 
  ...
65
 
}
66
 
{
67
 
  tzset() on debian reports issues
68
 
  Memcheck:Addr4
69
 
  ...
70
 
  fun:tzset
71
 
  fun:_ZN8drizzled21init_common_variablesEPKciPPcPS1_
72
 
  ...
73
 
}
74
 
{
75
 
  tzset() on debian reports issues
76
 
  Memcheck:Addr8
77
 
  ...
78
 
  fun:_ZN8drizzled21init_common_variablesEPKciPPcPS1_
79
 
  fun:main
80
 
}
81
 
{
82
 
  tzset() on debian reports issues
83
 
  Memcheck:Addr4
84
 
  ...
85
 
  fun:_ZN8drizzled21init_common_variablesEPKciPPcPS1_
86
 
  fun:main
87
 
}
88
 
 
89
 
 
90
 
 
91
 
# Masking static allocation issues in InnoDB
92
 
{
93
 
   InnoDB Unclean Startup
94
 
   Memcheck:Cond
95
 
   ...
96
 
   fun:innobase_start_or_create_for_mysql
97
 
   ...
98
 
}
99
 
 
100
 
{
101
 
   InnoDB Unclean Startup
102
 
   Memcheck:Leak
103
 
   fun:*alloc
104
 
   ...
105
 
   fun:innobase_start_or_create_for_mysql
106
 
   ...
107
 
}
108
 
 
109
 
{
110
 
   InnoDB Unclean Startup
111
 
   Memcheck:Cond
112
 
   ...
113
 
   fun:srv_master_thread
114
 
   ...
115
 
}
116
 
 
117
 
{
118
 
   InnoDB Unclean Startup
119
 
   Memcheck:Leak
120
 
   fun:malloc
121
 
   ...
122
 
   fun:srv_master_thread
123
 
   ...
124
 
}
125
 
 
126
 
{
127
 
   InnoDB allocing out of its internal heap is always confusing to valgrind
128
 
   Memcheck:Leak
129
 
   ...
 
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
   pthread_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
}
 
523
 
 
524
 
 
525
#
 
526
# Start of Google Protobuffer suppressions.  GPB does static initialization
 
527
# of default message Descriptors and file descriptor classes, which produce
 
528
# bogus still reachable errors in memcheck.
 
529
#
 
530
 
 
531
{
 
532
   static initialization proto1
 
533
   Memcheck:Leak
 
534
   fun:_Znwm
 
535
   fun:_ZN8drizzled7message56protobuf_BuildDesc_table_2eproto_AssignGlobalDescriptorsEPKN6google8protobuf14FileDescriptorE
 
536
   fun:_ZN6google8protobuf17DescriptorBuilder9BuildFileERKNS0_19FileDescriptorProtoEPFvPKNS0_14FileDescriptorEE
 
537
   fun:_ZN6google8protobuf14DescriptorPool26InternalBuildGeneratedFileEPKviPFvPKNS0_14FileDescriptorEE
 
538
   fun:_ZN8drizzled7message32protobuf_BuildDesc_table_2eprotoEv
 
539
   fun:_ZN8drizzled7message41StaticDescriptorInitializer_table_2eprotoC1Ev
 
540
   fun:_Z41__static_initialization_and_destruction_0ii
 
541
   fun:_GLOBAL__I_table.pb.cc
 
542
   obj:/*/drizzled
 
543
   obj:/*/drizzled
 
544
   obj:*
 
545
   fun:__libc_csu_init
 
546
   fun:(below main)
 
547
}
 
548
{
 
549
   static initialization proto2
 
550
   Memcheck:Leak
 
551
   fun:_Znwm
 
552
   fun:_ZN6google8protobuf81protobuf_BuildDesc_google_2fprotobuf_2fdescriptor_2eproto_AssignGlobalDescriptorsEPKNS0_14FileDescriptorE
 
553
   fun:_ZN6google8protobuf17DescriptorBuilder9BuildFileERKNS0_19FileDescriptorProtoEPFvPKNS0_14FileDescriptorEE
 
554
   fun:_ZN6google8protobuf14DescriptorPool26InternalBuildGeneratedFileEPKviPFvPKNS0_14FileDescriptorEE
 
555
   obj:/*libprotobuf.so*
 
556
   obj:/*libprotobuf.so*
 
557
   obj:/*libprotobuf.so*
 
558
   obj:*
 
559
   fun:_dl_init
 
560
   obj:/lib/ld-*.so
 
561
   obj:*
 
562
   obj:*
 
563
   obj:*
 
564
   obj:*
 
565
   obj:*
 
566
   obj:*
 
567
}
 
568
{
 
569
   static initialization proto3
 
570
   Memcheck:Leak
 
571
   fun:_Znwm
 
572
   fun:_ZN8drizzled7message62protobuf_BuildDesc_transaction_2eproto_AssignGlobalDescriptorsEPKN6google8protobuf14FileDescriptorE
 
573
   fun:_ZN6google8protobuf17DescriptorBuilder9BuildFileERKNS0_19FileDescriptorProtoEPFvPKNS0_14FileDescriptorEE
 
574
   fun:_ZN6google8protobuf14DescriptorPool26InternalBuildGeneratedFileEPKviPFvPKNS0_14FileDescriptorEE
 
575
   fun:_ZN8drizzled7message38protobuf_BuildDesc_transaction_2eprotoEv
 
576
   fun:_ZN8drizzled7message47StaticDescriptorInitializer_transaction_2eprotoC1Ev
 
577
   fun:_Z41__static_initialization_and_destruction_0ii
 
578
   fun:_GLOBAL__I_transaction.pb.cc
 
579
   obj:/*/drizzled
 
580
   obj:/*/drizzled
 
581
   obj:*
 
582
   fun:__libc_csu_init
 
583
   fun:(below main)
 
584
}
 
585
{
 
586
   static initialization proto4
 
587
   Memcheck:Leak
 
588
   fun:_Znwm
 
589
   fun:_ZN8drizzled7message57protobuf_BuildDesc_schema_2eproto_AssignGlobalDescriptorsEPKN6google8protobuf14FileDescriptorE
 
590
   fun:_ZN6google8protobuf17DescriptorBuilder9BuildFileERKNS0_19FileDescriptorProtoEPFvPKNS0_14FileDescriptorEE
 
591
   fun:_ZN6google8protobuf14DescriptorPool26InternalBuildGeneratedFileEPKviPFvPKNS0_14FileDescriptorEE
 
592
   fun:_ZN8drizzled7message33protobuf_BuildDesc_schema_2eprotoEv
 
593
   fun:_ZN8drizzled7message42StaticDescriptorInitializer_schema_2eprotoC1Ev
 
594
   fun:_Z41__static_initialization_and_destruction_0ii
 
595
   fun:_GLOBAL__I_schema.pb.cc
 
596
   obj:/*/drizzled
 
597
   obj:/*/drizzled
 
598
   obj:*
 
599
   fun:__libc_csu_init
 
600
   fun:(below main)
 
601
}
 
602
{
 
603
   static initialization proto5
 
604
   Memcheck:Leak
 
605
   fun:_Znwm
 
606
   fun:_ZN8drizzled7message62protobuf_BuildDesc_transaction_2eproto_AssignGlobalDescriptorsEPKN6google8protobuf14FileDescriptorE
 
607
   fun:_ZN6google8protobuf17DescriptorBuilder9BuildFileERKNS0_19FileDescriptorProtoEPFvPKNS0_14FileDescriptorEE
 
608
   fun:_ZN6google8protobuf14DescriptorPool26InternalBuildGeneratedFileEPKviPFvPKNS0_14FileDescriptorEE
 
609
   fun:_ZN8drizzled7message38protobuf_BuildDesc_transaction_2eprotoEv
 
610
   fun:_ZN8drizzled7message47StaticDescriptorInitializer_transaction_2eprotoC1Ev
 
611
   fun:_Z41__static_initialization_and_destruction_0ii
 
612
   fun:_GLOBAL__I_transaction.pb.cc
 
613
   obj:/*/drizzled
 
614
   obj:/*/drizzled
 
615
   obj:*
 
616
   fun:__libc_csu_init
 
617
   fun:(below main)
 
618
}
 
619
 
 
620
{
 
621
  Bad InnoDB rw_lock_x_lock_func evil evil
 
622
   Memcheck:Cond
 
623
   fun:rw_lock_x_lock_func
 
624
}
 
625
 
 
626
#
 
627
# Innodb initialize two main memory areas in static space: thr_local_hash and mem_comm_pool.
 
628
#
 
629
# About 5M of allocated bytes are left in a reachable state upon shutdown. We suppress this
 
630
# false positive here...
 
631
#
 
632
 
 
633
{
 
634
   thr_local_hash static initialization
 
635
   Memcheck:Leak
 
636
   fun:malloc
 
637
   fun:mem_area_alloc
130
638
   fun:mem_heap_create_block
131
 
   ...
132
 
}
133
 
 
134
 
{
135
 
   InnoDB Insert Row
136
 
   Memcheck:Cond
137
 
   ...
138
 
   fun:row_insert_for_mysql
139
 
   ...
140
 
}
141
 
{
142
 
   InnoDB Insert Row
143
 
   Memcheck:Value4
144
 
   ...
145
 
   fun:row_insert_for_mysql
146
 
   ...
147
 
}
148
 
{
149
 
   InnoDB Insert Row
150
 
   Memcheck:Value8
151
 
   ...
152
 
   fun:row_insert_for_mysql
153
 
   ...
154
 
}
155
 
{
156
 
   InnoDB Insert Row
157
 
   Memcheck:Leak
158
 
   ...
159
 
   fun:row_insert_for_mysql
160
 
   ...
161
 
}
162
 
{
163
 
   InnoDB Insert Row
164
 
   Memcheck:Param
165
 
   ...
166
 
   fun:row_insert_for_mysql
167
 
   ...
168
 
}
169
 
{
170
 
   InnoDB Insert Row
171
 
   Memcheck:Param
172
 
   write(buf)
173
 
   ...
174
 
   fun:row_insert_for_mysql
175
 
   ...
176
 
}
177
 
 
178
 
{
179
 
   InnoDB Create Table
180
 
   Memcheck:Cond
181
 
   ...
182
 
   fun:row_create_table_for_mysql
183
 
   ...
184
 
}
185
 
{
186
 
   InnoDB Create Table
187
 
   Memcheck:Leak
188
 
   ...
189
 
   fun:row_create_table_for_mysql
190
 
   ...
191
 
}
192
 
 
193
 
{
194
 
   InnoDB Drop Table
195
 
   Memcheck:Cond
196
 
   ...
197
 
   fun:row_drop_table_for_mysql
198
 
   ...
199
 
}
200
 
{
201
 
   InnoDB Drop Table
202
 
   Memcheck:Leak
203
 
   ...
204
 
   fun:row_drop_table_for_mysql
205
 
   ...
206
 
}
207
 
 
208
 
 
209
 
{
210
 
   HailDB Inherited some issues from InnoDB
211
 
   Memcheck:Cond
212
 
   fun:rw_lock_x_lock_func
213
 
   ...
214
 
   fun:innobase_start_or_create
215
 
   fun:_ZL20embedded_innodb_initRN8drizzled6module7ContextE
216
 
   fun:_ZN8drizzled15plugin_finalizeERNS_6module8RegistryE
217
 
   fun:_ZN8drizzled22init_server_componentsERNS_6module8RegistryE
218
 
   fun:main
219
 
}
220
 
 
221
 
{
222
 
   HailDB Inherited some issues from InnoDB
223
 
   Memcheck:Cond
224
 
   fun:rw_lock_x_lock_func
225
 
   ...
226
 
}
227
 
 
228
 
 
229
 
# Masking Leaks in System Libraries
230
 
{
231
 
   libnss static allocation
232
 
   Memcheck:Leak
233
 
   ...
234
 
   fun:getpwnam
235
 
   ...
236
 
}
237
 
 
238
 
{
239
 
  Static buffer created on gcrypt library initialization. Not a leak.
240
 
  Memcheck:Leak
241
 
  fun:malloc
242
 
  ...
243
 
  obj:*libgcrypt.so.*
244
 
  fun:_ZL10initializeRN8drizzled6module7ContextE
245
 
  ...
246
 
}
247
 
 
248
 
{
249
 
   Static buffer in pcre. Not a leak.
250
 
   Memcheck:Leak
251
 
   fun:malloc
252
 
   fun:pcre_compile2
253
 
   ...
254
 
}
255
 
 
256
 
{
257
 
   azflush issue in libazio
258
 
   Memcheck:Param
259
 
   pwrite64(buf)
260
 
   ...
261
 
   fun:azflush
262
 
   ...
263
 
}
264
 
{
265
 
   azflush issue in libazio
266
 
   Memcheck:Cond
267
 
   fun:deflate
268
 
   ...
269
 
   fun:azflush
270
 
   ...
271
 
}
272
 
 
273
 
{
274
 
   azclose issue in libazio
275
 
   Memcheck:Param
276
 
   pwrite64(buf)
277
 
   ...
278
 
   fun:azclose
279
 
   ...
280
 
}
281
 
{
282
 
   azclose issue in libazio
283
 
   Memcheck:Cond
284
 
   fun:deflate
285
 
   ...
286
 
   fun:azclose
287
 
   ...
288
 
}
289
 
 
290
 
{
291
 
   azwrite_row issue in libazio
292
 
   Memcheck:Cond
293
 
   fun:memcpy
294
 
   ...
295
 
   fun:deflate
296
 
   fun:azwrite_row
297
 
   ...
298
 
}
299
 
{
300
 
   azwrite_row issue in libazio
301
 
   Memcheck:Cond
302
 
   fun:memcpy
303
 
   ...
304
 
   fun:deflate
305
 
   fun:azwrite
306
 
   fun:azwrite_row
307
 
   ...
308
 
}
309
 
{
310
 
   azwrite_row issue in libazio
311
 
   Memcheck:Value8
312
 
   fun:memcpy
313
 
   ...
314
 
   fun:deflate
315
 
   fun:azwrite_row
316
 
   ...
317
 
}
318
 
{
319
 
   azwrite_row issue in libazio
320
 
   Memcheck:Value4
321
 
   fun:memcpy
322
 
   ...
323
 
   fun:deflate
324
 
   fun:azwrite_row
325
 
   ...
326
 
}
327
 
{
328
 
   azwrite_row issue in libazio
329
 
   Memcheck:Value8
330
 
   fun:memcpy
331
 
   ...
332
 
   fun:deflate
333
 
   fun:azwrite
334
 
   fun:azwrite_row
335
 
   ...
336
 
}
337
 
 
338
 
{
339
 
   azwrite_row issue in libazio
340
 
   Memcheck:Value4
341
 
   fun:memcpy
342
 
   ...
343
 
   fun:deflate
344
 
   fun:azwrite
345
 
   fun:azwrite_row
346
 
   ...
347
 
}
348
 
 
349
 
{
350
 
   azopen issue in libz
351
 
   Memcheck:Cond
352
 
   fun:inflateReset2
353
 
   fun:inflateInit2_
354
 
   fun:azopen
355
 
   ...
356
 
}
357
 
 
358
 
{
359
 
   uncompress issue in libz
360
 
   Memcheck:Cond
361
 
   fun:inflateReset2
362
 
   fun:inflateInit2_
363
 
   fun:uncompress
364
 
   ...
365
 
}
366
 
 
367
 
{
368
 
   uncompress issue in libz (32bit)
369
 
   Memcheck:Cond
370
 
   fun:memcpy
371
 
   ...
372
 
   fun:deflate
373
 
   fun:_ZL7azwriteP11azio_streamPvj
374
 
   fun:azwrite_row
375
 
   ...
376
 
}
377
 
 
378
 
{
379
 
   uncompress issue in libz (32bit)
380
 
   Memcheck:Value4
381
 
   fun:memcpy
382
 
   ...
383
 
   fun:deflate
384
 
   fun:_ZL7azwriteP11azio_streamPvj
385
 
   fun:azwrite_row
386
 
   ...
387
 
}
388
 
 
389
 
{
390
 
   MyISAM pwrite issue. Teh Suck.
391
 
   Memcheck:Param
392
 
   pwrite64(buf)
393
 
   fun:pwrite64
394
 
   fun:_Z15key_cache_writePN8drizzled12st_key_cacheEiyiPhjji
395
 
   ...
396
 
}
397
 
{
398
 
   MyISAM pwrite issue. Teh Suck.
399
 
   Memcheck:Param
400
 
   pwrite64(buf)
401
 
   fun:pwrite64
402
 
   fun:_Z15key_cache_writePN8drizzled12st_key_cacheEimiPhjji
403
 
   ...
404
 
}
405
 
{
406
 
   MyISAM pwrite issue. Teh Suck.
407
 
   Memcheck:Param
408
 
   pwrite64(buf)
409
 
   ...
410
 
   fun:_Z15key_cache_writePN8drizzled12st_key_cacheEimiPhjji
411
 
  ...
412
 
}
413
 
 
414
 
# Things we don't like in Drizzle
415
 
 
416
 
{
417
 
   This whole codebase is going away, so suppress this annoyance.
418
 
   Memcheck:Cond
419
 
   fun:_ZN8drizzledL17construct_optionsEPNS_6memory4RootEPNS_6module6ModuleEPNS_6optionE
420
 
   fun:_ZN8drizzledL19test_plugin_optionsEPNS_6memory4RootEPNS_6module6ModuleEPiPPcRN5boost15program_options19options_descriptionE
421
 
   fun:_ZN8drizzledL16plugin_load_listERNS_6module8RegistryEPNS_6memory4RootEPiPPcRKSt3setISsSt4lessISsESaISsEERN5boost15program_options19options_descriptionEb
422
 
   fun:_ZN8drizzled11plugin_initERNS_6module8RegistryEPiPPcRN5boost15program_options19options_descriptionE
423
 
   fun:_ZN8drizzled22init_server_componentsERNS_6module8RegistryE
424
 
   fun:main
425
 
}
426
 
 
427
 
# https://bugs.launchpad.net/drizzle/+bug/582495
428
 
{
429
 
   Bug 582495 - Syscall param write(buf) points to uninitialised byte(s)
430
 
   Memcheck:Param
431
 
   write(buf)
432
 
   ...
433
 
   fun:_ZN8drizzled8internal8my_writeEiPKhmi
434
 
   ...
435
 
   fun:_ZN8drizzled9SortParam10write_keysEPPhjPNS_8internal11st_io_cacheES5_
436
 
   ...
437
 
}
438
 
 
439
 
{
440
 
   Bug 582495 - Syscall param write(buf) points to uninitialised byte(s)
441
 
   Memcheck:Param
442
 
   write(buf)
443
 
   ...
444
 
   fun:_ZN8drizzled8internal8my_writeEiPKhmi
445
 
   ...
446
 
   fun:_ZN8drizzled8FileSort3runEPNS_5TableEPNS_9SortFieldEjPNS_9optimizer9SqlSelectEmbRm
447
 
   ...
448
 
}
449
 
 
450
 
{
451
 
   Bug 582495 - Syscall param write(buf) points to uninitialised byte(s)  (32bit)
452
 
   Memcheck:Param
453
 
   write(buf)
454
 
   ...
455
 
   fun:_ZN8drizzled8internalL11_my_b_writeEPNS0_11st_io_cacheEPKhj
456
 
   ...
457
 
   fun:_ZN8drizzled8FileSort3runEPNS_5TableEPNS_9SortFieldEjPNS_9optimizer9SqlSelectEybRy
458
 
   ...
459
 
}
460
 
 
461
 
{
462
 
   Bug 582495 - Syscall param write(buf) points to uninitialised byte(s)  (32bit)
463
 
   Memcheck:Param
464
 
   write(buf)
465
 
   ...
466
 
   fun:_ZN8drizzled8FileSort3runEPNS_5TableEPNS_9SortFieldEjPNS_9optimizer9SqlSelectEybRy
467
 
   ...
468
 
   fun:_ZN8drizzled13handle_selectEPNS_7SessionEPNS_3LEXEPNS_13select_resultEy
469
 
}
470
 
 
471
 
# https://bugs.launchpad.net/drizzle/+bug/582526
472
 
{
473
 
   Possibly lack of deallocation of a thread
474
 
   Memcheck:Leak
475
 
   fun:calloc
476
 
   ...
477
 
   fun:pthread_create*
478
 
   fun:_Z34initTransactionLogBackgroundWorkerv
479
 
   ...
480
 
}
481
 
 
482
 
# Issues with boost::thread
483
 
{
484
 
  Boost::thread issues. Not a problem - static init issues.
485
 
  Memcheck:Leak
486
 
  ...
487
 
  fun:_ZN5boost6detail16add_new_tss_nodeEPKvNS_10shared_ptrINS0_20tss_cleanup_functionEEEPv
488
 
  fun:_ZN5boost6detail12set_tss_dataEPKvNS_10shared_ptrINS0_20tss_cleanup_functionEEEPvb
489
 
  fun:_ZN8drizzled8internal14my_thread_initEv
490
 
  fun:_ZN8drizzled8internal21my_thread_global_initEv
491
 
  fun:_ZN8drizzled8internal7my_initEv
492
 
  fun:main
493
 
}
494
 
 
495
 
{
496
 
  Boost::thread issues. Not a problem - static init issues.
497
 
  Memcheck:Leak
498
 
  fun:_Znwm
499
 
  fun:_ZNSt8_Rb_treeIPKvSt4pairIKS1_N5boost6detail13tss_data_nodeEESt10_Select1stIS7_ESt4lessIS1_ESaIS7_EE10_M_insert_EPKSt18_Rb_tree_node_baseSG_RKS7_
500
 
  fun:_ZN5boost6detail16add_new_tss_nodeEPKvNS_10shared_ptrINS0_20tss_cleanup_functionEEEPv
501
 
  fun:_ZN5boost6detail12set_tss_dataEPKvNS_10shared_ptrINS0_20tss_cleanup_functionEEEPvb
502
 
  fun:_ZN5boost19thread_specific_ptrIN8drizzled8internal16st_my_thread_varEED1Ev
503
 
  ...
504
 
}
505
 
{
506
 
  Boost::thread issues. Not a problem - static init issues.
507
 
  Memcheck:Leak
508
 
  ...
509
 
  fun:_ZN5boost6detail23get_current_thread_dataEv
510
 
  fun:_ZN5boost6detail13find_tss_dataEPKv
511
 
  fun:_ZN5boost6detail12get_tss_dataEPKv
512
 
  fun:_ZN8drizzled8internal14my_thread_initEv
513
 
  fun:_ZN8drizzled8internal21my_thread_global_initEv
514
 
  fun:_ZN8drizzled8internal7my_initEv
515
 
  ...
516
 
}
517
 
{
518
 
  Boost::thread issues. Not a problem - static init issues.
519
 
  Memcheck:Leak
520
 
  ...
521
 
  fun:_ZN5boost19thread_specific_ptrIPN8drizzled6memory4RootEED1Ev
522
 
  fun:__run_exit_handlers
523
 
  fun:exit
524
 
  ...
525
 
}
526
 
{
527
 
  Boost::thread issues. Not a problem - static init issues.
528
 
  Memcheck:Leak
529
 
  ...
530
 
  fun:_ZN5boost19thread_specific_ptr*
531
 
  fun:__run_exit_handlers
532
 
  fun:exit
533
 
  ...
534
 
}
535
 
{
536
 
  Boost::thread issues. Not a problem - static init issues.
537
 
  Memcheck:Leak
538
 
  fun:_Znwm
539
 
  ...
540
 
  fun:_ZN5boost6detail12set_tss_dataEPKvNS_10shared_ptrINS0_20tss_cleanup_functionEEEPvb
541
 
   fun:_ZN8drizzled8internal14my_thread_initEv
542
 
   fun:_ZN8drizzled8internal21my_thread_global_initEv
543
 
   fun:_ZN8drizzled8internal7my_initEv
544
 
   fun:main
545
 
}
546
 
{
547
 
  Boost::thread issues. Not a problem - static init issues.
548
 
   Memcheck:Leak
549
 
   fun:_Znwj
550
 
   ...
551
 
   fun:_ZN5boost6detail12set_tss_dataEPKvNS_10shared_ptrINS0_20tss_cleanup_functionEEEPvb
552
 
   fun:_ZN8drizzled8internal14my_thread_initEv
553
 
   fun:_ZN8drizzled8internal21my_thread_global_initEv
554
 
   fun:_ZN8drizzled8internal7my_initEv
555
 
   fun:main
556
 
}
557
 
{
558
 
  Boost::thread issues. Not a problem - static init issues.
559
 
   Memcheck:Leak
560
 
   fun:_Znwm
561
 
   fun:_ZN5boost6detail12set_tss_dataEPKvNS_10shared_ptrINS0_20tss_cleanup_functionEEEPvb
562
 
   fun:_ZN8drizzled7Session12storeGlobalsEv
563
 
   fun:_ZN8drizzled21drizzle_rm_tmp_tablesEv
564
 
   fun:main
565
 
}
566
 
{
567
 
  Boost::thread issues. Not a problem - static init issues.
568
 
   Memcheck:Leak
569
 
   fun:_Znwj
570
 
   fun:_ZN5boost6detail12set_tss_dataEPKvNS_10shared_ptrINS0_20tss_cleanup_functionEEEPvb
571
 
   fun:_ZN8drizzled7Session12storeGlobalsEv
572
 
   fun:_ZN8drizzled21drizzle_rm_tmp_tablesEv
573
 
   fun:main
574
 
}
575
 
 
 
639
   fun:mem_heap_create_func
 
640
   fun:mem_alloc_func
 
641
   fun:hash0_create
 
642
   fun:thr_local_init
 
643
   fun:srv_general_init
 
644
   fun:srv_boot
 
645
   fun:innobase_start_or_create_for_mysql
 
646
   fun:_ZL13innobase_initR14PluginRegistry
 
647
   fun:_ZL17plugin_initializeP13st_plugin_int
 
648
   fun:_Z11plugin_initPiPPci
 
649
   fun:_ZL22init_server_componentsv
 
650
   fun:main
 
651
}
 
652
 
 
653
{
 
654
   mem_comm_pool static initialization
 
655
   Memcheck:Leak
 
656
   fun:malloc
 
657
   fun:ut_malloc_low
 
658
   fun:ut_malloc
 
659
   fun:mem_pool_create
 
660
   fun:mem_init
 
661
   fun:srv_general_init
 
662
   fun:srv_boot
 
663
   fun:innobase_start_or_create_for_mysql
 
664
   fun:_ZL13innobase_initR14PluginRegistry
 
665
   fun:_ZL17plugin_initializeP13st_plugin_int
 
666
   fun:_Z11plugin_initPiPPci
 
667
   fun:_ZL22init_server_componentsv
 
668
   fun:main
 
669
}
 
670
 
 
671
#
 
672
# InnoDB uses a yacc-based lexer which holds its yyval variable in
 
673
# static space. This variable is of type pointer to que_t.  This
 
674
# static variable is realloc()'d when a larger number of que_t's (AST nodes)
 
675
# is needed.
 
676
#
 
677
# This static allocation results in false positives for reachable
 
678
# memory at server (or actually plugin) shutdown.  Therefore, we correct
 
679
# with the following suppressions.
 
680
#
 
681
 
 
682
{
 
683
   InnoDB parser static allocation 1
 
684
   Memcheck:Leak
 
685
   fun:realloc
 
686
   fun:ut_realloc
 
687
   fun:string_append
 
688
   fun:yylex
 
689
   fun:yyparse
 
690
   fun:pars_sql
 
691
}
 
692
 
 
693
{
 
694
   InnoDB Parser allocation 2
 
695
   Memcheck:Leak
 
696
   fun:realloc
 
697
   fun:string_append
 
698
   fun:yylex
 
699
   fun:yyparse
 
700
   fun:pars_sql
 
701
}
 
702
 
 
703
 
 
704
#
 
705
# LIBC's nss_parse_service_list() and tsearch(), which are used by various syscalls
 
706
# like getpwnam() malloc's some pointers in static space. We suppress
 
707
# this false positive here...
 
708
#
 
709
 
 
710
{
 
711
   nss_parse_service_list static allocation
 
712
   Memcheck:Leak
 
713
   fun:malloc
 
714
   fun:nss_parse_service_list
 
715
   fun:__nss_database_lookup
 
716
   obj:*
 
717
   obj:*
 
718
   fun:getpwnam_r*
 
719
   fun:getpwnam
 
720
   fun:_ZL10check_userPKc
 
721
   fun:main
 
722
}
 
723
 
 
724
{
 
725
   tsearch static allocation
 
726
   Memcheck:Leak
 
727
   fun:malloc
 
728
   fun:tsearch
 
729
   fun:__nss_lookup_function
 
730
   obj:*
 
731
   obj:*
 
732
   fun:getpwnam_r*
 
733
   fun:getpwnam
 
734
   fun:_ZL10check_userPKc
 
735
   fun:main
 
736
}
 
737
 
 
738
 
 
739
#
 
740
# PCRE initializes compiled regular expression objects into
 
741
# static space, and therefore show up as memory leaks.  These
 
742
# are false positives and are handled by the PCRE library. There
 
743
# is no way to manually free pcre_compile()d returned pointers.
 
744
#
 
745
 
 
746
{
 
747
   pcre static initialization correction
 
748
   Memcheck:Leak
 
749
   fun:malloc
 
750
   fun:pcre_compile2
 
751
   fun:_ZN8drizzled14TemporalFormatC1EPKc
 
752
   fun:_Z21init_temporal_formatsv
 
753
   fun:_ZL21init_common_variablesPKciPPcPS0_
 
754
   fun:main
 
755
}
 
756
 
 
757
{
 
758
   Leak inside of libcurl. Nothing we can really do about it.
 
759
   Memcheck:Leak
 
760
   fun:realloc
 
761
   fun:CRYPTO_realloc
 
762
   fun:lh_insert
 
763
}
 
764
 
 
765
{
 
766
   Another leak in libcrypto
 
767
   Memcheck:Leak
 
768
   fun:malloc
 
769
   fun:CRYPTO_malloc
 
770
   fun:lh_new
 
771
}
 
772
 
 
773
 
 
774
{
 
775
   A leak in pcre
 
776
   Memcheck:Leak
 
777
   fun:malloc
 
778
   fun:pcre_compile2
 
779
}
 
780
 
 
781
{
 
782
   nss leak
 
783
   Memcheck:Leak
 
784
   fun:malloc
 
785
   obj:/lib/libc-2.9.so
 
786
   fun:__nss_database_lookup
 
787
}