Created
January 8, 2018 14:46
-
-
Save gicmo/327dad149fcb386ac7f59e279b8ba322 to your computer and use it in GitHub Desktop.
Bolt valgrind suppression file
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# from https://github.com/pwithnall/walbottle/blob/master/libwalbottle/tests/walbottle.supp | |
# by Philip Withnall <[email protected]> | |
{ | |
gnutls-init-calloc | |
Memcheck:Leak | |
fun:calloc | |
... | |
fun:gtls_gnutls_init | |
} | |
{ | |
gnutls-init-realloc | |
Memcheck:Leak | |
fun:realloc | |
... | |
fun:gtls_gnutls_init | |
} | |
{ | |
g-tls-backend-gnutls-init | |
Memcheck:Leak | |
fun:g_once_impl | |
fun:g_tls_backend_gnutls_init | |
} | |
{ | |
p11-tokens-init | |
Memcheck:Leak | |
fun:calloc | |
... | |
fun:create_tokens_inlock | |
fun:initialize_module_inlock_reentrant | |
} | |
{ | |
gobject-init-malloc | |
Memcheck:Leak | |
fun:malloc | |
... | |
fun:gobject_init_ctor | |
} | |
{ | |
gobject-init-realloc | |
Memcheck:Leak | |
fun:realloc | |
... | |
fun:gobject_init_ctor | |
} | |
{ | |
gobject-init-calloc | |
Memcheck:Leak | |
fun:calloc | |
... | |
fun:gobject_init_ctor | |
} | |
{ | |
g-type-register-dynamic | |
Memcheck:Leak | |
fun:malloc | |
... | |
fun:g_type_register_dynamic | |
} | |
{ | |
g-type-register-static | |
Memcheck:Leak | |
fun:malloc | |
... | |
fun:g_type_register_static | |
} | |
{ | |
g-type-register-static-realloc | |
Memcheck:Leak | |
fun:realloc | |
... | |
fun:g_type_register_static | |
} | |
{ | |
g-type-register-static-calloc | |
Memcheck:Leak | |
fun:calloc | |
... | |
fun:g_type_register_static | |
} | |
{ | |
g-type-add-interface-dynamic | |
Memcheck:Leak | |
fun:malloc | |
... | |
fun:g_type_add_interface_dynamic | |
} | |
{ | |
g-type-add-interface-static | |
Memcheck:Leak | |
fun:malloc | |
... | |
fun:g_type_add_interface_static | |
} | |
{ | |
g-test-rand-init | |
Memcheck:Leak | |
fun:calloc | |
... | |
fun:g_rand_new_with_seed_array | |
fun:test_run_seed | |
... | |
fun:g_test_run | |
} | |
{ | |
g-test-rand-init2 | |
Memcheck:Leak | |
fun:calloc | |
... | |
fun:g_rand_new_with_seed_array | |
... | |
fun:get_global_random | |
... | |
fun:g_test_init | |
} | |
{ | |
g-quark-table-new | |
Memcheck:Leak | |
fun:g_hash_table_new | |
... | |
fun:quark_new | |
} | |
{ | |
g-quark-table-resize | |
Memcheck:Leak | |
fun:g_hash_table_resize | |
... | |
fun:quark_new | |
} | |
{ | |
g-type-interface-init | |
Memcheck:Leak | |
fun:malloc | |
... | |
fun:type_iface_vtable_base_init_Wm | |
} | |
{ | |
g-type-class-init | |
Memcheck:Leak | |
fun:calloc | |
... | |
fun:type_class_init_Wm | |
} | |
{ | |
g-io-module-default-singleton-malloc | |
Memcheck:Leak | |
fun:malloc | |
... | |
fun:g_type_create_instance | |
... | |
fun:_g_io_module_get_default | |
} | |
{ | |
g-io-module-default-singleton-module | |
Memcheck:Leak | |
fun:calloc | |
... | |
fun:g_module_open | |
... | |
fun:_g_io_module_get_default | |
} | |
{ | |
g-get-language-names | |
Memcheck:Leak | |
fun:malloc | |
... | |
fun:g_get_language_names | |
} | |
{ | |
g-static-mutex | |
Memcheck:Leak | |
fun:malloc | |
... | |
fun:g_static_mutex_get_mutex_impl | |
} | |
{ | |
g-system-thread-init | |
Memcheck:Leak | |
fun:calloc | |
... | |
fun:g_system_thread_new | |
} | |
{ | |
g-io-module-default-proxy-resolver-gnome | |
Memcheck:Leak | |
fun:calloc | |
... | |
fun:g_proxy_resolver_gnome_init | |
... | |
fun:_g_io_module_get_default | |
} | |
{ | |
g-private-get | |
drd:ConflictingAccess | |
fun:g_private_get | |
} | |
{ | |
g-private-get-helgrind | |
Helgrind:Race | |
fun:g_private_get | |
} | |
{ | |
g-private-set | |
drd:ConflictingAccess | |
fun:g_private_set | |
} | |
{ | |
g-private-set-helgrind | |
Helgrind:Race | |
fun:g_private_set | |
} | |
{ | |
g-type-construct-free | |
drd:ConflictingAccess | |
fun:g_type_free_instance | |
} | |
{ | |
g-type-construct-free-helgrind | |
Helgrind:Race | |
fun:g_type_free_instance | |
} | |
{ | |
g-variant-unref | |
drd:ConflictingAccess | |
fun:g_variant_unref | |
} | |
{ | |
g-variant-unref-helgrind | |
Helgrind:Race | |
fun:g_variant_unref | |
} | |
# TODO: haven't checked these entirely rigorously | |
{ | |
g-unix-signals-main | |
drd:ConflictingAccess | |
fun:_g_main_create_unix_signal_watch | |
} | |
{ | |
g-unix-signals-dispatch | |
drd:ConflictingAccess | |
... | |
fun:dispatch_unix_signals* | |
} | |
{ | |
g-unix-signals-dispatch-helgrind | |
Helgrind:Race | |
... | |
fun:dispatch_unix_signals* | |
} | |
{ | |
g-unix-signals-other | |
drd:ConflictingAccess | |
fun:g_unix_signal_watch* | |
} | |
{ | |
g-unix-signals-other-helgrind | |
Helgrind:Race | |
fun:g_unix_signal_watch* | |
} | |
{ | |
g-unix-signals-handler | |
drd:ConflictingAccess | |
fun:g_unix_signal_handler* | |
} | |
{ | |
g-unix-signals-handler-helgrind | |
Helgrind:Race | |
fun:g_unix_signal_handler* | |
} | |
{ | |
g-unix-signals-worker | |
drd:ConflictingAccess | |
fun:glib_worker_main | |
} | |
{ | |
g-unix-signals-worker-helgrind | |
Helgrind:Race | |
fun:glib_worker_main | |
} | |
# TODO: haven't checked this thoroughly either | |
{ | |
g-wakeup-acknowledge | |
drd:ConflictingAccess | |
fun:read | |
fun:g_wakeup_acknowledge | |
} | |
# TODO: or these | |
{ | |
g-type-fundamental | |
drd:ConflictingAccess | |
fun:g_type_fundamental | |
} | |
{ | |
g-type-fundamental-helgrind | |
Helgrind:Race | |
fun:g_type_fundamental | |
} | |
{ | |
g-type-class-peek-static | |
drd:ConflictingAccess | |
fun:g_type_class_peek_static | |
} | |
{ | |
g-type-class-peek-static-helgrind | |
Helgrind:Race | |
fun:g_type_class_peek_static | |
} | |
{ | |
g-type-is-a | |
drd:ConflictingAccess | |
... | |
fun:g_type_is_a | |
} | |
{ | |
g-type-is-a-helgrind | |
Helgrind:Race | |
... | |
fun:g_type_is_a | |
} | |
# TODO: ???? | |
{ | |
g-inet-address-get-type | |
drd:ConflictingAccess | |
fun:g_inet_address_get_type | |
} | |
{ | |
g-inet-address-get-type-helgrind | |
Helgrind:Race | |
fun:g_inet_address_get_type | |
} | |
# From: https://github.com/fredericgermain/valgrind/blob/master/glibc-2.X-drd.supp | |
{ | |
drd-libc-stdio | |
drd:ConflictingAccess | |
obj:*/lib*/libc-* | |
} | |
{ | |
drd-libc-recv | |
drd:ConflictingAccess | |
fun:recv | |
} | |
{ | |
drd-libc-send | |
drd:ConflictingAccess | |
fun:send | |
} | |
# GSources do an opportunistic ref count check | |
{ | |
g-source-set-ready-time | |
drd:ConflictingAccess | |
fun:g_source_set_ready_time | |
} | |
{ | |
g-source-set-ready-time-helgrind | |
Helgrind:Race | |
fun:g_source_set_ready_time | |
} | |
# TODO: Check this | |
{ | |
g-source-iter-next | |
Helgrind:Race | |
fun:g_source_iter_next | |
fun:g_main_context_* | |
fun:g_main_context_iterate | |
} | |
{ | |
g-object-instance-private | |
drd:ConflictingAccess | |
fun:*_get_instance_private | |
} | |
{ | |
g-object-instance-private-helgrind | |
Helgrind:Race | |
fun:*_get_instance_private | |
} | |
# GLib legitimately calls pthread_cond_signal without a mutex held | |
{ | |
g-task-thread-complete | |
drd:CondErr | |
... | |
fun:g_cond_signal | |
fun:g_task_thread_complete | |
} | |
{ | |
g-task-thread-complete | |
Helgrind:Misc | |
... | |
fun:g_cond_signal | |
fun:g_task_thread_complete | |
} | |
# False positive, but I can't explain how (FIXME) | |
{ | |
g-task-cond | |
Helgrind:Misc | |
... | |
fun:g_cond_clear | |
fun:g_task_finalize | |
} | |
# TODO FIXME: This is definitely a race. | |
# https://bugzilla.gnome.org/show_bug.cgi?id=735754 | |
{ | |
g-tls-base-stream-close | |
Helgrind:Race | |
... | |
fun:g_*_stream_close | |
fun:streams_removed_cb | |
} | |
{ | |
g-tls-base-stream-close2 | |
Helgrind:Race | |
... | |
fun:g_*_stream_close | |
fun:g_tls_connection_gnutls_close | |
} | |
# Real race, but is_cancelled() is an opportunistic function anyway | |
{ | |
g-cancellable-is-cancelled | |
Helgrind:Race | |
fun:g_cancellable_is_cancelled | |
} | |
# False positive | |
{ | |
g-main-context-cond | |
Helgrind:Misc | |
... | |
fun:g_cond_clear | |
fun:g_main_context_unref | |
} | |
# False positives | |
{ | |
g-source-unlocked | |
Helgrind:Race | |
fun:g_source_*_unlocked | |
} | |
{ | |
g-source-internal | |
Helgrind:Race | |
fun:g_source_*_internal | |
} | |
# False positive | |
{ | |
g_object_real_dispose | |
Helgrind:Race | |
fun:g_object_real_dispose | |
} | |
# False positive | |
{ | |
g_object_new_valist | |
Helgrind:Race | |
... | |
fun:g_object_new_valist | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment