diff options
author | Sven Gothel <[email protected]> | 2020-10-08 01:46:24 +0200 |
---|---|---|
committer | Sven Gothel <[email protected]> | 2020-10-08 01:46:24 +0200 |
commit | 819b5123325859758fbc08d79055098c0af7efd8 (patch) | |
tree | 8ac2fb1347e724bf074a627d80cc24b4457742a6 /scripts | |
parent | bd7b73b1e19039f15174300968cc40116d1dea20 (diff) |
helgrind suppressions file: 0 errors (from initial 3716)
Note on completion..
Most reported issues were due to helgrind's lack of analyzing the atomic macros used in C++ atomic<T>.
Most issues related to 'direct_bt::LFRingbuffer::*',
utilizing SC-DRF atomic acquire (read) and release (write)
not detected by helgrind.
This mechanism is well tested, see unit test test_mm_sc_drf (passed).
However, we have fixed around 6 issues - mostly lock order related.
Diffstat (limited to 'scripts')
-rw-r--r-- | scripts/run-dbt_scanner10.sh | 12 | ||||
-rw-r--r-- | scripts/valgrind.supp | 12 |
2 files changed, 21 insertions, 3 deletions
diff --git a/scripts/run-dbt_scanner10.sh b/scripts/run-dbt_scanner10.sh index 8d0de1e1..590f8b4b 100644 --- a/scripts/run-dbt_scanner10.sh +++ b/scripts/run-dbt_scanner10.sh @@ -12,6 +12,14 @@ # ../scripts/run-dbt_scanner10.sh -wait 2>&1 | tee ~/scanner-h01-dbt10.log # +sdir=`dirname $(readlink -f $0)` +rootdir=`dirname $sdir` +bname=`basename $0 .sh` +logfile=$bname.log +rm -f $logfile +valgrindlogfile=$bname-valgrind.log +rm -f $valgrindlogfile + if [ ! -e bin/dbt_scanner00 -o ! -e lib/libdirect_bt.so ] ; then echo run from dist directory exit 1 @@ -27,8 +35,8 @@ echo COMMANDLINE $0 $* echo direct_bt_debug $direct_bt_debug echo direct_bt_verbose $direct_bt_verbose -# VALGRIND="valgrind --leak-check=full --run-cxx-freeres=yes" -# VALGRIND="valgrind --leak-check=yes" +# VALGRIND="valgrind --leak-check=full --show-reachable=yes --error-limit=no --default-suppressions=yes --suppressions=$sdir/valgrind.supp --gen-suppressions=all -s --log-file=$valgrindlogfile" +# VALGRIND="valgrind --tool=helgrind --track-lockorders=yes --ignore-thread-creation=yes --default-suppressions=yes --suppressions=$sdir/valgrind.supp --gen-suppressions=all -s --log-file=$valgrindlogfile" #LD_LIBRARY_PATH=`pwd`/lib strace bin/dbt_scanner10 $* LD_LIBRARY_PATH=`pwd`/lib $VALGRIND bin/dbt_scanner10 $* diff --git a/scripts/valgrind.supp b/scripts/valgrind.supp index 1973e69d..44939f9f 100644 --- a/scripts/valgrind.supp +++ b/scripts/valgrind.supp @@ -6,7 +6,7 @@ # # direct_bt::LFRingbuffer::* utilizes SC-DRF atomic acquire (read) and release (write) -# not detected by helgrind. See uni test test_mm_sc_drf (passed). +# not detected by helgrind. See unit test test_mm_sc_drf (passed). # # ==1175024== ---Thread-Announcement------------------------------------------ # ==1175024== Thread #2 was created @@ -115,6 +115,16 @@ ... obj:*libdirect_bt.so* } +{ + dbt_lfringbuffer_sc_drf_atomic_014 + Helgrind:Race + ... +# fun:*direct_bt*MgmtEvtCmdComplete*getStatus* +# fun:*direct_bt*MgmtEvtCmdStatus*getStatus* + fun:*direct_bt*MgmtEvtCmd*getStatus* + ... + obj:*libdirect_bt.so* +} # # GATTHandler |