[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Bug default/19844] New: assertion failed when trying to canonicalize a type that is being constructed



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

            Bug ID: 19844
           Summary: assertion failed when trying to canonicalize a type
                    that is being constructed
           Product: libabigail
           Version: unspecified
            Status: NEW
          Severity: normal
          Priority: P2
         Component: default
          Assignee: dodji at redhat dot com
          Reporter: dodji at redhat dot com
                CC: libabigail at sourceware dot org
  Target Milestone: ---

When running abipkgdiff on a sub package of gtk2 abipkgdiff yields:

$ abipkgdiff --d1 gtk2-debuginfo-2.24.22-5.el7.i686.rpm --d2
gtk2-debuginfo-2.24.28-8.el7.i686.rpm gtk2-immodule-xim-2.24.22-5.el7.i686.rpm
gtk2-immodule-xim-2.24.28-8.el7.i686.rpm 
abipkgdiff: /home/dodji/git/libabigail/master/src/abg-dwarf-reader.cc:8430:
void abigail::dwarf_reader::maybe_canonicalize_type(Dwarf_Off, bool,
abigail::dwarf_reader::read_context&): Assertion `t' failed.
Abandon (core dumped)
$ 

This is because maybe_canonicalize() is invoked on the DIE of a type that is
being constructed, and which is not yet fully constructed.

That function calls read_context::lookup_type_from_die_offset which only looks
for types that have been fully constructed.  That means maybe_canonicalize()
cannot get the type of the DIE it is looking for.  So it aborts.

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