From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 48) id 79A793858D32; Fri, 2 Dec 2022 03:44:44 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 79A793858D32 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1669952684; bh=zEOsV3rsta6p7/4i6cDrCNWwMkOFTCgsqCU0zffpuXU=; h=From:To:Subject:Date:In-Reply-To:References:From; b=u445xBAZgtLEZxrv3h76GqIjiqVVkyLGcWnl9GDyNQ/cyRg6JHyfVBRjSrwtieRMR onn4MogqeoTvG2f8fscf8T11VXGknZlQmaoU6FOCs5ENIoQTluCn+whrIXSW377Wy0 fdxW3bdSFabqi1kJqOHalI8Wej/vZFxV+LPUSGBA= From: "hexiaole1994 at 126 dot com" 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 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: libabigail X-Bugzilla-Component: default X-Bugzilla-Version: unspecified X-Bugzilla-Keywords: X-Bugzilla-Severity: critical X-Bugzilla-Who: hexiaole1994 at 126 dot com X-Bugzilla-Status: RESOLVED X-Bugzilla-Resolution: NOTABUG X-Bugzilla-Priority: P2 X-Bugzilla-Assigned-To: dodji at redhat dot com X-Bugzilla-Target-Milestone: --- X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: Message-ID: In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: http://sourceware.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 List-Id: https://sourceware.org/bugzilla/show_bug.cgi?id=3D29829 --- Comment #4 from Xiaole He --- (In reply to dodji from comment #3) > I looked into this with the latest commit on the master branch: >=20 > 4bdaf30b dwarf-reader: Avoid duplicating member functions >=20 >=20 > Here is the correct way to use libabigail's abidiff on this. >=20 > Create a directory named firefox-91.13.0-1.el7.centos.x86_64. > cd into that directory. >=20 > 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. >=20 > Then, run abidiff against usr/lib64/firefox/libxul.so (not the .debug fil= e). > 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. >=20 > So, here is the command line. >=20 > [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 >=20 > 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]$ >=20 > So, things appears to work correctly as far as I can tell. >=20 > Thanks for taking time to report this. Thans you for debugging this problem using your precious time, but the prob= lem 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 functio= ns). 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 =3D> /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.e= l7.centos.x86_64.rpm # wget http://debuginfo.centos.org/7/x86_64/thunderbird-debuginfo-52.9.1-1.el7.cen= tos.x86_64.rpm # mkdir with-debug/ without-debug/ # rpm2cpio thunderbird-debuginfo-52.9.1-1.el7.centos.x86_64.rpm | cpio -idu= m -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 core= dump # ./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) --=20 You are receiving this mail because: You are on the CC list for the bug.=