Skip to content

Instantly share code, notes, and snippets.

@jonatack
Last active December 3, 2019 23:28
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jonatack/d042208cff84f9cda11fdb64dc730fd2 to your computer and use it in GitHub Desktop.
Save jonatack/d042208cff84f9cda11fdb64dc730fd2 to your computer and use it in GitHub Desktop.
contrib/valgrind.supp diff to make PR17633 work
This can surely be much improved... I started with the valgrind ci PR diff, and
just copied the valgrind suggestions into the file, naming them W1-W6.
diff --git a/contrib/valgrind.supp b/contrib/valgrind.supp
index 3c485c1df6..308c9f423d 100644
--- a/contrib/valgrind.supp
+++ b/contrib/valgrind.supp
@@ -30,8 +30,6 @@
Memcheck:Cond
obj:*/libdb_cxx-*.so
fun:__log_put
- obj:*/libdb_cxx-*.so
- fun:__log_put_record
}
{
Suppress libdb warning
@@ -41,6 +39,121 @@
fun:__os_io
obj:*/libdb_cxx-*.so
}
+{
+ Suppress libdb warning
+ Memcheck:Leak
+ fun:malloc
+ ...
+ obj:*/libdb_cxx-*.so
+}
+{
+ W1
+ Memcheck:Cond
+ fun:__log_putr.isra.2
+ fun:__log_put
+ fun:__crdel_metasub_log
+ fun:__db_log_page
+ fun:__bam_new_subdb
+ fun:__db_init_subdb
+ fun:__fop_subdb_setup
+ fun:__db_open
+ fun:__db_open_pp
+ fun:_ZN2Db4openEP5DbTxnPKcS3_6DBTYPEji
+ fun:_ZN13BerkeleyBatchC1ER16BerkeleyDatabasePKcb
+ fun:_ZN11WalletBatchC1ER16BerkeleyDatabasePKcb
+}
+{
+ W2
+ Memcheck:Param
+ pwrite64(buf)
+ fun:__libc_pwrite64
+ fun:pwrite
+ fun:__os_io
+ fun:__log_write
+ fun:__log_flush_int
+ fun:__log_flush
+ fun:__memp_sync_int
+ fun:__db_sync
+ fun:__db_refresh
+ fun:__db_close
+ fun:__fop_subdb_setup
+ fun:__db_open
+ fun:__db_open_pp
+}
+{
+ W3
+ Memcheck:Param
+ pwrite64(buf)
+ fun:__libc_pwrite64
+ fun:pwrite
+ fun:__os_io
+ fun:__memp_pgwrite.part.0
+ fun:__memp_bhwrite
+ fun:__memp_sync_int
+ fun:__db_sync
+ fun:__db_refresh
+ fun:__db_close
+ fun:__fop_subdb_setup
+ fun:__db_open
+ fun:__db_open_pp
+ fun:_ZN2Db4openEP5DbTxnPKcS3_6DBTYPEji
+}
+{
+ W4
+ Memcheck:Cond
+ fun:__log_putr.isra.2
+ fun:__log_put
+ fun:__bam_split_log
+ fun:__bam_split
+ fun:__bamc_put
+ fun:__dbc_iput
+ fun:__db_put
+ fun:__db_put_pp
+ fun:_ZN2Db3putEP5DbTxnP3DbtS3_j
+ fun:_ZN13BerkeleyBatch5WriteISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE7uint256E9CWalletTxEEbRKT_RKT0_b
+ fun:_ZN11WalletBatch7WriteICISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE7uint256E9CWalletTxEEbRKT_RKT0_b
+ fun:_ZN11WalletBatch7WriteTxERK9CWalletTx
+}
+{
+ W5
+ Memcheck:Param
+ pwrite64(buf)
+ fun:__libc_pwrite64
+ fun:pwrite
+ fun:__os_io
+ fun:__log_write
+ fun:__log_put
+ fun:__txn_regop_log
+ fun:__txn_commit
+ fun:__db_put_pp
+ fun:_ZN2Db3putEP5DbTxnP3DbtS3_j
+ fun:_ZN13BerkeleyBatch5WriteISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE7uint256E9CWalletTxEEbRKT_RKT0_b
+ fun:_ZN11WalletBatch7WriteICISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE7uint256E9CWalletTxEEbRKT_RKT0_b
+ fun:_ZN11WalletBatch7WriteTxERK9CWalletTx
+ fun:_ZN7CWallet11AddToWalletERK9CWalletTxb
+}
+{
+ W6
+ Memcheck:Cond
+ fun:__log_putr.isra.2
+ fun:__log_put
+ fun:__db_addrem_log
+ fun:__db_ditem
+ fun:__bamc_physdel
+ fun:__bamc_close
+ fun:__dbc_close
+ fun:__db_del
+ fun:__db_del_pp
+ fun:_ZN2Db3delEP5DbTxnP3Dbtj
+ fun:_ZN13BerkeleyBatch5EraseISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEElEEEbRKT_
+ fun:_ZN11WalletBatch7EraseICISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEElEEEbRKT_
+}
+{
+ Suppress leaks on init
+ Memcheck:Leak
+ ...
+ fun:_Z11AppInitMainR11NodeContext
+}
{
Suppress leveldb warning (leveldb::InitModule()) - https://github.com/google/leveldb/issues/113
Memcheck:Leak
@@ -62,11 +175,28 @@
fun:__wcsnlen_sse4_1
fun:wcsnrtombs
}
+{
+ Suppress wcsnrtombs warning (remove after removing boost::fs)
+ Memcheck:Cond
+ ...
+ fun:_ZN5boost10filesystem6detail11unique_pathERKNS0_4pathEPNS_6system10error_codeE
+ fun:unique_path
+}
+{
+ Suppress boost warning
+ Memcheck:Leak
+ fun:_Znwm
+ ...
+ fun:_ZN5boost9unit_test9framework5state17execute_test_treeEmjPKNS2_23random_generator_helperE
+ fun:_ZN5boost9unit_test9framework3runEmb
+ fun:_ZN5boost9unit_test14unit_test_mainEPFbvEiPPc
+ fun:main
+}
{
Suppress boost::filesystem warning (fixed in boost 1.70: https://github.com/boostorg/filesystem/commit/bbe9d1771e5d679b3f10c42a58fc81f7e8c024a9)
Memcheck:Cond
fun:_ZN5boost10filesystem6detail28directory_iterator_incrementERNS0_18directory_iteratorEPNS_6system10error_codeE
- fun:_ZN5boost10filesystem6detail28directory_iterator_constructERNS0_18directory_iteratorERKNS0_4pathEPNS_6system10error_codeE
+ ...
obj:*/libboost_filesystem.so.*
}
{
@@ -74,6 +204,7 @@
Memcheck:Leak
match-leak-kinds: reachable
fun:_Znwm
+ ...
fun:_ZN5boost10filesystem8absoluteERKNS0_4pathES3_
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment