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 |
{
|
|
1008.4.1
by Jay Pipes
Typo in valgrind.supp |
27 |
pthread_exit memory loss 1
|
1
by brian
clean slate |
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 |
}
|
|
1089.1.2
by Brian Aker
Rename work (cheery pick from new-cleanup). Jay's fix for auth_http. Update |
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
|
|
638 |
fun:mem_heap_create_block
|
|
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 |