From 34e771ac00207aafe958eef1e5b424ee8a08a3d9 Mon Sep 17 00:00:00 2001 From: Sverker Eriksson Date: Tue, 25 Sep 2012 16:29:41 +0200 Subject: Add extra valgrind suppression file for halfword emulator --- erts/emulator/valgrind/suppress.halfword | 56 ++++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 erts/emulator/valgrind/suppress.halfword diff --git a/erts/emulator/valgrind/suppress.halfword b/erts/emulator/valgrind/suppress.halfword new file mode 100644 index 0000000000..8fe448d897 --- /dev/null +++ b/erts/emulator/valgrind/suppress.halfword @@ -0,0 +1,56 @@ +# Extra suppressions specific for the halfword emulator. + +# --- Suppress all offheap binaries --- +# Valgrinds leak check does not recognize pointers that are stored +# at unaligned addresses. In halfword emulator we store 64-bit pointers +# to offheap data on 32-bit aligned heaps. +# We solve this by suppressing allocation of all offheap structures +# that are not referenced by other tables (ie binaries). + +{ +Halfword erts_bin_nrml_alloc +Memcheck:Leak +... +fun:erts_bin_nrml_alloc +... +} + +{ +Halfword erts_bin_realloc +Memcheck:Leak +... +fun:erts_bin_realloc +... +} + +{ +Halfword erts_bin_realloc_fnf +Memcheck:Leak +... +fun:erts_bin_realloc_fnf +... +} + +{ +Halfword erts_bin_drv_alloc +Memcheck:Leak +... +fun:erts_bin_drv_alloc +... +} + +{ +Halfword erts_bin_drv_alloc_fnf +Memcheck:Leak +... +fun:erts_bin_drv_alloc_fnf +... +} + +{ +Halfword erts_create_magic_binary +Memcheck:Leak +... +fun:erts_create_magic_binary +... +} -- cgit v1.2.3 From 82b4ab629afa1bb1031a885d02a1bf44878df5dd Mon Sep 17 00:00:00 2001 From: Sverker Eriksson Date: Wed, 17 Oct 2012 16:39:13 +0200 Subject: erts: Expand valgrind suppression for zlib to work even when compiler does aggressive function inlining --- erts/emulator/valgrind/suppress.patched.3.6.0 | 12 ++---------- erts/emulator/valgrind/suppress.standard | 4 ++-- 2 files changed, 4 insertions(+), 12 deletions(-) diff --git a/erts/emulator/valgrind/suppress.patched.3.6.0 b/erts/emulator/valgrind/suppress.patched.3.6.0 index 62ba032520..766ea3b8ab 100644 --- a/erts/emulator/valgrind/suppress.patched.3.6.0 +++ b/erts/emulator/valgrind/suppress.patched.3.6.0 @@ -133,26 +133,18 @@ fun:pthread_create@@GLIBC_2.2.5 { zlib; ok according to zlib developers Memcheck:Cond -fun:longest_match +... fun:deflate_slow fun:deflate } { zlib; ok according to zlib developers Memcheck:Cond -fun:longest_match +... fun:deflate_fast fun:deflate } { -zlib; ok accordnig to zlib (this one popped up with valgrind-3.6.0) -Memcheck:Cond -fun:deflate_slow -fun:deflate -fun:zlib_deflate -fun:zlib_ctl -} -{ No leak; pointer into block Memcheck:Leak fun:malloc diff --git a/erts/emulator/valgrind/suppress.standard b/erts/emulator/valgrind/suppress.standard index 5a129bfd10..2451ca7a8d 100644 --- a/erts/emulator/valgrind/suppress.standard +++ b/erts/emulator/valgrind/suppress.standard @@ -120,14 +120,14 @@ fun:pthread_create@@GLIBC_2.2.5 { zlib; ok according to zlib developers Memcheck:Cond -fun:longest_match +... fun:deflate_slow fun:deflate } { zlib; ok according to zlib developers Memcheck:Cond -fun:longest_match +... fun:deflate_fast fun:deflate } -- cgit v1.2.3 From ef648b3c3bec21bde63220174d50cc5cd8444a35 Mon Sep 17 00:00:00 2001 From: Sverker Eriksson Date: Tue, 23 Oct 2012 16:55:51 +0200 Subject: crypto: Add valgrind suppression for AES_cbc_encrypt Invalid write of size 8 (Address 0x84a63c0 is not stack'd, malloc'd or (recently) free'd) Suspected: AES_cbc_encrypt:??? (-> 0xD7489CF) [/lib/libcrypto.so.0.9.8] --- erts/emulator/valgrind/suppress.patched.3.6.0 | 8 ++++++++ erts/emulator/valgrind/suppress.standard | 8 ++++++++ 2 files changed, 16 insertions(+) diff --git a/erts/emulator/valgrind/suppress.patched.3.6.0 b/erts/emulator/valgrind/suppress.patched.3.6.0 index 766ea3b8ab..b3507bdba7 100644 --- a/erts/emulator/valgrind/suppress.patched.3.6.0 +++ b/erts/emulator/valgrind/suppress.patched.3.6.0 @@ -266,6 +266,14 @@ obj:*/ssleay.* fun:clone } +{ + Harmless assembler bug in openssl + Memcheck:Addr8 + ... + fun:AES_cbc_encrypt + ... +} + { erts_bits_init_state; Why is this needed? Memcheck:Leak diff --git a/erts/emulator/valgrind/suppress.standard b/erts/emulator/valgrind/suppress.standard index 2451ca7a8d..beecf1a7b5 100644 --- a/erts/emulator/valgrind/suppress.standard +++ b/erts/emulator/valgrind/suppress.standard @@ -251,6 +251,14 @@ obj:*/ssleay.* fun:clone } +{ + Harmless assembler bug in openssl + Memcheck:Addr8 + ... + fun:AES_cbc_encrypt + ... +} + { Prebuilt constant terms in os_info_init (PossiblyLost) Memcheck:Leak -- cgit v1.2.3