Address and thread sanitizer fixes (#250)
* Address and thread sanitizer fixes - Fix compilation with clang - Tweak perfetto copy to build tree - Added suppression files to scripts - fix LD_PRELOAD support in omnitrace-causal and omnitrace-sample - use spin_mutex and spin_lock from timemory instead of atomic_mutex and atomic_lock - state uses atomic - fix some memory leaks - tweak testing - mpi tests do not use preload - increase timeout when using sanitizers - add env LD_PRELOAD when using sanitizers * Tweak perfetto build * Update timemory submodule * Update version to 1.8.1 * Update omnitrace-leak.supp * Update timemory submodule - fixed spin_mutex implementation * Remove previously added addr_space->allowTraps(instr_traps) - this appears to cause errors during binary rewrite * causal testing updates - relaxed causal validation on CI systems (to account for hyperthreading decreasing prediction) - improved impact calculation - other general improvements to validate-causal-json.py * Improve fork handling for perfetto - numerous updates changing perfetto:: to ::perfetto:: - added perfetto_fwd.hpp * Updated fork example - user API for validation that stopping/starting perfetto is valid * Misc fixes to perfetto + fork support - tweak regions in fork example - handle disabling tmp files - get rid of stop/start with perfetto before/after fork - fixed sampling support during fork - tweak env of fork test * Fix find_package in build-tree * Fix buildtree export * Fix buildtree export * Restructured ConfigInstall before adding examples * Guard against creating tmp file in sampling when disabled * Fix buildtree package * formatting * exit handlers on child processes - quick exit to avoid perfetto cleanup * Further tweaking of causal tests for reliability - enable PROCESSOR_AFFINITY - decrease to 5 iterations * Further tweaking of causal tests for reliability - disable PROCESSOR_AFFINITY for fast func e2e tests - enabling affinity results in (valid) speedup predictions greater than zero * Fixes to fork handling - use pthread_atfork for redundancy if fork_gotcha fails * cmake formatting * Fix fork init settings + install components - remove dl from PROJECT_BUILD_TARGETS * Testing tweaks - fix mpi-binary-rewrite-run regex when OMNITRACE_VERBOSE set > 1 in env - increase causal e2e iterations to 8 * Fix "Test User API" - test-find-package.sh included dl component * Further tweaks to causal validation - further considerations of variance
This commit is contained in:
کامیت شده توسط
GitHub
والد
9a665b5684
کامیت
846301bcaf
@@ -0,0 +1,17 @@
|
||||
leak:Dyninst::
|
||||
leak:dyninst
|
||||
leak:tbb::
|
||||
leak:boost::
|
||||
leak:libdw
|
||||
leak:libamd_comgr
|
||||
leak:libpfm4
|
||||
leak:libhsa
|
||||
leak:libamdhip64
|
||||
leak:libroctracer64
|
||||
leak:librocprofiler64
|
||||
leak:__cxx_global_var_init
|
||||
leak:tim::timemory_argparse
|
||||
leak:tim::argparse::argument_parser::parse_known_args
|
||||
leak:std::shared_ptr<std::promise<void> >
|
||||
leak:realloc
|
||||
leak:Kokkos::
|
||||
@@ -0,0 +1,31 @@
|
||||
# false positive
|
||||
race:omnitrace::component::pthread_create_gotcha::operator()
|
||||
race:pthread_create
|
||||
race:tim::impl::storage<*>::_data()
|
||||
race:tim::graph<*>::append_child
|
||||
|
||||
# unlock of mutex by wrong thread (rsmi_init -> rsmi_shut_down)
|
||||
called_from_lib:librocm_smi64.so
|
||||
|
||||
# suppress any races originating in Dyninst
|
||||
called_from_lib:libcommon.so
|
||||
called_from_lib:libdynC_API.so
|
||||
called_from_lib:libdynDwarf.so
|
||||
called_from_lib:libdynElf.so
|
||||
called_from_lib:libdyninstAPI.so
|
||||
called_from_lib:libinstructionAPI.so
|
||||
called_from_lib:libparseAPI.so
|
||||
called_from_lib:libpatchAPI.so
|
||||
called_from_lib:libpcontrol.so
|
||||
called_from_lib:libstackwalk.so
|
||||
called_from_lib:libsymtabAPI.so
|
||||
called_from_lib:libtbb.so
|
||||
|
||||
# suppress any races originating in some Dyninst function
|
||||
race_top:Dyninst::
|
||||
race:Dyninst::
|
||||
race:libparseAPI.so
|
||||
race:boost::
|
||||
|
||||
# thread leaks
|
||||
thread:*
|
||||
@@ -122,7 +122,7 @@ set(CMAKE_CXX_STANDARD 17)
|
||||
set(CMAKE_C_STANDARD_REQUIRED ON)
|
||||
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
||||
|
||||
find_package(omnitrace REQUIRED COMPONENTS user dl)
|
||||
find_package(omnitrace REQUIRED COMPONENTS user)
|
||||
find_package(Threads REQUIRED)
|
||||
|
||||
get_target_property(LIBS omnitrace::omnitrace INTERFACE_LINK_LIBRARIES)
|
||||
|
||||
مرجع در شماره جدید
Block a user