Bug 1316956 - preserve debuginfo in libdyninstAPI_RT.so
preserve debuginfo in libdyninstAPI_RT.so
Product: Red Hat Developer Toolset
Classification: Red Hat
Component: dyninst (Show other bugs)
DTS 4.1 RHEL 7
Unspecified Linux
unspecified Severity medium
: beta1
: 4.1
Assigned To: Josh Stone
Martin Cermak
Depends On: 1315841
  Show dependency treegraph
Reported: 2016-03-11 09:20 EST by Martin Cermak
Modified: 2016-05-31 04:42 EDT (History)
8 users (show)

See Also:
Fixed In Version: devtoolset-4.1-dyninst-9.10-3
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: 1315841
Last Closed: 2016-05-31 04:42:47 EDT
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)

  None (edit)
Description Martin Cermak 2016-03-11 09:20:30 EST
+++ 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.
Comment 2 Michael Petlan 2016-05-13 08:35:58 EDT
# rpmquery devtoolset-4-dyninst-debuginfo devtoolset-4-dyninst
package devtoolset-4-dyninst-debuginfo is not installed

Dynamic instrumentation works under DTS without devtoolset-4-dyninst-debuginfo installed.

Comment 4 errata-xmlrpc 2016-05-31 04:42:47 EDT
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.


Note You need to log in before you can comment on or make changes to this bug.