public inbox for libabigail@sourceware.org
 help / color / mirror / Atom feed
* [Bug default/30329] New: abidiff assertion error in dwarf reader
@ 2023-04-10 14:10 ben at demerara dot io
  2023-04-11  7:41 ` [Bug default/30329] " ben at demerara dot io
                   ` (8 more replies)
  0 siblings, 9 replies; 11+ messages in thread
From: ben at demerara dot io @ 2023-04-10 14:10 UTC (permalink / raw)
  To: libabigail

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

            Bug ID: 30329
           Summary: abidiff assertion error in dwarf reader
           Product: libabigail
           Version: unspecified
            Status: UNCONFIRMED
          Severity: normal
          Priority: P2
         Component: default
          Assignee: dodji at redhat dot com
          Reporter: ben at demerara dot io
                CC: libabigail at sourceware dot org
  Target Milestone: ---

Created attachment 14810
  --> https://sourceware.org/bugzilla/attachment.cgi?id=14810&action=edit
libsqlite3.so binaries that trigger assertion error

version:
https://sourceware.org/git/?p=libabigail.git;a=commit;h=3b0069064ed33b3c95b05f45209286a36a2506e1

Link to freedesktop-sdk job:
https://gitlab.com/freedesktop-sdk/freedesktop-sdk/-/jobs/4085727275
Link to job artifacts with tarballs of binaries that trigger the assertion
error:
https://gitlab.com/freedesktop-sdk/freedesktop-sdk/-/jobs/4085727275/artifacts/browse/libabigail-tars/

I've attached the tarball including the libsqlite3.so and debug binaries.

Excerpt from job logs:

    abidiff: ../../src/abg-dwarf-reader.cc:11784: bool
abigail::dwarf::get_scope_die(const reader&, const Dwarf_Die*, size_t,
Dwarf_Die&): Assertion `__abg_cond__' failed.

Command to reproduce:
abidiff --debug-info-dir1 old-image/usr/lib/debug --debug-info-dir2
new-image/usr/lib/debug old-image/usr/lib/x86_64-linux-gnu/libsqlite3.so.0.8.6
new-image/usr/lib/x86_64-linux-gnu/libsqlite3.so.0.8.6

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

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [Bug default/30329] abidiff assertion error in dwarf reader
  2023-04-10 14:10 [Bug default/30329] New: abidiff assertion error in dwarf reader ben at demerara dot io
@ 2023-04-11  7:41 ` ben at demerara dot io
  2023-04-11  9:04 ` dodji at redhat dot com
                   ` (7 subsequent siblings)
  8 siblings, 0 replies; 11+ messages in thread
From: ben at demerara dot io @ 2023-04-11  7:41 UTC (permalink / raw)
  To: libabigail

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

--- Comment #1 from Ben Brown <ben at demerara dot io> ---
We see similar with python updates as well.
- Job: https://gitlab.com/freedesktop-sdk/freedesktop-sdk/-/jobs/4087688955
- Tarball with binaries:
https://gitlab.com/freedesktop-sdk/freedesktop-sdk/-/jobs/4087688955/artifacts/file/libabigail-tars/libpython3.10.so.1.0.tar.xz

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

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [Bug default/30329] abidiff assertion error in dwarf reader
  2023-04-10 14:10 [Bug default/30329] New: abidiff assertion error in dwarf reader ben at demerara dot io
  2023-04-11  7:41 ` [Bug default/30329] " ben at demerara dot io
@ 2023-04-11  9:04 ` dodji at redhat dot com
  2023-04-11  9:33 ` ben at demerara dot io
                   ` (6 subsequent siblings)
  8 siblings, 0 replies; 11+ messages in thread
From: dodji at redhat dot com @ 2023-04-11  9:04 UTC (permalink / raw)
  To: libabigail

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

--- Comment #2 from dodji at redhat dot com ---
Hello,

I could not reproduce the issue because there is some debuginfo missing from
the tarball you submitted.

For instance, in the libsqlite3 tarball, the debug info that is missing is
{new,old}-image/usr/lib/debug/dwz/components/sqlite.bst/x86_64-unknown-linux-gnu.
 It's called an 'alternate debuginfo file'.

That debug info file is referenced by the main debuginfo file
{new,old}-image/usr/lib/debug/usr/lib/x86_64-linux-gnu/libsqlite3.so.0.8.6.debug.

Could you please provide an updated tarball with that alternate debug info file
in?

Thank you for taking time to report this problem and sorry for the
inconvenience.

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

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [Bug default/30329] abidiff assertion error in dwarf reader
  2023-04-10 14:10 [Bug default/30329] New: abidiff assertion error in dwarf reader ben at demerara dot io
  2023-04-11  7:41 ` [Bug default/30329] " ben at demerara dot io
  2023-04-11  9:04 ` dodji at redhat dot com
@ 2023-04-11  9:33 ` ben at demerara dot io
  2023-04-11 10:43   ` Dodji Seketeli
  2023-04-11 10:44 ` dodji at seketeli dot org
                   ` (5 subsequent siblings)
  8 siblings, 1 reply; 11+ messages in thread
From: ben at demerara dot io @ 2023-04-11  9:33 UTC (permalink / raw)
  To: libabigail

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

--- Comment #3 from Ben Brown <ben at demerara dot io> ---
(In reply to dodji from comment #2)
> I could not reproduce the issue because there is some debuginfo missing from
> the tarball you submitted.
> 
> For instance, in the libsqlite3 tarball, the debug info that is missing is
> {new,old}-image/usr/lib/debug/dwz/components/sqlite.bst/x86_64-unknown-linux-
> gnu.  It's called an 'alternate debuginfo file'.
> 
> That debug info file is referenced by the main debuginfo file
> {new,old}-image/usr/lib/debug/usr/lib/x86_64-linux-gnu/libsqlite3.so.0.8.6.
> debug.
> 
> Could you please provide an updated tarball with that alternate debug info
> file in?

Frustratingly I've nuked my local build environment for this, but I should be
able to kick off another build this evening. It should also be reasonably
straightforward to extent the CI to include this additional debuginfo within
the tarball.

Is there an easy way to programmatically extract the path to the alternate
debuginfo file? I've tested with `objdump -Wk <binary.debug>` which gets me
something I can run a regex match against, but I'm wondering if there's
something more direct.

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

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [Bug default/30329] abidiff assertion error in dwarf reader
  2023-04-11  9:33 ` ben at demerara dot io
@ 2023-04-11 10:43   ` Dodji Seketeli
  0 siblings, 0 replies; 11+ messages in thread
From: Dodji Seketeli @ 2023-04-11 10:43 UTC (permalink / raw)
  To: ben at demerara dot io via Libabigail; +Cc: ben at demerara dot io

ben at demerara dot io via Libabigail <libabigail@sourceware.org> a
écrit:

> Frustratingly I've nuked my local build environment for this, but I should be
> able to kick off another build this evening. It should also be reasonably
> straightforward to extent the CI to include this additional debuginfo within
> the tarball.

No problem, thank you for following up.

> Is there an easy way to programmatically extract the path to the alternate
> debuginfo file? I've tested with `objdump -Wk <binary.debug>` which gets me
> something I can run a regex match against, but I'm wondering if there's
> something more direct.

So, here is maybe a starting point.

the ".gnu_debugaltlink" section of the main debuginfo file contains the
path to the alternate debuginfo file.

Let's examine the section headers of the of the main debuginfo file and
see if the .gnu_debugaltlink section is in there:

    $ readelf -S libsqlite3.so.0.8.6.debug | grep .gnu_debugaltlink
      [35] .gnu_debugaltlink PROGBITS         0000000000000000  00201f1c

Right it's in there.

Now, let's read its content, as a string:

    $ readelf --string-dump=.gnu_debugaltlink  libsqlite3.so.0.8.6.debug 

    String dump of section '.gnu_debugaltlink':
      [     0]  /usr/lib/debug/dwz/components/sqlite.bst/x86_64-unknown-linux-gnu
      [    42]  ;?^UW+%^[w^\E^AC^K^:
    $ 

I hope the above is useful.

Thanks again!

-- 
		Dodji

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [Bug default/30329] abidiff assertion error in dwarf reader
  2023-04-10 14:10 [Bug default/30329] New: abidiff assertion error in dwarf reader ben at demerara dot io
                   ` (2 preceding siblings ...)
  2023-04-11  9:33 ` ben at demerara dot io
@ 2023-04-11 10:44 ` dodji at seketeli dot org
  2023-04-12  8:53 ` ben at demerara dot io
                   ` (4 subsequent siblings)
  8 siblings, 0 replies; 11+ messages in thread
From: dodji at seketeli dot org @ 2023-04-11 10:44 UTC (permalink / raw)
  To: libabigail

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

--- Comment #4 from dodji at seketeli dot org ---
ben at demerara dot io via Libabigail <libabigail@sourceware.org> a
écrit:

> Frustratingly I've nuked my local build environment for this, but I should be
> able to kick off another build this evening. It should also be reasonably
> straightforward to extent the CI to include this additional debuginfo within
> the tarball.

No problem, thank you for following up.

> Is there an easy way to programmatically extract the path to the alternate
> debuginfo file? I've tested with `objdump -Wk <binary.debug>` which gets me
> something I can run a regex match against, but I'm wondering if there's
> something more direct.

So, here is maybe a starting point.

the ".gnu_debugaltlink" section of the main debuginfo file contains the
path to the alternate debuginfo file.

Let's examine the section headers of the of the main debuginfo file and
see if the .gnu_debugaltlink section is in there:

    $ readelf -S libsqlite3.so.0.8.6.debug | grep .gnu_debugaltlink
      [35] .gnu_debugaltlink PROGBITS         0000000000000000  00201f1c

Right it's in there.

Now, let's read its content, as a string:

    $ readelf --string-dump=.gnu_debugaltlink  libsqlite3.so.0.8.6.debug 

    String dump of section '.gnu_debugaltlink':
      [     0] 
/usr/lib/debug/dwz/components/sqlite.bst/x86_64-unknown-linux-gnu
      [    42]  ;?^UW+%^[w^\E^AC^K^:
    $ 

I hope the above is useful.

Thanks again!

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

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [Bug default/30329] abidiff assertion error in dwarf reader
  2023-04-10 14:10 [Bug default/30329] New: abidiff assertion error in dwarf reader ben at demerara dot io
                   ` (3 preceding siblings ...)
  2023-04-11 10:44 ` dodji at seketeli dot org
@ 2023-04-12  8:53 ` ben at demerara dot io
  2023-04-12  8:55 ` ben at demerara dot io
                   ` (3 subsequent siblings)
  8 siblings, 0 replies; 11+ messages in thread
From: ben at demerara dot io @ 2023-04-12  8:53 UTC (permalink / raw)
  To: libabigail

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

--- Comment #5 from Ben Brown <ben at demerara dot io> ---
Created attachment 14812
  --> https://sourceware.org/bugzilla/attachment.cgi?id=14812&action=edit
Updated binaries that trigger assertion error

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

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [Bug default/30329] abidiff assertion error in dwarf reader
  2023-04-10 14:10 [Bug default/30329] New: abidiff assertion error in dwarf reader ben at demerara dot io
                   ` (4 preceding siblings ...)
  2023-04-12  8:53 ` ben at demerara dot io
@ 2023-04-12  8:55 ` ben at demerara dot io
  2023-04-25 10:17 ` dodji at redhat dot com
                   ` (2 subsequent siblings)
  8 siblings, 0 replies; 11+ messages in thread
From: ben at demerara dot io @ 2023-04-12  8:55 UTC (permalink / raw)
  To: libabigail

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

--- Comment #6 from Ben Brown <ben at demerara dot io> ---
Thanks for the pointers!

I've just attached an updated tarball which includes the alternate debug files.

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

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [Bug default/30329] abidiff assertion error in dwarf reader
  2023-04-10 14:10 [Bug default/30329] New: abidiff assertion error in dwarf reader ben at demerara dot io
                   ` (5 preceding siblings ...)
  2023-04-12  8:55 ` ben at demerara dot io
@ 2023-04-25 10:17 ` dodji at redhat dot com
  2023-04-25 14:00 ` dodji at redhat dot com
  2023-04-25 14:03 ` ben at demerara dot io
  8 siblings, 0 replies; 11+ messages in thread
From: dodji at redhat dot com @ 2023-04-25 10:17 UTC (permalink / raw)
  To: libabigail

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

dodji at redhat dot com changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |ASSIGNED
   Last reconfirmed|                            |2023-04-25
     Ever confirmed|0                           |1

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

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [Bug default/30329] abidiff assertion error in dwarf reader
  2023-04-10 14:10 [Bug default/30329] New: abidiff assertion error in dwarf reader ben at demerara dot io
                   ` (6 preceding siblings ...)
  2023-04-25 10:17 ` dodji at redhat dot com
@ 2023-04-25 14:00 ` dodji at redhat dot com
  2023-04-25 14:03 ` ben at demerara dot io
  8 siblings, 0 replies; 11+ messages in thread
From: dodji at redhat dot com @ 2023-04-25 14:00 UTC (permalink / raw)
  To: libabigail

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

dodji at redhat dot com changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|ASSIGNED                    |RESOLVED
         Resolution|---                         |FIXED

--- Comment #7 from dodji at redhat dot com ---
This should now be fixed by commit
https://sourceware.org/git/?p=libabigail.git;a=commit;h=6ba26ed6ae74cf54c87cde1df163e5f086bbcfce.
 The fix should be available in the coming 2.3 release.

Thanks for taking the time to report this problem and sorry for the
inconvenience.

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

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [Bug default/30329] abidiff assertion error in dwarf reader
  2023-04-10 14:10 [Bug default/30329] New: abidiff assertion error in dwarf reader ben at demerara dot io
                   ` (7 preceding siblings ...)
  2023-04-25 14:00 ` dodji at redhat dot com
@ 2023-04-25 14:03 ` ben at demerara dot io
  8 siblings, 0 replies; 11+ messages in thread
From: ben at demerara dot io @ 2023-04-25 14:03 UTC (permalink / raw)
  To: libabigail

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

--- Comment #8 from Ben Brown <ben at demerara dot io> ---
Thanks for the swift fix! I look forward to the release.

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

^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2023-04-25 14:03 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-04-10 14:10 [Bug default/30329] New: abidiff assertion error in dwarf reader ben at demerara dot io
2023-04-11  7:41 ` [Bug default/30329] " ben at demerara dot io
2023-04-11  9:04 ` dodji at redhat dot com
2023-04-11  9:33 ` ben at demerara dot io
2023-04-11 10:43   ` Dodji Seketeli
2023-04-11 10:44 ` dodji at seketeli dot org
2023-04-12  8:53 ` ben at demerara dot io
2023-04-12  8:55 ` ben at demerara dot io
2023-04-25 10:17 ` dodji at redhat dot com
2023-04-25 14:00 ` dodji at redhat dot com
2023-04-25 14:03 ` ben at demerara dot io

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).