summaryrefslogtreecommitdiffstats
path: root/scripts
diff options
context:
space:
mode:
authorSven Gothel <[email protected]>2020-10-08 01:46:24 +0200
committerSven Gothel <[email protected]>2020-10-08 01:46:24 +0200
commit819b5123325859758fbc08d79055098c0af7efd8 (patch)
tree8ac2fb1347e724bf074a627d80cc24b4457742a6 /scripts
parentbd7b73b1e19039f15174300968cc40116d1dea20 (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.sh12
-rw-r--r--scripts/valgrind.supp12
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