+++ This bug was initially created as a clone of Bug #1315841 +++ Without dyninst-debuginfo installed, the API_RT initialization code dies with "could not find necessary internal variable" ... type messages. Let's investigate tweaking the build/package system to preserve API_RT.so debuginfo within that file (unstripped) to make this problem stop. --- Additional comment from William Cohen on 2016-03-09 14:13:55 CET --- Is there a simple reproducer for this? What was the actual output message when it failed? --- Additional comment from Michael Petlan on 2016-03-09 16:33:35 CET --- From IRC: 1) remove dyninst-debuginfo 2) run one of the following: 2a) stap --dyninst -L 'process.function("main@*:*")' -c ./hello 2b) the /tools/dyninst/Sanity/smoke-test testcase 2c) some test from the dyninst-testsuite, for example test4_2 --- Additional comment from William Cohen on 2016-03-09 19:06 CET --- This patch is currently untested. However, it is likely that this will clear up that particular failure to load a variable. The tip off is that there was a similar findVarsByAll("libdyninstAPI_RT_init_localPid", vars) earlier in the same function that did work. Looking for the variable that worked it was found that that libdyninstAPI_RT_init_maxthreads wasn't being exported in dyninstRTEport.h. There might be missing DLLEXPORTs. Will see after testing this patch. --- Additional comment from William Cohen on 2016-03-10 21:01:58 CET --- The patched version for dyninst has been built for f24 and rawhide. Note that there is an issue with libdwarf (rbbz #1316695 - libdwarf not checking whether error is null before attempting to use it for dwarf_srcfiles) that will cause a segfault if the dyninst-debuginfo is installed on the machine.
# rpmquery devtoolset-4-dyninst-debuginfo devtoolset-4-dyninst package devtoolset-4-dyninst-debuginfo is not installed devtoolset-4-dyninst-9.1.0-3.el7.x86_64 Dynamic instrumentation works under DTS without devtoolset-4-dyninst-debuginfo installed. VERIFIED
Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://access.redhat.com/errata/RHEA-2016:1146