Bug 1811602

Summary: abipkgdiff "could not find alternate debug info"
Product: [Fedora] Fedora Reporter: Dan Horák <dan>
Component: libabigailAssignee: Sinny Kumari <ksinny>
Status: CLOSED NOTABUG QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 32CC: dodji, dodji, ksinny, sergio
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2020-03-09 13:58:53 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Dan Horák 2020-03-09 10:26:40 UTC
Description of problem:
When trying to compare 2 versions of the libsgutils2 library I always get
"could not find alternate debug info" error message

from a F-30 ppc64le system (but same behavior is on F-30/x86_64 and F-32/x86_64)

[dan@talos tmp]$ abipkgdiff --no-parallel --keep-tmp-files --verbose --d1 sg3_utils-libs-debuginfo-1.44-3.fc32.ppc64le.rpm --d2 sg3_utils-libs-debuginfo-1.45-1.fc33.ppc64le.rpm sg3_utils-libs-1.44-3.fc32.ppc64le.rpm sg3_utils-libs-1.45-1.fc33.ppc64le.rpm 
abipkgdiff: Extracting package /tmp/sg3_utils-libs-debuginfo-1.44-3.fc32.ppc64le.rpm to /home/dan/.cache/libabigail/abipkgdiff-tmp-dir-2dt1F9/debug_package1 ...abipkgdiff:  DONE
abipkgdiff: Extracting package /tmp/sg3_utils-libs-1.44-3.fc32.ppc64le.rpm to /home/dan/.cache/libabigail/abipkgdiff-tmp-dir-2dt1F9/package1 ...abipkgdiff:  DONE
abipkgdiff: Analyzing the content of package /tmp/sg3_utils-libs-1.44-3.fc32.ppc64le.rpm extracted to /home/dan/.cache/libabigail/abipkgdiff-tmp-dir-2dt1F9/package1 ...
abipkgdiff: Found 1 files in /home/dan/.cache/libabigail/abipkgdiff-tmp-dir-2dt1F9/package1
abipkgdiff: mapped binary with key './@soname:libsgutils2.so.2'
abipkgdiff:  Analysis of /tmp/sg3_utils-libs-1.44-3.fc32.ppc64le.rpm DONE
abipkgdiff: Extracting package /tmp/sg3_utils-libs-debuginfo-1.45-1.fc33.ppc64le.rpm to /home/dan/.cache/libabigail/abipkgdiff-tmp-dir-2dt1F9/debug_package2 ...abipkgdiff:  DONE
abipkgdiff: Extracting package /tmp/sg3_utils-libs-1.45-1.fc33.ppc64le.rpm to /home/dan/.cache/libabigail/abipkgdiff-tmp-dir-2dt1F9/package2 ...abipkgdiff:  DONE
abipkgdiff: Analyzing the content of package /tmp/sg3_utils-libs-1.45-1.fc33.ppc64le.rpm extracted to /home/dan/.cache/libabigail/abipkgdiff-tmp-dir-2dt1F9/package2 ...
abipkgdiff: Found 1 files in /home/dan/.cache/libabigail/abipkgdiff-tmp-dir-2dt1F9/package2
abipkgdiff: mapped binary with key './@soname:libsgutils2.so.2'
abipkgdiff:  Analysis of /tmp/sg3_utils-libs-1.45-1.fc33.ppc64le.rpm DONE
abipkgdiff: Comparing the ABIs of file /home/dan/.cache/libabigail/abipkgdiff-tmp-dir-2dt1F9/package1/usr/lib64/libsgutils2.so.2.0.0 and /home/dan/.cache/libabigail/abipkgdiff-tmp-dir-2dt1F9/package2/usr/lib64/libsgutils2.so.2.0.0...
abipkgdiff:   Reading file /home/dan/.cache/libabigail/abipkgdiff-tmp-dir-2dt1F9/package1/usr/lib64/libsgutils2.so.2.0.0 ...
abipkgdiff: Could not read file '/home/dan/.cache/libabigail/abipkgdiff-tmp-dir-2dt1F9/package1/usr/lib64/libsgutils2.so.2.0.0' properly
==== Error happened during processing of libsgutils2.so.2.0.0: ====
could not find alternate debug info
==== End of error for libsgutils2.so.2.0.0 ====

abidw can read/process /home/dan/.cache/libabigail/abipkgdiff-tmp-dir-2dt1F9/package1/usr/lib64/libsgutils2.so.2.0.0 without any issue


Version-Release number of selected component (if applicable):
libabigail-1.7-1.fc30.ppc64le
libabigail-1.6-1.fc30.ppc64le
libabigail-1.7-1.fc32.x86_64
libabigail-1.7-1.fc30.x86_64

Comment 1 Dodji Seketeli 2020-03-09 13:52:18 UTC
This means that (for a reason) the alternate debug info (produced by the dwz tool) hasn't been found.  It usually mean that the debuginfo package containing that alternate debug info wasn't found.  In your case, the alternate debuginfo found in package sg3_utils-libs-debuginfo-1.44-3.fc32.ppc64le.rpm might be in the package named sg3_utils-debuginfo-1.44-3.fc32.ppc64le.rpm, and the one for for the sg3_utils-libs-debuginfo-1.45-1.fc33.ppc64le.rpm package might be in the package named sg3_utils-debuginfo-1.45-1.fc33.ppc64le.rpm.

So in practice, what you want is to add --d1 sg3_utils-debuginfo-1.44-3.fc32.ppc64le.rpm --d2 sg3_utils-debuginfo-1.45-1.fc33.ppc64le.rpm to to the command line and see if it works.

Comment 2 Dan Horák 2020-03-09 13:58:53 UTC
Yes, the analysis works when both the main debuginfo and the subpackage debuginfo are specified. And yes, it's possible to specify --d1/--d2 multiple times in the command line.

[dan@talos tmp]$ abipkgdiff --no-parallel --keep-tmp-files --verbose --d1 sg3_utils-libs-debuginfo-1.44-3.fc32.ppc64le.rpm --d1 sg3_utils-debuginfo-1.44-3.fc32.ppc64le.rpm --d2 sg3_utils-libs-debuginfo-1.45-1.fc33.ppc64le.rpm --d2 sg3_utils-debuginfo-1.45-1.fc33.ppc64le.rpm sg3_utils-libs-1.44-3.fc32.ppc64le.rpm sg3_utils-libs-1.45-1.fc33.ppc64le.rpm 
abipkgdiff: Extracting package /tmp/sg3_utils-libs-debuginfo-1.44-3.fc32.ppc64le.rpm to /home/dan/.cache/libabigail/abipkgdiff-tmp-dir-k49Dte/debug_package1 ...abipkgdiff:  DONE
abipkgdiff: Extracting package /tmp/sg3_utils-debuginfo-1.44-3.fc32.ppc64le.rpm to /home/dan/.cache/libabigail/abipkgdiff-tmp-dir-k49Dte/debug_package1 ...abipkgdiff:  DONE
abipkgdiff: Extracting package /tmp/sg3_utils-libs-1.44-3.fc32.ppc64le.rpm to /home/dan/.cache/libabigail/abipkgdiff-tmp-dir-k49Dte/package1 ...abipkgdiff:  DONE
abipkgdiff: Analyzing the content of package /tmp/sg3_utils-libs-1.44-3.fc32.ppc64le.rpm extracted to /home/dan/.cache/libabigail/abipkgdiff-tmp-dir-k49Dte/package1 ...
abipkgdiff: Found 1 files in /home/dan/.cache/libabigail/abipkgdiff-tmp-dir-k49Dte/package1
abipkgdiff: mapped binary with key './@soname:libsgutils2.so.2'
abipkgdiff:  Analysis of /tmp/sg3_utils-libs-1.44-3.fc32.ppc64le.rpm DONE
abipkgdiff: Extracting package /tmp/sg3_utils-libs-debuginfo-1.45-1.fc33.ppc64le.rpm to /home/dan/.cache/libabigail/abipkgdiff-tmp-dir-k49Dte/debug_package2 ...abipkgdiff:  DONE
abipkgdiff: Extracting package /tmp/sg3_utils-debuginfo-1.45-1.fc33.ppc64le.rpm to /home/dan/.cache/libabigail/abipkgdiff-tmp-dir-k49Dte/debug_package2 ...abipkgdiff:  DONE
abipkgdiff: Extracting package /tmp/sg3_utils-libs-1.45-1.fc33.ppc64le.rpm to /home/dan/.cache/libabigail/abipkgdiff-tmp-dir-k49Dte/package2 ...abipkgdiff:  DONE
abipkgdiff: Analyzing the content of package /tmp/sg3_utils-libs-1.45-1.fc33.ppc64le.rpm extracted to /home/dan/.cache/libabigail/abipkgdiff-tmp-dir-k49Dte/package2 ...
abipkgdiff: Found 1 files in /home/dan/.cache/libabigail/abipkgdiff-tmp-dir-k49Dte/package2
abipkgdiff: mapped binary with key './@soname:libsgutils2.so.2'
abipkgdiff:  Analysis of /tmp/sg3_utils-libs-1.45-1.fc33.ppc64le.rpm DONE
abipkgdiff: Comparing the ABIs of file /home/dan/.cache/libabigail/abipkgdiff-tmp-dir-k49Dte/package1/usr/lib64/libsgutils2.so.2.0.0 and /home/dan/.cache/libabigail/abipkgdiff-tmp-dir-k49Dte/package2/usr/lib64/libsgutils2.so.2.0.0...
abipkgdiff:   Reading file /home/dan/.cache/libabigail/abipkgdiff-tmp-dir-k49Dte/package1/usr/lib64/libsgutils2.so.2.0.0 ...
abipkgdiff:  DONE reading file /home/dan/.cache/libabigail/abipkgdiff-tmp-dir-k49Dte/package1/usr/lib64/libsgutils2.so.2.0.0
abipkgdiff:   Reading file /home/dan/.cache/libabigail/abipkgdiff-tmp-dir-k49Dte/package2/usr/lib64/libsgutils2.so.2.0.0 ...
abipkgdiff:  DONE reading file /home/dan/.cache/libabigail/abipkgdiff-tmp-dir-k49Dte/package2/usr/lib64/libsgutils2.so.2.0.0
abipkgdiff:   Comparing the ABIs of: 
    /home/dan/.cache/libabigail/abipkgdiff-tmp-dir-k49Dte/package1/usr/lib64/libsgutils2.so.2.0.0
    /home/dan/.cache/libabigail/abipkgdiff-tmp-dir-k49Dte/package2/usr/lib64/libsgutils2.so.2.0.0
abipkgdiff: Comparing the ABIs of file /home/dan/.cache/libabigail/abipkgdiff-tmp-dir-k49Dte/package1/usr/lib64/libsgutils2.so.2.0.0 and /home/dan/.cache/libabigail/abipkgdiff-tmp-dir-k49Dte/package2/usr/lib64/libsgutils2.so.2.0.0 is DONE
================ changes of 'libsgutils2.so.2.0.0'===============
  Functions changes summary: 1 Removed, 2 Changed (30 filtered out), 11 Added functions
  Variables changes summary: 1 Removed, 8 Changed, 3 Added variables
...
================ end of changes of 'libsgutils2.so.2.0.0'===============

Comment 3 Sergio Basto 2022-01-23 23:38:59 UTC
fedabipkgdiff stops to work by this reason , i.e. abipkgdiff needs two debuginfos instead just the  counterpart debuginfo