46622a8c3528bc61e5dd3448a1bf089c7cfe1872
[platform/upstream/libnice.git] / tests / libnice.supp
1 {
2         gnutls-init-calloc
3         Memcheck:Leak
4         fun:calloc
5         ...
6         fun:gtls_gnutls_init
7 }
8
9 {
10         gnutls-init-realloc
11         Memcheck:Leak
12         fun:realloc
13         ...
14         fun:gtls_gnutls_init
15 }
16
17 {
18         g-tls-backend-gnutls-init
19         Memcheck:Leak
20         fun:g_once_impl
21         fun:g_tls_backend_gnutls_init
22 }
23
24 {
25         p11-tokens-init
26         Memcheck:Leak
27         fun:calloc
28         ...
29         fun:create_tokens_inlock
30         fun:initialize_module_inlock_reentrant
31 }
32
33 {
34         gobject-init-malloc
35         Memcheck:Leak
36         fun:malloc
37         ...
38         fun:gobject_init_ctor
39 }
40
41 {
42         gobject-init-realloc
43         Memcheck:Leak
44         fun:realloc
45         ...
46         fun:gobject_init_ctor
47 }
48
49 {
50         gobject-init-calloc
51         Memcheck:Leak
52         fun:calloc
53         ...
54         fun:gobject_init_ctor
55 }
56
57 {
58         g-type-register-dynamic
59         Memcheck:Leak
60         fun:malloc
61         ...
62         fun:g_type_register_dynamic
63 }
64
65 {
66         g-type-register-static
67         Memcheck:Leak
68         fun:malloc
69         ...
70         fun:g_type_register_static
71 }
72
73 {
74         g-type-register-static-realloc
75         Memcheck:Leak
76         fun:realloc
77         ...
78         fun:g_type_register_static
79 }
80
81 {
82         g-type-register-static-calloc
83         Memcheck:Leak
84         fun:calloc
85         ...
86         fun:g_type_register_static
87 }
88
89 {
90         g-type-add-interface-dynamic
91         Memcheck:Leak
92         fun:malloc
93         ...
94         fun:g_type_add_interface_dynamic
95 }
96
97 {
98         g-type-add-interface-static
99         Memcheck:Leak
100         fun:malloc
101         ...
102         fun:g_type_add_interface_static
103 }
104
105 {
106         g-test-rand-init
107         Memcheck:Leak
108         fun:calloc
109         ...
110         fun:g_rand_new_with_seed_array
111         fun:test_run_seed
112         ...
113         fun:g_test_run
114 }
115
116 {
117         g-test-rand-init2
118         Memcheck:Leak
119         fun:calloc
120         ...
121         fun:g_rand_new_with_seed_array
122         ...
123         fun:get_global_random
124         ...
125         fun:g_test_init
126 }
127
128 {
129         g-quark-table-new
130         Memcheck:Leak
131         fun:g_hash_table_new
132         ...
133         fun:quark_new
134 }
135
136 {
137         g-quark-table-resize
138         Memcheck:Leak
139         fun:g_hash_table_resize
140         ...
141         fun:quark_new
142 }
143
144 {
145         g-type-interface-init
146         Memcheck:Leak
147         fun:malloc
148         ...
149         fun:type_iface_vtable_base_init_Wm
150 }
151
152 {
153         g-type-class-init
154         Memcheck:Leak
155         fun:calloc
156         ...
157         fun:type_class_init_Wm
158 }
159
160 {
161         g-io-module-default-singleton-malloc
162         Memcheck:Leak
163         fun:malloc
164         ...
165         fun:g_type_create_instance
166         ...
167         fun:_g_io_module_get_default
168 }
169
170 {
171         g-io-module-default-singleton-module
172         Memcheck:Leak
173         fun:calloc
174         ...
175         fun:g_module_open
176         ...
177         fun:_g_io_module_get_default
178 }
179
180 {
181         g-get-language-names
182         Memcheck:Leak
183         fun:malloc
184         ...
185         fun:g_get_language_names
186 }
187
188 {
189         g-static-mutex
190         Memcheck:Leak
191         fun:malloc
192         ...
193         fun:g_static_mutex_get_mutex_impl
194 }
195
196 {
197         g-system-thread-init
198         Memcheck:Leak
199         fun:calloc
200         ...
201         fun:g_system_thread_new
202 }
203
204 {
205         g-io-module-default-proxy-resolver-gnome
206         Memcheck:Leak
207         fun:calloc
208         ...
209         fun:g_proxy_resolver_gnome_init
210         ...
211         fun:_g_io_module_get_default
212 }
213
214 {
215         g-private-get
216         drd:ConflictingAccess
217         fun:g_private_get
218 }
219 {
220         g-private-get-helgrind
221         Helgrind:Race
222         fun:g_private_get
223 }
224
225
226 {
227         g-private-set
228         drd:ConflictingAccess
229         fun:g_private_set
230 }
231 {
232         g-private-set-helgrind
233         Helgrind:Race
234         fun:g_private_set
235 }
236
237 {
238         g-type-construct-free
239         drd:ConflictingAccess
240         fun:g_type_free_instance
241 }
242 {
243         g-type-construct-free-helgrind
244         Helgrind:Race
245         fun:g_type_free_instance
246 }
247
248 {
249         g-variant-unref
250         drd:ConflictingAccess
251         fun:g_variant_unref
252 }
253 {
254         g-variant-unref-helgrind
255         Helgrind:Race
256         fun:g_variant_unref
257 }
258
259 # TODO: haven't checked these entirely rigorously
260 {
261         g-unix-signals-main
262         drd:ConflictingAccess
263         fun:_g_main_create_unix_signal_watch
264 }
265 {
266         g-unix-signals-dispatch
267         drd:ConflictingAccess
268         ...
269         fun:dispatch_unix_signals*
270 }
271 {
272         g-unix-signals-dispatch-helgrind
273         Helgrind:Race
274         ...
275         fun:dispatch_unix_signals*
276 }
277 {
278         g-unix-signals-other
279         drd:ConflictingAccess
280         fun:g_unix_signal_watch*
281 }
282 {
283         g-unix-signals-other-helgrind
284         Helgrind:Race
285         fun:g_unix_signal_watch*
286 }
287 {
288         g-unix-signals-handler
289         drd:ConflictingAccess
290         fun:g_unix_signal_handler*
291 }
292 {
293         g-unix-signals-handler-helgrind
294         Helgrind:Race
295         fun:g_unix_signal_handler*
296 }
297 {
298         g-unix-signals-worker
299         drd:ConflictingAccess
300         fun:glib_worker_main
301 }
302 {
303         g-unix-signals-worker-helgrind
304         Helgrind:Race
305         fun:glib_worker_main
306 }
307
308 # TODO: haven't checked this thoroughly either
309 {
310         g-wakeup-acknowledge
311         drd:ConflictingAccess
312         fun:read
313         fun:g_wakeup_acknowledge
314 }
315
316 # TODO: or these
317 {
318         g-type-fundamental
319         drd:ConflictingAccess
320         fun:g_type_fundamental
321 }
322 {
323         g-type-fundamental-helgrind
324         Helgrind:Race
325         fun:g_type_fundamental
326 }
327 {
328         g-type-class-peek-static
329         drd:ConflictingAccess
330         fun:g_type_class_peek_static
331 }
332 {
333         g-type-class-peek-static-helgrind
334         Helgrind:Race
335         fun:g_type_class_peek_static
336 }
337 {
338         g-type-is-a
339         drd:ConflictingAccess
340         ...
341         fun:g_type_is_a
342 }
343 {
344         g-type-is-a-helgrind
345         Helgrind:Race
346         ...
347         fun:g_type_is_a
348 }
349
350 # TODO: ????
351 {
352         g-inet-address-get-type
353         drd:ConflictingAccess
354         fun:g_inet_address_get_type
355 }
356 {
357         g-inet-address-get-type-helgrind
358         Helgrind:Race
359         fun:g_inet_address_get_type
360 }
361 {
362         nice-get-type-helgrind
363         Helgrind:Race
364         fun:nice_*_get_type
365 }
366
367 # From: https://github.com/fredericgermain/valgrind/blob/master/glibc-2.X-drd.supp
368 {
369         drd-libc-stdio
370         drd:ConflictingAccess
371         obj:*/lib*/libc-*
372 }
373 {
374         drd-libc-recv
375         drd:ConflictingAccess
376         fun:recv
377 }
378 {
379         drd-libc-send
380         drd:ConflictingAccess
381         fun:send
382 }
383
384 # GSources do an opportunistic ref count check
385 {
386         g-source-set-ready-time
387         drd:ConflictingAccess
388         fun:g_source_set_ready_time
389 }
390 {
391         g-source-set-ready-time-helgrind
392         Helgrind:Race
393         fun:g_source_set_ready_time
394 }
395
396 # TODO: Check this
397 {
398         g-source-iter-next
399         Helgrind:Race
400         fun:g_source_iter_next
401         fun:g_main_context_*
402         fun:g_main_context_iterate
403 }
404
405 {
406         g-object-instance-private
407         drd:ConflictingAccess
408         fun:*_get_instance_private
409 }
410 {
411         g-object-instance-private-helgrind
412         Helgrind:Race
413         fun:*_get_instance_private
414 }
415
416 # GLib legitimately calls pthread_cond_signal without a mutex held
417 {
418         g-task-thread-complete
419         drd:CondErr
420         ...
421         fun:g_cond_signal
422         fun:g_task_thread_complete
423 }
424 {
425         g-task-thread-complete
426         Helgrind:Misc
427         ...
428         fun:g_cond_signal
429         fun:g_task_thread_complete
430 }
431
432 # False positive
433 {
434         nice-output-stream-cond
435         Helgrind:Misc
436         ...
437         fun:g_cond_clear
438         fun:write_data_unref
439 }
440
441 # False positive, but I can't explain how (FIXME)
442 {
443         g-task-cond
444         Helgrind:Misc
445         ...
446         fun:g_cond_clear
447         fun:g_task_finalize
448 }
449
450 # TODO FIXME: This is definitely a race.
451 # https://bugzilla.gnome.org/show_bug.cgi?id=735754
452 {
453         g-tls-base-stream-close
454         Helgrind:Race
455         ...
456         fun:g_*_stream_close
457         fun:streams_removed_cb
458 }
459 {
460         g-tls-base-stream-close2
461         Helgrind:Race
462         ...
463         fun:g_*_stream_close
464         fun:g_tls_connection_gnutls_close
465 }
466
467 # Real race, but is_cancelled() is an opportunistic function anyway
468 {
469         g-cancellable-is-cancelled
470         Helgrind:Race
471         fun:g_cancellable_is_cancelled
472 }
473
474 # False positive
475 {
476         g-main-context-cond
477         Helgrind:Misc
478         ...
479         fun:g_cond_clear
480         fun:g_main_context_unref
481 }
482
483 # False positives
484 {
485         g-source-unlocked
486         Helgrind:Race
487         fun:g_source_*_unlocked
488 }
489 {
490         g-source-internal
491         Helgrind:Race
492         fun:g_source_*_internal
493 }
494
495 # FIXME: Probably actually a race
496 {
497         test-io-stream-common-termination
498         Helgrind:Race
499         fun:check_for_termination
500 }
501 {
502         test-io-stream-common-wait
503         Helgrind:Race
504         fun:wait_for_start
505 }
506 {
507         test-io-stream-common-main
508         Helgrind:Race
509         fun:main_thread_cb
510 }
511 {
512         test-io-stream-common-read
513         Helgrind:Race
514         fun:read_thread_cb
515 }
516 {
517         test-io-stream-common-write
518         Helgrind:Race
519         fun:write_thread_cb
520 }
521
522 # False positive
523 {
524         g_object_real_dispose
525         Helgrind:Race
526         fun:g_object_real_dispose
527 }
528
529 # False positive
530 {
531         g_object_new_valist
532         Helgrind:Race
533         ...
534         fun:g_object_new_valist
535 }
536
537
538 # GStreamer leaks, we know
539 {
540         gst-check-init
541         Memcheck:Leak
542         ...
543         fun:gst_check_init
544 }
545
546
547 {
548         g-quark-init
549         Memcheck:Leak
550         ...
551         fun:g_quark_init
552 }
553
554 # For Glib in RHEL 7
555 {
556         g_type_register_fundamental-rhel7
557         Memcheck:Leak
558         ...
559         fun:g_type_register_fundamental
560 }
561 {
562         dl-init-rhel7
563         Memcheck:Leak
564         ...
565         fun:_dl_init
566 }
567 {
568         g-type-class-ref-rhel7
569         Memcheck:Leak
570         ...
571         fun:g_type_class_ref
572 }
573 {
574         invalid-free-in-rhel7
575         Memcheck:Free
576         fun:free
577         fun:__libc_freeres
578 }
579 {
580         g-thread-pool-push-rhel7
581         Memcheck:Leak
582         ...
583         fun:g_thread_pool_push
584 }
585 {
586         exit-shell-rhel7
587         Memcheck:Leak
588         ...
589         fun:exit_shell
590 }
591 {
592         g-bus-rhel7
593         Memcheck:Leak
594         ...
595         fun:g_bus_get_sync
596 }
597
598 # glibc does not deallocate thread-local storage
599
600 {
601    <tls>
602    Memcheck:Leak
603    ...
604    fun:_dl_allocate_tls
605    fun:pthread_create@@*
606 }
607
608 {
609    <tls>
610    Memcheck:Leak
611    ...
612    fun:_dl_allocate_tls
613 }