omnitrace
omnitrace copied to clipboard
Segfault after instrumentation phase
Attached code segfaults
Command is
omnitrace \
--verbose \
-E 'cqmc::engine::LMYEngine<double>::get_param' \
-E 'qmcplusplus::SlaterDetBuilder::createMSDFast' \
-E 'qmcplusplus::SoaCartesianTensor<double>::SoaCartesianTensor' \
-E 'qmcplusplus::SpaceGrid::initialize_rectilinear' \
-o qmcpack.inst -- ./bin/qmcpack
Backtrace is
#0 0x00007ffff7e89080 in Dyninst::Relocation::Instrumenter::handleCondDirExits(Dyninst::Relocation::RelocBlock*, Dyninst::Relocation::RelocGraph*, instPoint*) ()
from /mnt/nvme/software/profilers/omnitrace/omnitrace-1.5.0-ubuntu-20.04-ROCm-50100-PAPI-OMPT-Python3/bin/../lib/omnitrace/libdyninstAPI.so.11.0
#1 0x00007ffff7e89ed5 in Dyninst::Relocation::Instrumenter::funcExitInstrumentation(Dyninst::Relocation::RelocBlock*, Dyninst::Relocation::RelocGraph*) ()
from /mnt/nvme/software/profilers/omnitrace/omnitrace-1.5.0-ubuntu-20.04-ROCm-50100-PAPI-OMPT-Python3/bin/../lib/omnitrace/libdyninstAPI.so.11.0
#2 0x00007ffff7e8a0a3 in Dyninst::Relocation::Instrumenter::process(Dyninst::Relocation::RelocBlock*, Dyninst::Relocation::RelocGraph*) ()
from /mnt/nvme/software/profilers/omnitrace/omnitrace-1.5.0-ubuntu-20.04-ROCm-50100-PAPI-OMPT-Python3/bin/../lib/omnitrace/libdyninstAPI.so.11.0
#3 0x00007ffff7e870e8 in Dyninst::Relocation::Transformer::processGraph(Dyninst::Relocation::RelocGraph*) ()
from /mnt/nvme/software/profilers/omnitrace/omnitrace-1.5.0-ubuntu-20.04-ROCm-50100-PAPI-OMPT-Python3/bin/../lib/omnitrace/libdyninstAPI.so.11.0
#4 0x00007ffff7e73065 in Dyninst::Relocation::CodeMover::transform(Dyninst::Relocation::Transformer&) ()
from /mnt/nvme/software/profilers/omnitrace/omnitrace-1.5.0-ubuntu-20.04-ROCm-50100-PAPI-OMPT-Python3/bin/../lib/omnitrace/libdyninstAPI.so.11.0
#5 0x00007ffff7dff98d in AddressSpace::transform(boost::shared_ptr<Dyninst::Relocation::CodeMover>) ()
from /mnt/nvme/software/profilers/omnitrace/omnitrace-1.5.0-ubuntu-20.04-ROCm-50100-PAPI-OMPT-Python3/bin/../lib/omnitrace/libdyninstAPI.so.11.0
#6 0x00007ffff7dffe4b in AddressSpace::relocateInt(std::_Rb_tree_const_iterator<func_instance*>, std::_Rb_tree_const_iterator<func_instance*>, unsigned long) ()
from /mnt/nvme/software/profilers/omnitrace/omnitrace-1.5.0-ubuntu-20.04-ROCm-50100-PAPI-OMPT-Python3/bin/../lib/omnitrace/libdyninstAPI.so.11.0
#7 0x00007ffff7e01050 in AddressSpace::relocate() ()
from /mnt/nvme/software/profilers/omnitrace/omnitrace-1.5.0-ubuntu-20.04-ROCm-50100-PAPI-OMPT-Python3/bin/../lib/omnitrace/libdyninstAPI.so.11.0
#8 0x00007ffff7ea06c7 in Dyninst::PatchAPI::DynInstrumenter::run() ()
from /mnt/nvme/software/profilers/omnitrace/omnitrace-1.5.0-ubuntu-20.04-ROCm-50100-PAPI-OMPT-Python3/bin/../lib/omnitrace/libdyninstAPI.so.11.0
#9 0x00007ffff7321e6f in Dyninst::PatchAPI::Patcher::run() ()
from /mnt/nvme/software/profilers/omnitrace/omnitrace-1.5.0-ubuntu-20.04-ROCm-50100-PAPI-OMPT-Python3/bin/../lib/omnitrace/libpatchAPI.so.11.0
#10 0x00007ffff7321654 in Dyninst::PatchAPI::Command::commit() ()
from /mnt/nvme/software/profilers/omnitrace/omnitrace-1.5.0-ubuntu-20.04-ROCm-50100-PAPI-OMPT-Python3/bin/../lib/omnitrace/libpatchAPI.so.11.0
#11 0x00007ffff7df8af1 in AddressSpace::patch(AddressSpace*) ()
from /mnt/nvme/software/profilers/omnitrace/omnitrace-1.5.0-ubuntu-20.04-ROCm-50100-PAPI-OMPT-Python3/bin/../lib/omnitrace/libdyninstAPI.so.11.0
#12 0x00007ffff7dcad3f in BPatch_binaryEdit::writeFile(char const*) ()
from /mnt/nvme/software/profilers/omnitrace/omnitrace-1.5.0-ubuntu-20.04-ROCm-50100-PAPI-OMPT-Python3/bin/../lib/omnitrace/libdyninstAPI.so.11.0
#13 0x000055555558906e in ?? ()
#14 0x00007ffff75c3083 in __libc_start_main (main=0x55555557bb90, argc=14, argv=0x7fffffffc728, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>,
stack_end=0x7fffffffc718) at ../csu/libc-start.c:308
#15 0x000055555558c7fe in ?? ()
Output from the run: out_omnitrace.txt.gz
Executable: (compiled with LLVM 15, uses OMP offload) qmcpack.tar.gz
(This file isn't from crusher, but the same problem occurs there with the same backtrace)
Fixed by #164
This should have been fixed by the Dyninst updates in #164. I'm going to close this issue but if you get a chance to verify it, please let me know.
The segfault during instrumentation no longer occurs with omnitrace 1.7.0.