public inbox for libabigail@sourceware.org
 help / color / mirror / Atom feed
From: "hexiaole1994 at 126 dot com" <sourceware-bugzilla@sourceware.org>
To: libabigail@sourceware.org
Subject: [Bug default/29829] abidiff coredump at abg-dwarf-reader.cc when read libxul.so
Date: Fri, 02 Dec 2022 03:44:43 +0000	[thread overview]
Message-ID: <bug-29829-9487-fYt4wSNbEJ@http.sourceware.org/bugzilla/> (raw)
In-Reply-To: <bug-29829-9487@http.sourceware.org/bugzilla/>

https://sourceware.org/bugzilla/show_bug.cgi?id=29829

--- Comment #4 from Xiaole He <hexiaole1994 at 126 dot com> ---
(In reply to dodji from comment #3)
> I looked into this with the latest commit on the master branch:
> 
> 4bdaf30b dwarf-reader: Avoid duplicating member functions
> 
> 
> Here is the correct way to use libabigail's abidiff on this.
> 
> Create a directory named firefox-91.13.0-1.el7.centos.x86_64.
> cd into that directory.
> 
> Unpack the packages firefox-91.13.0-1.el7.centos.x86_64.rpm AND
> firefox-debuginfo-91.13.0-1.el7.centos.x86_64.rpm into that directory.
> 
> Then, run abidiff against usr/lib64/firefox/libxul.so (not the .debug file).
> You just have to tell abidiff where the debug info is using the --d{1,2}
> option.  Where to find the debug info is the usr/lib/debug directory.
> 
> So, here is the command line.
> 
> [dodji@box firefox-91.13.0-1.el7.centos.x86_64]$ /usr/bin/time -v
> build/tools/abidiff --d1 usr/lib/debug --d2 usr/lib/debug
> usr/lib64/firefox/libxul.so usr/lib64/firefox/libxul.so
> 
>         Command being timed: "~/git/libabigail/master/build/tools/abidiff
> --d1 usr/lib/debug --d2 usr/lib/debug usr/lib64/firefox/libxul.so
> usr/lib64/firefox/libxul.so"
>         User time (seconds): 2717.90
>         System time (seconds): 28.44
>         Percent of CPU this job got: 99%
>         Elapsed (wall clock) time (h:mm:ss or m:ss): 45:46.45
>         Average shared text size (kbytes): 0
>         Average unshared data size (kbytes): 0
>         Average stack size (kbytes): 0
>         Average total size (kbytes): 0
>         Maximum resident set size (kbytes): 45826624
>         Average resident set size (kbytes): 0
>         Major (requiring I/O) page faults: 3
>         Minor (reclaiming a frame) page faults: 22636614
>         Voluntary context switches: 47
>         Involuntary context switches: 3442
>         Swaps: 0
>         File system inputs: 12728
>         File system outputs: 1280
>         Socket messages sent: 0
>         Socket messages received: 0
>         Signals delivered: 0
>         Page size (bytes): 65536
>         Exit status: 0
> [dodji@box firefox-91.13.0-1.el7.centos.x86_64]$
> 
> So, things appears to work correctly as far as I can tell.
> 
> Thanks for taking time to report this.

Thans you for debugging this problem using your precious time, but the problem
that related to original thunderbird's libxul.so still exists when we test
against the updated master branch of git repository.
As you said, the firefox's libxul.so doesn't have this problem, but the
thunderbird's libxul.so does have, even if we updated the master branch to
include the commit 4bdaf30b (dwarf-reader: Avoid duplicating member functions).
Details of steps for reproducing shows below:
(1)confirm that we at the updated master branch that had the fixed commit
# git remote -v
origin  git://sourceware.org/git/libabigail.git (fetch)
origin  git://sourceware.org/git/libabigail.git (push)
# git branch
* master
# git log --oneline -10
4bdaf30b (HEAD -> master, origin/master, origin/HEAD) dwarf-reader: Avoid
duplicating member functions
d222b447 dwarf-reader: Leverage ODR & DWZ
754364d5 Fix spurious deleted/added virtual destructor change report
77ae3141 ctf-reader: Fix array size representation
e33a74fb ctf-reader: Fix representation of multidimensional arrays
(2)'configure' and 'make' the master branch
# ./configure
# make
(3)reassure the newly compiled 'abidiff' is linked to the newly compiled
'libabigail.so'
# ldd tools/.libs/abidiff
        ...
        libabigail.so.1 =>
/root/tmp/libabigail-git/libabigail/src/.libs/libabigail.so.1
(0x0000fffe0d700000)
        ...
(4)download the binary centos7.6 rpm of 'thunderbird' and
'thunderbird-debuginfo', and then decompressing them
# mkdir thunderbird/ && cd thunderbird/
# wget
https://vault.centos.org/7.6.1810/os/x86_64/Packages/thunderbird-52.9.1-1.el7.centos.x86_64.rpm
# wget
http://debuginfo.centos.org/7/x86_64/thunderbird-debuginfo-52.9.1-1.el7.centos.x86_64.rpm
# mkdir with-debug/ without-debug/
# rpm2cpio thunderbird-debuginfo-52.9.1-1.el7.centos.x86_64.rpm | cpio -idum -D
with-debug/
# rpm2cpio thunderbird-52.9.1-1.el7.centos.x86_64.rpm | cpio -idum -D
without-debug/
# cd ../
(5)use newly compiled 'abidiff' to reproducing the problem that causes coredump
# ./tools/.libs/abidiff --d1 thunderbird/with-debug/usr/lib/debug/ --d2
thunderbird/with-debug/usr/lib/debug/
thunderbird/without-debug/usr/lib64/thunderbird/libxul.so
thunderbird/without-debug/usr/lib64/thunderbird/libxul.so
abidiff: abg-dwarf-reader.cc:13825: abigail::ir::function_type_sptr
abigail::dwarf::build_function_type(abigail::dwarf::reader&, Dwarf_Die*,
abigail::ir::class_or_union_sptr, size_t): Assertion `__abg_cond__' failed.
Aborted (core dumped)

-- 
You are receiving this mail because:
You are on the CC list for the bug.

  parent reply	other threads:[~2022-12-02  3:44 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-11-26  3:43 [Bug default/29829] New: " hexiaole1994 at 126 dot com
2022-11-28 16:29 ` [Bug default/29829] " dodji at redhat dot com
2022-11-29  1:01 ` hexiaole1994 at 126 dot com
2022-12-01 10:31 ` dodji at redhat dot com
2022-12-02  3:44 ` hexiaole1994 at 126 dot com [this message]
2022-12-02 16:19 ` dodji at redhat dot com
2022-12-02 23:46 ` hexiaole1994 at 126 dot com

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=bug-29829-9487-fYt4wSNbEJ@http.sourceware.org/bugzilla/ \
    --to=sourceware-bugzilla@sourceware.org \
    --cc=libabigail@sourceware.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).