public inbox for libabigail@sourceware.org
 help / color / mirror / Atom feed
* [Bug default/26769] New: assert when comparing libstdc++ to itself
@ 2020-10-22  5:10 woodard at redhat dot com
  2020-10-22  6:00 ` [Bug default/26769] " woodard at redhat dot com
                   ` (17 more replies)
  0 siblings, 18 replies; 21+ messages in thread
From: woodard at redhat dot com @ 2020-10-22  5:10 UTC (permalink / raw)
  To: libabigail

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

            Bug ID: 26769
           Summary: assert when comparing libstdc++ to itself
           Product: libabigail
           Version: unspecified
            Status: NEW
          Severity: normal
          Priority: P2
         Component: default
          Assignee: dodji at redhat dot com
          Reporter: woodard at redhat dot com
                CC: libabigail at sourceware dot org
  Target Milestone: ---

On Fedora 32 with the distro standard versions of libabigail and libstdc++
installed.

$ abidw /lib64/libstdc++.so.6.0.28 > bar
$ abidiff bar /lib64/libstdc++.so.6.0.28
abidiff: abg-reader.cc:1359: abigail::ir::type_base_sptr
abigail::xml_reader::read_context::build_or_get_type_decl(const string&, bool):
Assertion `__abg_cond__' failed.
Aborted (core dumped)
$ rpm -q libstdc++ libabigail
libstdc++-10.2.1-5.fc32.x86_64
libabigail-1.7-1.fc32.x86_64

The backtrace is pretty extensive:

[ben@alien dwqual]$ gdb --silent --args abidiff bar /lib64/libstdc++.so.6.0.28
Reading symbols from abidiff...
Reading symbols from /usr/lib/debug/usr/bin/abidiff-1.7-1.fc32.x86_64.debug...
(gdb) r
Starting program: /usr/bin/abidiff bar /lib64/libstdc++.so.6.0.28
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
Missing separate debuginfo for /lib64/libelf.so.1
Try: dnf --enablerepo='*debug*' install
/usr/lib/debug/.build-id/58/4de23b85a4e2ea2e5851f8e30aeba704560ed6.debug
Missing separate debuginfo for /lib64/libdw.so.1
Try: dnf --enablerepo='*debug*' install
/usr/lib/debug/.build-id/20/d8e828160b52d02f63cbd763da0994575d0db4.debug
abidiff: abg-reader.cc:1359: abigail::ir::type_base_sptr
abigail::xml_reader::read_context::build_or_get_type_decl(const string&, bool):
Assertion `__abg_cond__' failed.

Program received signal SIGABRT, Aborted.
__GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
50        return ret;
Missing separate debuginfos, use: dnf debuginfo-install
bzip2-libs-1.0.8-2.fc32.x86_64 libxml2-2.9.10-7.fc32.x86_64
xz-libs-5.2.5-1.fc32.x86_64 zlib-1.2.11-21.fc32.x86_64
(gdb) bt
#0  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
#1  0x00007ffff787f895 in __GI_abort () at abort.c:79
#2  0x00007ffff787f769 in __assert_fail_base (fmt=0x7ffff79ed0b8 "%s%s%s:%u:
%s%sAssertion `%s' failed.\n%n", assertion=0x7ffff7f13846 "__abg_cond__", 
    file=0x7ffff7f23a63 "abg-reader.cc", line=1359, function=<optimized out>)
at assert.c:92
#3  0x00007ffff788ee76 in __GI___assert_fail
(assertion=assertion@entry=0x7ffff7f13846 "__abg_cond__",
file=file@entry=0x7ffff7f23a63 "abg-reader.cc", 
    line=line@entry=1359, 
    function=function@entry=0x7ffff7f22b88 "abigail::ir::type_base_sptr
abigail::xml_reader::read_context::build_or_get_type_decl(const string&,
bool)")
    at assert.c:101
#4  0x00007ffff7e76999 in
abigail::xml_reader::read_context::build_or_get_type_decl (this=0x55555558d850,
id="type-id-1541", add_decl_to_scope=<optimized out>)
    at /usr/include/c++/10/ext/atomicity.h:97
#5  0x00007ffff7e76d10 in abigail::xml_reader::build_qualified_type_decl
(ctxt=..., node=0x5555571f4650, add_to_current_scope=<optimized out>) at
abg-reader.cc:3542
#6  0x00007ffff7e80f14 in abigail::xml_reader::build_type (ctxt=...,
node=0x5555571f4650, add_to_current_scope=<optimized out>)
    at /usr/include/c++/10/bits/shared_ptr_base.h:1180
#7  0x00007ffff7e76777 in
abigail::xml_reader::read_context::build_or_get_type_decl (this=0x55555558d850,
id=..., add_decl_to_scope=<optimized out>)
    at abg-reader.cc:1379
#8  0x00007ffff7e777e6 in abigail::xml_reader::build_pointer_type_def
(ctxt=..., node=0x5555571f4a60, add_to_current_scope=<optimized out>) at
abg-reader.cc:3643
#9  0x00007ffff7e80fb8 in abigail::xml_reader::build_type (ctxt=...,
node=0x5555571f4a60, add_to_current_scope=<optimized out>)
    at /usr/include/c++/10/bits/shared_ptr_base.h:1180
#10 0x00007ffff7e76777 in
abigail::xml_reader::read_context::build_or_get_type_decl (this=0x55555558d850,
id=..., add_decl_to_scope=<optimized out>)
    at abg-reader.cc:1379
#11 0x00007ffff7e76d10 in abigail::xml_reader::build_qualified_type_decl
(ctxt=..., node=0x5555571f4e70, add_to_current_scope=<optimized out>) at
abg-reader.cc:3542
#12 0x00007ffff7e80f14 in abigail::xml_reader::build_type (ctxt=...,
node=0x5555571f4e70, add_to_current_scope=<optimized out>)
    at /usr/include/c++/10/bits/shared_ptr_base.h:1180
#13 0x00007ffff7e76777 in
abigail::xml_reader::read_context::build_or_get_type_decl (this=0x55555558d850,
id=..., add_decl_to_scope=<optimized out>)
    at abg-reader.cc:1379
#14 0x00007ffff7e777e6 in abigail::xml_reader::build_pointer_type_def
(ctxt=..., node=0x5555571f5280, add_to_current_scope=<optimized out>) at
abg-reader.cc:3643
#15 0x00007ffff7e80fb8 in abigail::xml_reader::build_type (ctxt=...,
node=0x5555571f5280, add_to_current_scope=<optimized out>)
    at /usr/include/c++/10/bits/shared_ptr_base.h:1180
#16 0x00007ffff7e76777 in
abigail::xml_reader::read_context::build_or_get_type_decl (this=0x55555558d850,
id=..., add_decl_to_scope=<optimized out>)
    at abg-reader.cc:1379
#17 0x00007ffff7e76d10 in abigail::xml_reader::build_qualified_type_decl
(ctxt=..., node=0x5555571f5690, add_to_current_scope=<optimized out>) at
abg-reader.cc:3542
#18 0x00007ffff7e80f14 in abigail::xml_reader::build_type (ctxt=...,
node=0x5555571f5690, add_to_current_scope=<optimized out>)
    at /usr/include/c++/10/bits/shared_ptr_base.h:1180
#19 0x00007ffff7e76777 in
abigail::xml_reader::read_context::build_or_get_type_decl (this=0x55555558d850,
id=..., add_decl_to_scope=<optimized out>)
    at abg-reader.cc:1379
#20 0x00007ffff7e79100 in abigail::xml_reader::build_array_type_def (ctxt=...,
node=0x5555571e0000, add_to_current_scope=<optimized out>) at
abg-reader.cc:4000
#21 0x00007ffff7e88db4 in abigail::xml_reader::handle_array_type_def
(add_to_current_scope=true, node=0x5555571e0000, ctxt=...) at
abg-reader.cc:5661
#22 abigail::xml_reader::handle_element_node (ctxt=..., node=0x5555571e0000,
add_to_current_scope=true) at abg-reader.cc:2212
#23 0x00007ffff7e725e3 in abigail::xml_reader::read_translation_unit
(node=<optimized out>, tu=..., ctxt=...) at abg-reader.cc:1480
#24 abigail::xml_reader::get_or_read_and_add_translation_unit (ctxt=...,
node=<optimized out>) at abg-reader.cc:1532
#25 0x00007ffff7e763e0 in abigail::xml_reader::read_context::get_scope_for_node
(this=0x55555558d850, node=<optimized out>, access=<optimized out>)
    at abg-reader.cc:1322
#26 0x00007ffff7e76255 in abigail::xml_reader::read_context::get_scope_for_node
(this=0x55555558d850, node=<optimized out>, access=<optimized out>)
    at abg-reader.cc:1328
#27 0x00007ffff7e76255 in abigail::xml_reader::read_context::get_scope_for_node
(this=0x55555558d850, node=<optimized out>, access=<optimized out>)
    at abg-reader.cc:1328
#28 0x00007ffff7e766ba in
abigail::xml_reader::read_context::build_or_get_type_decl (this=0x55555558d850,
id="type-id-1740", add_decl_to_scope=<optimized out>)
    at abg-reader.cc:1365
#29 0x00007ffff7e777e6 in abigail::xml_reader::build_pointer_type_def
(ctxt=..., node=0x555558fc7360, add_to_current_scope=<optimized out>) at
abg-reader.cc:3643
#30 0x00007ffff7e88a01 in abigail::xml_reader::handle_pointer_type_def
(add_to_current_scope=true, node=0x555558fc7360, ctxt=...) at
abg-reader.cc:5611
#31 abigail::xml_reader::handle_element_node (ctxt=..., node=0x555558fc7360,
add_to_current_scope=true) at abg-reader.cc:2208
#32 0x00007ffff7e725e3 in abigail::xml_reader::read_translation_unit
(node=<optimized out>, tu=..., ctxt=...) at abg-reader.cc:1480
#33 abigail::xml_reader::get_or_read_and_add_translation_unit (ctxt=...,
node=<optimized out>) at abg-reader.cc:1532
#34 0x00007ffff7e763e0 in abigail::xml_reader::read_context::get_scope_for_node
(this=0x55555558d850, node=<optimized out>, access=<optimized out>)
    at abg-reader.cc:1322
#35 0x00007ffff7e766ba in
abigail::xml_reader::read_context::build_or_get_type_decl (this=0x55555558d850,
id="type-id-224", add_decl_to_scope=<optimized out>)
    at abg-reader.cc:1365
#36 0x00007ffff7e78afe in abigail::xml_reader::build_function_parameter
(ctxt=..., node=0x55555627c4c0) at abg-reader.cc:3067
#37 0x00007ffff7e7c788 in abigail::xml_reader::build_function_decl (ctxt=...,
node=0x55555627b800, 
    as_method_decl=std::shared_ptr<class abigail::ir::class_or_union> (use
count 26, weak count 22) = {...}, add_to_current_scope=<optimized out>)
    at abg-reader.cc:3152
#38 0x00007ffff7e7d69f in
abigail::xml_reader::build_function_decl_if_not_suppressed (ctxt=...,
node=0x55555627b800, 
    as_method_decl=std::shared_ptr<class abigail::ir::class_or_union> (use
count 26, weak count 22) = {...}, add_to_current_scope=<optimized out>)
    at /usr/include/c++/10/ext/atomicity.h:100
#39 0x00007ffff7e83bca in abigail::xml_reader::build_class_decl (ctxt=...,
node=<optimized out>, add_to_current_scope=<optimized out>)
--Type <RET> for more, q to quit, c to continue without paging--
    at /usr/include/c++/10/bits/shared_ptr_base.h:733
#40 0x00007ffff7e84cf9 in
abigail::xml_reader::build_class_decl_if_not_suppressed (ctxt=...,
node=0x5555562651e0, add_to_current_scope=<optimized out>)
    at abg-reader.cc:4320
#41 0x00007ffff7e89923 in abigail::xml_reader::handle_class_decl
(add_to_current_scope=true, node=0x5555562651e0, ctxt=...) at
abg-reader.cc:5742
#42 abigail::xml_reader::handle_element_node (ctxt=..., node=0x5555562651e0,
add_to_current_scope=true) at abg-reader.cc:2221
#43 0x00007ffff7e885b3 in abigail::xml_reader::build_namespace_decl
(add_to_current_scope=true, node=0x555556259440, ctxt=...) at
abg-reader.cc:2785
#44 abigail::xml_reader::handle_namespace_decl (add_to_current_scope=true,
node=0x555556259440, ctxt=...) at abg-reader.cc:5579
#45 abigail::xml_reader::handle_element_node (ctxt=..., node=0x555556259440,
add_to_current_scope=true) at abg-reader.cc:2204
#46 0x00007ffff7e762fc in abigail::xml_reader::read_context::get_scope_for_node
(this=0x55555558d850, node=<optimized out>, access=<optimized out>)
    at abg-reader.cc:1330
#47 0x00007ffff7e76255 in abigail::xml_reader::read_context::get_scope_for_node
(this=0x55555558d850, node=<optimized out>, access=<optimized out>)
    at abg-reader.cc:1328
#48 0x00007ffff7e766ba in
abigail::xml_reader::read_context::build_or_get_type_decl (this=0x55555558d850,
id="type-id-14", add_decl_to_scope=<optimized out>)
    at abg-reader.cc:1365
#49 0x00007ffff7e79100 in abigail::xml_reader::build_array_type_def (ctxt=...,
node=0x55555620b610, add_to_current_scope=<optimized out>) at
abg-reader.cc:4000
#50 0x00007ffff7e88db4 in abigail::xml_reader::handle_array_type_def
(add_to_current_scope=true, node=0x55555620b610, ctxt=...) at
abg-reader.cc:5661
#51 abigail::xml_reader::handle_element_node (ctxt=..., node=0x55555620b610,
add_to_current_scope=true) at abg-reader.cc:2212
#52 0x00007ffff7e725e3 in abigail::xml_reader::read_translation_unit
(node=<optimized out>, tu=..., ctxt=...) at abg-reader.cc:1480
#53 abigail::xml_reader::get_or_read_and_add_translation_unit (ctxt=...,
node=<optimized out>) at abg-reader.cc:1532
#54 0x00007ffff7e72d45 in abigail::xml_reader::read_translation_unit_from_input
(ctxt=...) at abg-reader.cc:1590
#55 0x00007ffff7e73fdc in abigail::xml_reader::read_corpus_from_input
(ctxt=...) at abg-reader.cc:2004
#56 0x000055555555a949 in main (argc=<optimized out>, argv=0x7fffffffd958) at
/usr/include/c++/10/bits/shared_ptr_base.h:1321

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

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

* [Bug default/26769] assert when comparing libstdc++ to itself
  2020-10-22  5:10 [Bug default/26769] New: assert when comparing libstdc++ to itself woodard at redhat dot com
@ 2020-10-22  6:00 ` woodard at redhat dot com
  2020-10-23  4:48 ` woodard at redhat dot com
                   ` (16 subsequent siblings)
  17 siblings, 0 replies; 21+ messages in thread
From: woodard at redhat dot com @ 2020-10-22  6:00 UTC (permalink / raw)
  To: libabigail

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

--- Comment #1 from Ben Woodard <woodard at redhat dot com> ---
Did a quick scan of my system and the following libraries all seem to have the
same problem:
abidiff: abg-reader.cc:1359: abigail::ir::type_base_sptr
abigail::xml_reader::read_context::build_or_get_type_decl(const string&, bool):
Assertion `__abg_cond__' failed

/lib64/libTKBO.so.7.4.0
/lib64/libQt53DCore.so.5.14.2
/lib64/libboost_chrono.so.1.69.0
/lib64/libTKBinL.so.7.4.0
/lib64/libsource-highlight.so.4.0.1
/lib64/libTKSTEPBase.so.7.4.0
/lib64/libdnf.so.2
/lib64/libQt5WebKitWidgets.so.5.212.0
/lib64/libboost_iostreams.so.1.69.0
/lib64/libboost_log_setup.so.1.69.0
/lib64/libmedC.so.11.0.0
/lib64/libTKOffset.so.7.4.0
/lib64/libQt5QuickControls2.so.5.14.2
/lib64/libTKSTEPAttr.so.7.4.0
/lib64/libQt5WaylandCompositor.so.5.14.2
/lib64/libboost_prg_exec_monitor.so.1.69.0
/lib64/libQt5QuickParticles.so.5.14.2
/lib64/libboost_log.so.1.69.0
/lib64/libTKMath.so.7.4.0
/lib64/libQt5Gui.so.5.14.2
/lib64/libpoppler.so.94.0.0
/lib64/libTKRWMesh.so.7.4.0
/lib64/libmedfwrap.so.11.0.0
/lib64/libnumbertext-1.0.so.0.0.0
/lib64/libboost_graph.so.1.69.0
/lib64/librevenge-0.0.so.0.0.4
/lib64/libpoppler-cpp.so.0.7.0
/lib64/libQt5MultimediaGstTools.so.5.14.2
/lib64/libgtkmm-3.0.so.1.1.0
/lib64/libTKMesh.so.7.4.0
/lib64/libQt5Quick.so.5.14.2
/lib64/liborcus-0.15.so.0.0.0
/lib64/libcmis-0.5.so.5.0.0

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

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

* [Bug default/26769] assert when comparing libstdc++ to itself
  2020-10-22  5:10 [Bug default/26769] New: assert when comparing libstdc++ to itself woodard at redhat dot com
  2020-10-22  6:00 ` [Bug default/26769] " woodard at redhat dot com
@ 2020-10-23  4:48 ` woodard at redhat dot com
  2020-10-23 22:22 ` woodard at redhat dot com
                   ` (15 subsequent siblings)
  17 siblings, 0 replies; 21+ messages in thread
From: woodard at redhat dot com @ 2020-10-23  4:48 UTC (permalink / raw)
  To: libabigail

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

--- Comment #2 from Ben Woodard <woodard at redhat dot com> ---
dodji, this needs to be a standard unit test:

$ lib=/lib64/libabigail.so.0.0.0
$ abidw $lib >bar; abidiff --harmless bar $lib | less
abidiff: abg-reader.cc:1359: abigail::ir::type_base_sptr
abigail::xml_reader::read_context::build_or_get_type_decl(const string&, bool):
Assertion `__abg_cond__' failed.

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

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

* [Bug default/26769] assert when comparing libstdc++ to itself
  2020-10-22  5:10 [Bug default/26769] New: assert when comparing libstdc++ to itself woodard at redhat dot com
  2020-10-22  6:00 ` [Bug default/26769] " woodard at redhat dot com
  2020-10-23  4:48 ` woodard at redhat dot com
@ 2020-10-23 22:22 ` woodard at redhat dot com
  2020-11-10 10:22 ` dodji at redhat dot com
                   ` (14 subsequent siblings)
  17 siblings, 0 replies; 21+ messages in thread
From: woodard at redhat dot com @ 2020-10-23 22:22 UTC (permalink / raw)
  To: libabigail

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

--- Comment #3 from Ben Woodard <woodard at redhat dot com> ---
This problem continues to exist with the trunk version of libabigail 

The problem has a similar assert but the line number is slightly different.

abidiff: ../../../libabigail/src/abg-reader.cc:1287:
abigail::ir::type_base_sptr
abigail::xml_reader::read_context::build_or_get_type_decl(const string&, bool):
Assertion `__abg_cond__' failed.

All of these libraries from Fedora 33 exhibit this problem.

/lib64/libTKBO.so.7.4.0
/lib64/libTKIVtk.so.7.4.0
/lib64/libsource-highlight.so.4.0.1
/lib64/libTKSTEPBase.so.7.4.0
/lib64/libdnf.so.2
/lib64/libboost_python39.so.1.73.0
/lib64/libpoppler-cpp.so.0.9.0
/lib64/libpoppler-glib.so.8.18.0
/lib64/libTKSTEPAttr.so.7.4.0
/lib64/libTKMath.so.7.4.0
/lib64/libgeocoding.so.8.12
/lib64/libTKRWMesh.so.7.4.0
/lib64/libnumbertext-1.0.so.0.0.0
/lib64/libboost_regex.so.1.73.0
/lib64/librevenge-0.0.so.0.0.4
/lib64/libboost_serialization.so.1.73.0
/lib64/libboost_unit_test_framework.so.1.73.0
/lib64/libSoQt.so.1.6.0
/lib64/libgtkmm-3.0.so.1.1.0
/lib64/libTKMesh.so.7.4.0
/lib64/liborcus-0.15.so.0.0.0
/lib64/libcmis-0.5.so.5.0.0
/lib64/libclucene-core.so.2.3.3.4
/lib64/libboost_iostreams.so.1.73.0
/lib64/libQtCLucene.so.4.8.7
/lib64/libTKernel.so.7.4.0
/lib64/libTKSTEP209.so.7.4.0
/lib64/libpoppler.so.101.0.0
/lib64/libicutest.so.67.1
/lib64/libphonenumber.so.8.12
/lib64/libboost_wave.so.1.73.0
/lib64/libcmis-c-0.5.so.5.0.0
/lib64/libstdc++.so.6.0.28

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

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

* [Bug default/26769] assert when comparing libstdc++ to itself
  2020-10-22  5:10 [Bug default/26769] New: assert when comparing libstdc++ to itself woodard at redhat dot com
                   ` (2 preceding siblings ...)
  2020-10-23 22:22 ` woodard at redhat dot com
@ 2020-11-10 10:22 ` dodji at redhat dot com
  2020-11-12 22:23 ` woodard at redhat dot com
                   ` (13 subsequent siblings)
  17 siblings, 0 replies; 21+ messages in thread
From: dodji at redhat dot com @ 2020-11-10 10:22 UTC (permalink / raw)
  To: libabigail

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

dodji at redhat dot com changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |ASSIGNED

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

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

* [Bug default/26769] assert when comparing libstdc++ to itself
  2020-10-22  5:10 [Bug default/26769] New: assert when comparing libstdc++ to itself woodard at redhat dot com
                   ` (3 preceding siblings ...)
  2020-11-10 10:22 ` dodji at redhat dot com
@ 2020-11-12 22:23 ` woodard at redhat dot com
  2020-11-16 17:15 ` dodji at redhat dot com
                   ` (12 subsequent siblings)
  17 siblings, 0 replies; 21+ messages in thread
From: woodard at redhat dot com @ 2020-11-12 22:23 UTC (permalink / raw)
  To: libabigail

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

--- Comment #4 from Ben Woodard <woodard at redhat dot com> ---
This continues to be a common problem as of:
2cc1ab7ee879da20688c4a72ec93c73123d7b9aa

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

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

* [Bug default/26769] assert when comparing libstdc++ to itself
  2020-10-22  5:10 [Bug default/26769] New: assert when comparing libstdc++ to itself woodard at redhat dot com
                   ` (4 preceding siblings ...)
  2020-11-12 22:23 ` woodard at redhat dot com
@ 2020-11-16 17:15 ` dodji at redhat dot com
  2020-11-16 20:33 ` woodard at redhat dot com
                   ` (11 subsequent siblings)
  17 siblings, 0 replies; 21+ messages in thread
From: dodji at redhat dot com @ 2020-11-16 17:15 UTC (permalink / raw)
  To: libabigail

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

--- Comment #5 from dodji at redhat dot com ---
Hello, I have been working on a patch which is in the branch
https://sourceware.org/git/?p=libabigail.git;a=shortlog;h=refs/heads/dodji/PR26769.

That patch comes on top of the content of the branch
https://sourceware.org/git/?p=libabigail.git;a=shortlog;h=refs/heads/dodji/stable-ids.

It can now be tested to see if it works in your environement.

Thank you for reporting this issue.

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

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

* [Bug default/26769] assert when comparing libstdc++ to itself
  2020-10-22  5:10 [Bug default/26769] New: assert when comparing libstdc++ to itself woodard at redhat dot com
                   ` (5 preceding siblings ...)
  2020-11-16 17:15 ` dodji at redhat dot com
@ 2020-11-16 20:33 ` woodard at redhat dot com
  2020-11-17 17:39   ` Dodji Seketeli
  2020-11-19 10:13   ` Dodji Seketeli
  2020-11-17 17:39 ` dodji at seketeli dot org
                   ` (10 subsequent siblings)
  17 siblings, 2 replies; 21+ messages in thread
From: woodard at redhat dot com @ 2020-11-16 20:33 UTC (permalink / raw)
  To: libabigail

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

--- Comment #6 from Ben Woodard <woodard at redhat dot com> ---
This latest patch 9ab30d86bd853b4561a9490898b65fc1fd5a203e seems to have
greatly improved the situation. I'm down to 56 failures rather than over 300.
However the majority of the remaining problems still seem to hit this problem
just in a different way. 51/56 of the remaining failures look like this:

$ cat libabigail.so.0.0.0.bt
Reading symbols from abidw...
Starting program: /home/ben/Scratch/Work/test/libabigail-x86_64/bin/abidw
--abidiff /lib64/libabigail.so.0.0.0
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
abidw: ../../../libabigail/src/abg-reader.cc:1287: abigail::ir::type_base_sptr
abigail::xml_reader::read_context::build_or_get_type_decl(const string&, bool):
Assertion `__abg_cond__' failed.

Program received signal SIGABRT, Aborted.
__GI_raise (sig=<optimized out>) at ../sysdeps/unix/sysv/linux/raise.c:49
49        return ret;
#0  __GI_raise (sig=<optimized out>) at ../sysdeps/unix/sysv/linux/raise.c:49
#1  0x00007ffff750d8a4 in __GI_abort () at abort.c:79
#2  0x00007ffff750d789 in __assert_fail_base (fmt=0x7ffff767a680 "%s%s%s:%u:
%s%sAssertion `%s' failed.\n%n", assertion=0x7ffff7f3bfa4 "__abg_cond__",
file=0x7ffff7f47320 "../../../libabigail/src/abg-reader.cc", line=1287,
function=<optimized out>) at assert.c:92
#3  0x00007ffff751d026 in __GI___assert_fail (assertion=0x7ffff7f3bfa4
"__abg_cond__", file=0x7ffff7f47320 "../../../libabigail/src/abg-reader.cc",
line=1287, function=0x7ffff7f475d8 "abigail::ir::type_base_sptr
abigail::xml_reader::read_context::build_or_get_type_decl(const string&,
bool)") at assert.c:101
#4  0x00007ffff7eaa629 in
abigail::xml_reader::read_context::build_or_get_type_decl (this=0x29cbd2f0,
id="type-id-12787", add_decl_to_scope=<optimized out>) at
../../../libabigail/src/abg-reader.cc:1287
#5  0x00007ffff7eabd7a in abigail::xml_reader::build_reference_type_def
(ctxt=..., node=0x1c98e080, add_to_current_scope=<optimized out>) at
../../../libabigail/src/abg-reader.cc:3653
#6  0x00007ffff7eb49d3 in abigail::xml_reader::build_type (ctxt=...,
node=0x1c98e080, add_to_current_scope=<optimized out>) at
../../../libabigail/src/abg-reader.cc:5471
#7  0x00007ffff7eaa42f in
abigail::xml_reader::read_context::build_or_get_type_decl (this=0x29cbd2f0,
id="", add_decl_to_scope=<optimized out>) at
../../../libabigail/src/abg-reader.cc:1307
#8  0x00007ffff7eac6b3 in abigail::xml_reader::build_function_parameter
(ctxt=..., node=0x2d59c240) at ../../../libabigail/src/abg-reader.cc:2987
#9  0x00007ffff7eb02ed in abigail::xml_reader::build_function_decl (ctxt=...,
node=0x2d59b9c0, as_method_decl=std::shared_ptr<abigail::ir::class_or_union>
(use count 15, weak count 3) = {...}, add_to_current_scope=<optimized out>) at
../../../libabigail/src/abg-reader.cc:3072
#10 0x00007ffff7eb1149 in
abigail::xml_reader::build_function_decl_if_not_suppressed (ctxt=...,
node=0x2d59b9c0, as_method_decl=std::shared_ptr<abigail::ir::class_or_union>
(use count 15, weak count 3) = {...}, add_to_current_scope=<optimized out>) at
../../../libabigail/src/abg-reader.cc:3160
#11 0x00007ffff7eb7334 in abigail::xml_reader::build_class_decl (ctxt=...,
node=<optimized out>, add_to_current_scope=<optimized out>) at
../../../libabigail/src/abg-reader.cc:4644
#12 0x00007ffff7eb8179 in
abigail::xml_reader::build_class_decl_if_not_suppressed (ctxt=...,
node=0x2d597870, add_to_current_scope=<optimized out>) at
../../../libabigail/src/abg-reader.cc:4269
#13 0x00007ffff7ebc856 in abigail::xml_reader::handle_class_decl
(add_to_current_scope=true, node=0x2d597870, ctxt=...) at
../../../libabigail/src/abg-reader.cc:5685
#14 abigail::xml_reader::handle_element_node (ctxt=..., node=0x2d597870,
add_to_current_scope=true) at ../../../libabigail/src/abg-reader.cc:2150
#15 0x00007ffff7ebb494 in abigail::xml_reader::build_namespace_decl
(add_to_current_scope=true, node=0x2d594f70, ctxt=...) at
../../../libabigail/src/abg-reader.cc:2713
#16 abigail::xml_reader::handle_namespace_decl (add_to_current_scope=true,
node=0x2d594f70, ctxt=...) at ../../../libabigail/src/abg-reader.cc:5522
#17 abigail::xml_reader::handle_element_node (ctxt=..., node=0x2d594f70,
add_to_current_scope=true) at ../../../libabigail/src/abg-reader.cc:2132
#18 0x00007ffff7ea9f4d in abigail::xml_reader::read_context::get_scope_for_node
(this=0x29cbd2f0, node=<optimized out>, access=@0x7fffffffa84c:
abigail::ir::no_access) at ../../../libabigail/src/abg-reader.cc:1258
#19 0x00007ffff7eaa37b in
abigail::xml_reader::read_context::build_or_get_type_decl (this=0x29cbd2f0,
id="type-id-29701", add_decl_to_scope=<optimized out>) at
../../../libabigail/src/abg-reader.cc:1293
#20 0x00007ffff7eb5b3e in abigail::xml_reader::build_class_decl (ctxt=...,
node=<optimized out>, add_to_current_scope=<optimized out>) at
../../../libabigail/src/abg-reader.cc:4510
#21 0x00007ffff7eb8179 in
abigail::xml_reader::build_class_decl_if_not_suppressed (ctxt=...,
node=0x2d57c570, add_to_current_scope=<optimized out>) at
../../../libabigail/src/abg-reader.cc:4269
#22 0x00007ffff7ebc856 in abigail::xml_reader::handle_class_decl
(add_to_current_scope=true, node=0x2d57c570, ctxt=...) at
../../../libabigail/src/abg-reader.cc:5685
#23 abigail::xml_reader::handle_element_node (ctxt=..., node=0x2d57c570,
add_to_current_scope=true) at ../../../libabigail/src/abg-reader.cc:2150
#24 0x00007ffff7ebb494 in abigail::xml_reader::build_namespace_decl
(add_to_current_scope=true, node=0x2d57c310, ctxt=...) at
../../../libabigail/src/abg-reader.cc:2713
#25 abigail::xml_reader::handle_namespace_decl (add_to_current_scope=true,
node=0x2d57c310, ctxt=...) at ../../../libabigail/src/abg-reader.cc:5522
#26 abigail::xml_reader::handle_element_node (ctxt=..., node=0x2d57c310,
add_to_current_scope=true) at ../../../libabigail/src/abg-reader.cc:2132
#27 0x00007ffff7ea9f4d in abigail::xml_reader::read_context::get_scope_for_node
(this=0x29cbd2f0, node=<optimized out>, access=@0x7fffffffaf4c:
abigail::ir::no_access) at ../../../libabigail/src/abg-reader.cc:1258
#28 0x00007ffff7ea9ea6 in abigail::xml_reader::read_context::get_scope_for_node
(this=0x29cbd2f0, node=<optimized out>, access=@0x7fffffffafcc:
abigail::ir::public_access) at ../../../libabigail/src/abg-reader.cc:1256
#29 0x00007ffff7eaa37b in
abigail::xml_reader::read_context::build_or_get_type_decl (this=0x29cbd2f0,
id="type-id-29668", add_decl_to_scope=<optimized out>) at
../../../libabigail/src/abg-reader.cc:1293
#30 0x00007ffff7eaf131 in abigail::xml_reader::build_typedef_decl (ctxt=...,
node=0x2d475790, add_to_current_scope=<optimized out>) at
../../../libabigail/src/abg-reader.cc:4215
#31 0x00007ffff7eb4c4e in abigail::xml_reader::build_type (ctxt=...,
node=0x2d475790, add_to_current_scope=<optimized out>) at
../../../libabigail/src/abg-reader.cc:5476
#32 0x00007ffff7eb633a in abigail::xml_reader::build_class_decl (ctxt=...,
node=<optimized out>, add_to_current_scope=<optimized out>) at
../../../libabigail/src/abg-reader.cc:4550
#33 0x00007ffff7eb8179 in
abigail::xml_reader::build_class_decl_if_not_suppressed (ctxt=...,
node=0x2d474e80, add_to_current_scope=<optimized out>) at
../../../libabigail/src/abg-reader.cc:4269
#34 0x00007ffff7ebc856 in abigail::xml_reader::handle_class_decl
(add_to_current_scope=true, node=0x2d474e80, ctxt=...) at
../../../libabigail/src/abg-reader.cc:5685
#35 abigail::xml_reader::handle_element_node (ctxt=..., node=0x2d474e80,
add_to_current_scope=true) at ../../../libabigail/src/abg-reader.cc:2150
#36 0x00007ffff7ebb494 in abigail::xml_reader::build_namespace_decl
(add_to_current_scope=true, node=0x2d474c20, ctxt=...) at
../../../libabigail/src/abg-reader.cc:2713
#37 abigail::xml_reader::handle_namespace_decl (add_to_current_scope=true,
node=0x2d474c20, ctxt=...) at ../../../libabigail/src/abg-reader.cc:5522
#38 abigail::xml_reader::handle_element_node (ctxt=..., node=0x2d474c20,
add_to_current_scope=true) at ../../../libabigail/src/abg-reader.cc:2132
#39 0x00007ffff7ebb494 in abigail::xml_reader::build_namespace_decl
(add_to_current_scope=true, node=0x2d474a30, ctxt=...) at
../../../libabigail/src/abg-reader.cc:2713
#40 abigail::xml_reader::handle_namespace_decl (add_to_current_scope=true,
node=0x2d474a30, ctxt=...) at ../../../libabigail/src/abg-reader.cc:5522
#41 abigail::xml_reader::handle_element_node (ctxt=..., node=0x2d474a30,
add_to_current_scope=true) at ../../../libabigail/src/abg-reader.cc:2132
#42 0x00007ffff7ea9f4d in abigail::xml_reader::read_context::get_scope_for_node
(this=0x29cbd2f0, node=<optimized out>, access=@0x7fffffffba9c:
abigail::ir::no_access) at ../../../libabigail/src/abg-reader.cc:1258
#43 0x00007ffff7eaa37b in
abigail::xml_reader::read_context::build_or_get_type_decl (this=0x29cbd2f0,
id="type-id-14144", add_decl_to_scope=<optimized out>) at
../../../libabigail/src/abg-reader.cc:1293
#44 0x00007ffff7eab455 in abigail::xml_reader::build_pointer_type_def
(ctxt=..., node=0x6f4440, add_to_current_scope=<optimized out>) at
../../../libabigail/src/abg-reader.cc:3567
#45 0x00007ffff7eb492c in abigail::xml_reader::build_type (ctxt=...,
node=0x6f4440, add_to_current_scope=<optimized out>) at
../../../libabigail/src/abg-reader.cc:5470
#46 0x00007ffff7eaa42f in
abigail::xml_reader::read_context::build_or_get_type_decl (this=0x29cbd2f0,
id="", add_decl_to_scope=<optimized out>) at
../../../libabigail/src/abg-reader.cc:1307
#47 0x00007ffff7eafa14 in abigail::xml_reader::build_var_decl (ctxt=...,
node=0x2d461d90, add_to_current_scope=<optimized out>) at
../../../libabigail/src/abg-reader.cc:3318
#48 0x00007ffff7eb6c43 in abigail::xml_reader::build_class_decl (ctxt=...,
node=<optimized out>, add_to_current_scope=<optimized out>) at
../../../libabigail/src/abg-reader.cc:4588
#49 0x00007ffff7eb8179 in
abigail::xml_reader::build_class_decl_if_not_suppressed (ctxt=...,
node=0x2d461320, add_to_current_scope=<optimized out>) at
../../../libabigail/src/abg-reader.cc:4269
#50 0x00007ffff7ebc856 in abigail::xml_reader::handle_class_decl
(add_to_current_scope=true, node=0x2d461320, ctxt=...) at
../../../libabigail/src/abg-reader.cc:5685
#51 abigail::xml_reader::handle_element_node (ctxt=..., node=0x2d461320,
add_to_current_scope=true) at ../../../libabigail/src/abg-reader.cc:2150
#52 0x00007ffff7ebb494 in abigail::xml_reader::build_namespace_decl
(add_to_current_scope=true, node=0x2d461130, ctxt=...) at
../../../libabigail/src/abg-reader.cc:2713
#53 abigail::xml_reader::handle_namespace_decl (add_to_current_scope=true,
node=0x2d461130, ctxt=...) at ../../../libabigail/src/abg-reader.cc:5522
#54 abigail::xml_reader::handle_element_node (ctxt=..., node=0x2d461130,
add_to_current_scope=true) at ../../../libabigail/src/abg-reader.cc:2132
#55 0x00007ffff7ea9f4d in abigail::xml_reader::read_context::get_scope_for_node
(this=0x29cbd2f0, node=<optimized out>, access=@0x7fffffffc58c:
abigail::ir::no_access) at ../../../libabigail/src/abg-reader.cc:1258
#56 0x00007ffff7eaa37b in
abigail::xml_reader::read_context::build_or_get_type_decl (this=0x29cbd2f0,
id="type-id-1715", add_decl_to_scope=<optimized out>) at
../../../libabigail/src/abg-reader.cc:1293
#57 0x00007ffff7eab455 in abigail::xml_reader::build_pointer_type_def
(ctxt=..., node=0x1ff54aa0, add_to_current_scope=<optimized out>) at
../../../libabigail/src/abg-reader.cc:3567
#58 0x00007ffff7eb492c in abigail::xml_reader::build_type (ctxt=...,
node=0x1ff54aa0, add_to_current_scope=<optimized out>) at
../../../libabigail/src/abg-reader.cc:5470
#59 0x00007ffff7eaa42f in
abigail::xml_reader::read_context::build_or_get_type_decl (this=0x29cbd2f0,
id="", add_decl_to_scope=<optimized out>) at
../../../libabigail/src/abg-reader.cc:1307
#60 0x00007ffff7eb0928 in abigail::xml_reader::build_function_decl (ctxt=...,
node=0x2d6a9e00, as_method_decl=std::shared_ptr<abigail::ir::class_or_union>
(use count 13, weak count 8) = {...}, add_to_current_scope=<optimized out>) at
../../../libabigail/src/abg-reader.cc:3083
#61 0x00007ffff7eb1149 in
abigail::xml_reader::build_function_decl_if_not_suppressed (ctxt=...,
node=0x2d6a9e00, as_method_decl=std::shared_ptr<abigail::ir::class_or_union>
(use count 13, weak count 8) = {...}, add_to_current_scope=<optimized out>) at
../../../libabigail/src/abg-reader.cc:3160
#62 0x00007ffff7eb7334 in abigail::xml_reader::build_class_decl (ctxt=...,
node=<optimized out>, add_to_current_scope=<optimized out>) at
../../../libabigail/src/abg-reader.cc:4644
#63 0x00007ffff7eb8179 in
abigail::xml_reader::build_class_decl_if_not_suppressed (ctxt=...,
node=0x2d6a5480, add_to_current_scope=<optimized out>) at
../../../libabigail/src/abg-reader.cc:4269
#64 0x00007ffff7ebc856 in abigail::xml_reader::handle_class_decl
(add_to_current_scope=true, node=0x2d6a5480, ctxt=...) at
../../../libabigail/src/abg-reader.cc:5685
#65 abigail::xml_reader::handle_element_node (ctxt=..., node=0x2d6a5480,
add_to_current_scope=true) at ../../../libabigail/src/abg-reader.cc:2150
#66 0x00007ffff7ebb494 in abigail::xml_reader::build_namespace_decl
(add_to_current_scope=true, node=0x2d6a5220, ctxt=...) at
../../../libabigail/src/abg-reader.cc:2713
#67 abigail::xml_reader::handle_namespace_decl (add_to_current_scope=true,
node=0x2d6a5220, ctxt=...) at ../../../libabigail/src/abg-reader.cc:5522
#68 abigail::xml_reader::handle_element_node (ctxt=..., node=0x2d6a5220,
add_to_current_scope=true) at ../../../libabigail/src/abg-reader.cc:2132
#69 0x00007ffff7ea9f4d in abigail::xml_reader::read_context::get_scope_for_node
(this=0x29cbd2f0, node=<optimized out>, access=@0x7fffffffd1dc:
abigail::ir::no_access) at ../../../libabigail/src/abg-reader.cc:1258
#70 0x00007ffff7eaa37b in
abigail::xml_reader::read_context::build_or_get_type_decl (this=0x29cbd2f0,
id="type-id-159", add_decl_to_scope=<optimized out>) at
../../../libabigail/src/abg-reader.cc:1293
#71 0x00007ffff7eab455 in abigail::xml_reader::build_pointer_type_def
(ctxt=..., node=0x2ea2900, add_to_current_scope=<optimized out>) at
../../../libabigail/src/abg-reader.cc:3567
#72 0x00007ffff7ebb724 in abigail::xml_reader::handle_pointer_type_def
(add_to_current_scope=true, node=0x2ea2900, ctxt=...) at
../../../libabigail/src/abg-reader.cc:5554
#73 abigail::xml_reader::handle_element_node (ctxt=..., node=0x2ea2900,
add_to_current_scope=true) at ../../../libabigail/src/abg-reader.cc:2137
#74 0x00007ffff7ea65ed in abigail::xml_reader::read_translation_unit
(node=<optimized out>, tu=..., ctxt=...) at
../../../libabigail/src/abg-reader.cc:1408
#75 abigail::xml_reader::get_or_read_and_add_translation_unit (ctxt=...,
node=<optimized out>) at ../../../libabigail/src/abg-reader.cc:1460
#76 0x00007ffff7ea6d5d in abigail::xml_reader::read_translation_unit_from_input
(ctxt=...) at ../../../libabigail/src/abg-reader.cc:1518
#77 0x00007ffff7ea7e54 in abigail::xml_reader::read_corpus_from_input
(ctxt=...) at ../../../libabigail/src/abg-reader.cc:1932
#78 0x00007ffff7ea9c8f in abigail::xml_reader::read_corpus_from_native_xml_file
(path=..., env=<optimized out>) at
/usr/include/c++/10/bits/shared_ptr_base.h:1324
#79 0x00000000004062f9 in load_corpus_and_write_abixml (opts=...,
context=std::shared_ptr<abigail::dwarf_reader::read_context> (empty) = {...},
env=std::shared_ptr<abigail::ir::environment> (use count 1, weak count 0) =
{...}, argv=0x7fffffffdd58) at /usr/include/c++/10/bits/shared_ptr_base.h:1324
#80 main (argc=<optimized out>, argv=0x7fffffffdd58) at
../../../libabigail/tools/abidw.cc:866

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

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

* Re: [Bug default/26769] assert when comparing libstdc++ to itself
  2020-11-16 20:33 ` woodard at redhat dot com
@ 2020-11-17 17:39   ` Dodji Seketeli
  2020-11-19 10:13   ` Dodji Seketeli
  1 sibling, 0 replies; 21+ messages in thread
From: Dodji Seketeli @ 2020-11-17 17:39 UTC (permalink / raw)
  To: woodard at redhat dot com; +Cc: libabigail

woodard at redhat dot com via Libabigail <libabigail@sourceware.org> a
écrit:

> https://sourceware.org/bugzilla/show_bug.cgi?id=26769
>
> --- Comment #6 from Ben Woodard <woodard at redhat dot com> ---
> This latest patch 9ab30d86bd853b4561a9490898b65fc1fd5a203e seems to have
> greatly improved the situation. I'm down to 56 failures rather than
> over 300.

Thanks for testing this Ben!

Before I can move forward on this, I need to get in a new test harness
to regression-test this.  The thing is that this binary has its debug
info stripped out and compressed with dwz, as part of the normal process
that binaries packaged in RPM for Fedora go through.

So I am looking into coming with a new abikpkgdiff --self-check <rpm>
option that would compare each binary in a rpm against its abixml
representation.  I would then add the rpm of libstdc++ to the testsuite
and have a new harness that would run abipkgdiff --self-check on it.

Once I have this, I can proceed with contemplating merging this in.

> However the majority of the remaining problems still seem to hit this problem
> just in a different way. 51/56 of the remaining failures look like
> this:

I see.  I'll look into this right away when I am done with the above.
Hopefully, fixing this will bring the number of issues down
dramatically.

Thanks for looking into this.

-- 
		Dodji

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

* [Bug default/26769] assert when comparing libstdc++ to itself
  2020-10-22  5:10 [Bug default/26769] New: assert when comparing libstdc++ to itself woodard at redhat dot com
                   ` (6 preceding siblings ...)
  2020-11-16 20:33 ` woodard at redhat dot com
@ 2020-11-17 17:39 ` dodji at seketeli dot org
  2020-11-17 17:50 ` woodard at redhat dot com
                   ` (9 subsequent siblings)
  17 siblings, 0 replies; 21+ messages in thread
From: dodji at seketeli dot org @ 2020-11-17 17:39 UTC (permalink / raw)
  To: libabigail

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

--- Comment #7 from dodji at seketeli dot org ---
woodard at redhat dot com via Libabigail <libabigail@sourceware.org> a
écrit:

> https://sourceware.org/bugzilla/show_bug.cgi?id=26769
>
> --- Comment #6 from Ben Woodard <woodard at redhat dot com> ---
> This latest patch 9ab30d86bd853b4561a9490898b65fc1fd5a203e seems to have
> greatly improved the situation. I'm down to 56 failures rather than
> over 300.

Thanks for testing this Ben!

Before I can move forward on this, I need to get in a new test harness
to regression-test this.  The thing is that this binary has its debug
info stripped out and compressed with dwz, as part of the normal process
that binaries packaged in RPM for Fedora go through.

So I am looking into coming with a new abikpkgdiff --self-check <rpm>
option that would compare each binary in a rpm against its abixml
representation.  I would then add the rpm of libstdc++ to the testsuite
and have a new harness that would run abipkgdiff --self-check on it.

Once I have this, I can proceed with contemplating merging this in.

> However the majority of the remaining problems still seem to hit this problem
> just in a different way. 51/56 of the remaining failures look like
> this:

I see.  I'll look into this right away when I am done with the above.
Hopefully, fixing this will bring the number of issues down
dramatically.

Thanks for looking into this.

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

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

* [Bug default/26769] assert when comparing libstdc++ to itself
  2020-10-22  5:10 [Bug default/26769] New: assert when comparing libstdc++ to itself woodard at redhat dot com
                   ` (7 preceding siblings ...)
  2020-11-17 17:39 ` dodji at seketeli dot org
@ 2020-11-17 17:50 ` woodard at redhat dot com
  2020-11-19 16:56 ` dodji at redhat dot com
                   ` (8 subsequent siblings)
  17 siblings, 0 replies; 21+ messages in thread
From: woodard at redhat dot com @ 2020-11-17 17:50 UTC (permalink / raw)
  To: libabigail

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

--- Comment #8 from Ben Woodard <woodard at redhat dot com> ---
Rather than approaching this the way that you are, may I suggest doing what I'm
doing which I believe is much simpler.

I run debuginfod and have a local repository of all the debuginfo RPMs. The
current elfutils provides this and it works extremely well.

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

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

* Re: [Bug default/26769] assert when comparing libstdc++ to itself
  2020-11-16 20:33 ` woodard at redhat dot com
  2020-11-17 17:39   ` Dodji Seketeli
@ 2020-11-19 10:13   ` Dodji Seketeli
  1 sibling, 0 replies; 21+ messages in thread
From: Dodji Seketeli @ 2020-11-19 10:13 UTC (permalink / raw)
  To: woodard at redhat dot com via Libabigail; +Cc: woodard at redhat dot com

woodard at redhat dot com via Libabigail <libabigail@sourceware.org> a
écrit:

> https://sourceware.org/bugzilla/show_bug.cgi?id=26769
>
> --- Comment #6 from Ben Woodard <woodard at redhat dot com> ---
> This latest patch 9ab30d86bd853b4561a9490898b65fc1fd5a203e seems to have
> greatly improved the situation. I'm down to 56 failures rather than over 300.
> However the majority of the remaining problems still seem to hit this problem
> just in a different way. 51/56 of the remaining failures look like this:
>
> $ cat libabigail.so.0.0.0.bt
> Reading symbols from abidw...
> Starting program: /home/ben/Scratch/Work/test/libabigail-x86_64/bin/abidw
> --abidiff /lib64/libabigail.so.0.0.0
> [Thread debugging using libthread_db enabled]
> Using host libthread_db library "/lib64/libthread_db.so.1".
> abidw: ../../../libabigail/src/abg-reader.cc:1287: abigail::ir::type_base_sptr
> abigail::xml_reader::read_context::build_or_get_type_decl(const string&, bool):
> Assertion `__abg_cond__' failed.

So, I have updated the patch on branch
https://sourceware.org/git/?p=libabigail.git;a=shortlog;h=refs/heads/dodji/PR26769.

The commit hash is now: d35b656da75130b.

It seems to address this additional issue, hopefully.

-- 
		Dodji

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

* [Bug default/26769] assert when comparing libstdc++ to itself
  2020-10-22  5:10 [Bug default/26769] New: assert when comparing libstdc++ to itself woodard at redhat dot com
                   ` (8 preceding siblings ...)
  2020-11-17 17:50 ` woodard at redhat dot com
@ 2020-11-19 16:56 ` dodji at redhat dot com
  2020-11-19 16:58 ` [Bug default/26769] abixml writer misses some member types in the output dodji at redhat dot com
                   ` (7 subsequent siblings)
  17 siblings, 0 replies; 21+ messages in thread
From: dodji at redhat dot com @ 2020-11-19 16:56 UTC (permalink / raw)
  To: libabigail

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

--- Comment #9 from dodji at redhat dot com ---
(In reply to Ben Woodard from comment #6)
> This latest patch 9ab30d86bd853b4561a9490898b65fc1fd5a203e seems to have
> greatly improved the situation. I'm down to 56 failures rather than over
> 300. However the majority of the remaining problems still seem to hit this
> problem just in a different way. 51/56 of the remaining failures look like
> this:
> 
> $ cat libabigail.so.0.0.0.bt
> Reading symbols from abidw...
> Starting program: /home/ben/Scratch/Work/test/libabigail-x86_64/bin/abidw
> --abidiff /lib64/libabigail.so.0.0.0
> [Thread debugging using libthread_db enabled]
> Using host libthread_db library "/lib64/libthread_db.so.1".
> abidw: ../../../libabigail/src/abg-reader.cc:1287:
> abigail::ir::type_base_sptr
> abigail::xml_reader::read_context::build_or_get_type_decl(const string&,
> bool): Assertion `__abg_cond__' failed.
> 
> Program received signal SIGABRT, Aborted.


Okay, I have updated the content of branch
https://sourceware.org/git/?p=libabigail.git;a=shortlog;h=refs/heads/dodji/PR26769.

The current commit hash is d35b656da75130.  You can browse it at
https://sourceware.org/git/?p=libabigail.git;a=commit;h=d35b656da75130bd976049001247742a49127e0c.

This should hopefully fix the remaining issue that you are pointing to here.

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

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

* [Bug default/26769] abixml writer misses some member types in the output
  2020-10-22  5:10 [Bug default/26769] New: assert when comparing libstdc++ to itself woodard at redhat dot com
                   ` (9 preceding siblings ...)
  2020-11-19 16:56 ` dodji at redhat dot com
@ 2020-11-19 16:58 ` dodji at redhat dot com
  2020-11-20 15:29 ` dodji at redhat dot com
                   ` (6 subsequent siblings)
  17 siblings, 0 replies; 21+ messages in thread
From: dodji at redhat dot com @ 2020-11-19 16:58 UTC (permalink / raw)
  To: libabigail

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

dodji at redhat dot com changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
            Summary|assert when comparing       |abixml writer misses some
                   |libstdc++ to itself         |member types in the output

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

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

* [Bug default/26769] abixml writer misses some member types in the output
  2020-10-22  5:10 [Bug default/26769] New: assert when comparing libstdc++ to itself woodard at redhat dot com
                   ` (10 preceding siblings ...)
  2020-11-19 16:58 ` [Bug default/26769] abixml writer misses some member types in the output dodji at redhat dot com
@ 2020-11-20 15:29 ` dodji at redhat dot com
  2020-11-20 15:34 ` dodji at redhat dot com
                   ` (5 subsequent siblings)
  17 siblings, 0 replies; 21+ messages in thread
From: dodji at redhat dot com @ 2020-11-20 15:29 UTC (permalink / raw)
  To: libabigail

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

--- Comment #10 from dodji at redhat dot com ---
(In reply to Ben Woodard from comment #8)
> Rather than approaching this the way that you are, may I suggest doing what
> I'm doing which I believe is much simpler.
> 
> I run debuginfod and have a local repository of all the debuginfo RPMs. The
> current elfutils provides this and it works extremely well.

Yes, that is true that debuginfod works well.

However, I went ahead and added a new --self-check option to abipkgdiff.

That way you can get the RPM packages of the program you want to use to
validate libabigail on and type:

$ time abipkgdiff --self-check --d1 gcc-debuginfo-10.2.1-8.fc34.x86_64.rpm --d1
libstdc++-debuginfo-10.2.1-8.fc34.x86_64.rpm libstdc++-10.2.1-8.fc34.x86_64.rpm 
==== SELF CHECK SUCCEEDED for 'libstdc++.so.6.0.28' ====

real    0m33,288s
user    0m30,189s
sys     0m5,312s
$ 

What it does is that it compares the binaries inside the RPM against their
ABIXML representation, using the debug info provided by the ancillary debuginfo
packages.

One advantage of doing that is that I could make the "fedabipkgdiff" too to use
that new option as well.  Now we can ask "fedabipkgidff" to do the same on any
fedora package and that tool handles the downloading of all ancillary packages
for us, and it performs the test for *all* architectures (not just the current
one you are running your box on).  All that with just one command.

For instance, here is how I can ask "fedabipkgdiff" to perform that check on
all the sub-packags of the "boost" package from fedora 34:

$ fedabipkgdiff -a --debug --abipkgdiff build/tools/abipkgdiff --from fc34
--self-compare boost

Note that the --abipkgdiff option is to tell the tool to use a non-installed
version of the abipkgdiff program that I have just built from source revision
control.

Hopefully, this has some value for us to improve our coarse grain regression
tests like the one at https://pagure.io/libabigail-selfcheck/tree/master

I have now updated abipkgdiff and fedabipkgdiff in the branch
https://sourceware.org/git/?p=libabigail.git;a=shortlog;h=refs/heads/dodji/PR26769

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

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

* [Bug default/26769] abixml writer misses some member types in the output
  2020-10-22  5:10 [Bug default/26769] New: assert when comparing libstdc++ to itself woodard at redhat dot com
                   ` (11 preceding siblings ...)
  2020-11-20 15:29 ` dodji at redhat dot com
@ 2020-11-20 15:34 ` dodji at redhat dot com
  2020-11-20 17:49 ` dodji at seketeli dot org
                   ` (4 subsequent siblings)
  17 siblings, 0 replies; 21+ messages in thread
From: dodji at redhat dot com @ 2020-11-20 15:34 UTC (permalink / raw)
  To: libabigail

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

--- Comment #11 from dodji at redhat dot com ---
(In reply to Ben Woodard from comment #2)
> dodji, this needs to be a standard unit test:
> 
> $ lib=/lib64/libabigail.so.0.0.0
> $ abidw $lib >bar; abidiff --harmless bar $lib | less
> abidiff: abg-reader.cc:1359: abigail::ir::type_base_sptr
> abigail::xml_reader::read_context::build_or_get_type_decl(const string&,
> bool): Assertion `__abg_cond__' failed.

I agree that this needs to be standard unit test.

The problem though, is that it takes a long time (5+ minutes) on the old
Rawhide box that I use for hacking here.  I guess I'll need to do some
performance work on this front at some point again.

Until, then, I don't feel like making this test be part of the standard "make
check" of the project.

However, I have added a new "make check-self-compare" target to the project
which does exactly that.  I'll run this from time to time and I'll run it for
sure before each release.  If someone has a powerful build box somewhere to run
this, that would be great as well.

The current content of the master branch should now be able to correctly run
this.

Thanks for pointing this out!

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

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

* [Bug default/26769] abixml writer misses some member types in the output
  2020-10-22  5:10 [Bug default/26769] New: assert when comparing libstdc++ to itself woodard at redhat dot com
                   ` (12 preceding siblings ...)
  2020-11-20 15:34 ` dodji at redhat dot com
@ 2020-11-20 17:49 ` dodji at seketeli dot org
  2020-11-20 22:29 ` woodard at redhat dot com
                   ` (3 subsequent siblings)
  17 siblings, 0 replies; 21+ messages in thread
From: dodji at seketeli dot org @ 2020-11-20 17:49 UTC (permalink / raw)
  To: libabigail

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

--- Comment #12 from dodji at seketeli dot org ---
woodard at redhat dot com via Libabigail <libabigail@sourceware.org> a
écrit:

> https://sourceware.org/bugzilla/show_bug.cgi?id=26769
>
> --- Comment #6 from Ben Woodard <woodard at redhat dot com> ---
> This latest patch 9ab30d86bd853b4561a9490898b65fc1fd5a203e seems to have
> greatly improved the situation. I'm down to 56 failures rather than over 300.
> However the majority of the remaining problems still seem to hit this problem
> just in a different way. 51/56 of the remaining failures look like this:
>
> $ cat libabigail.so.0.0.0.bt
> Reading symbols from abidw...
> Starting program: /home/ben/Scratch/Work/test/libabigail-x86_64/bin/abidw
> --abidiff /lib64/libabigail.so.0.0.0
> [Thread debugging using libthread_db enabled]
> Using host libthread_db library "/lib64/libthread_db.so.1".
> abidw: ../../../libabigail/src/abg-reader.cc:1287: abigail::ir::type_base_sptr
> abigail::xml_reader::read_context::build_or_get_type_decl(const string&, bool):
> Assertion `__abg_cond__' failed.

So, I have updated the patch on branch
https://sourceware.org/git/?p=libabigail.git;a=shortlog;h=refs/heads/dodji/PR26769.

The commit hash is now: d35b656da75130b.

It seems to address this additional issue, hopefully.

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

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

* [Bug default/26769] abixml writer misses some member types in the output
  2020-10-22  5:10 [Bug default/26769] New: assert when comparing libstdc++ to itself woodard at redhat dot com
                   ` (13 preceding siblings ...)
  2020-11-20 17:49 ` dodji at seketeli dot org
@ 2020-11-20 22:29 ` woodard at redhat dot com
  2020-11-23 12:26 ` dodji at redhat dot com
                   ` (2 subsequent siblings)
  17 siblings, 0 replies; 21+ messages in thread
From: woodard at redhat dot com @ 2020-11-20 22:29 UTC (permalink / raw)
  To: libabigail

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

--- Comment #13 from Ben Woodard <woodard at redhat dot com> ---
Darn close my friend but there still are a couple more:

/lib64/libGLU.so.1.3.1 from mesa-libGLU-9.0.1-3.fc33.x86_64
/lib64/libQt5Qml.so.5.15.1 
/lib64/libQt5Quick.so.5.15.1 both from qt5-qtdeclarative-5.15.1-1.fc33.x86_64
/lib64/libQt5WaylandClient.so.5.15.1 from qt5-qtwayland-5.15.1-1.fc33.x86_64

This was with commit a488f9b4 on dodji/PR26796

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

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

* [Bug default/26769] abixml writer misses some member types in the output
  2020-10-22  5:10 [Bug default/26769] New: assert when comparing libstdc++ to itself woodard at redhat dot com
                   ` (14 preceding siblings ...)
  2020-11-20 22:29 ` woodard at redhat dot com
@ 2020-11-23 12:26 ` dodji at redhat dot com
  2020-11-23 17:42 ` woodard at redhat dot com
  2020-11-24 10:39 ` dodji at redhat dot com
  17 siblings, 0 replies; 21+ messages in thread
From: dodji at redhat dot com @ 2020-11-23 12:26 UTC (permalink / raw)
  To: libabigail

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

--- Comment #14 from dodji at redhat dot com ---
(In reply to Ben Woodard from comment #13)
> Darn close my friend but there still are a couple more:
> 
> /lib64/libGLU.so.1.3.1 from mesa-libGLU-9.0.1-3.fc33.x86_64

This one seems to be a different issue but for convenience, I am addressing it
here.  It should now be handled by this commit, from the same dodji/PR26769
branch:
https://sourceware.org/git/?p=libabigail.git;a=commit;h=f685282bb9ea8a5b1aa8c1c98a73b4dae682b2a2.

> /lib64/libQt5Qml.so.5.15.1 
> /lib64/libQt5Quick.so.5.15.1 both from qt5-qtdeclarative-5.15.1-1.fc33.x86_64
> /lib64/libQt5WaylandClient.so.5.15.1 from qt5-qtwayland-5.15.1-1.fc33.x86_64

These two were holes in the fixing in this bug.  That hole should hopefully be
plugged now by the latest commit in dodji/PR26796.  Should be:
f685282bb9ea8a5b1.

Let's see how it goes!

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

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

* [Bug default/26769] abixml writer misses some member types in the output
  2020-10-22  5:10 [Bug default/26769] New: assert when comparing libstdc++ to itself woodard at redhat dot com
                   ` (15 preceding siblings ...)
  2020-11-23 12:26 ` dodji at redhat dot com
@ 2020-11-23 17:42 ` woodard at redhat dot com
  2020-11-24 10:39 ` dodji at redhat dot com
  17 siblings, 0 replies; 21+ messages in thread
From: woodard at redhat dot com @ 2020-11-23 17:42 UTC (permalink / raw)
  To: libabigail

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

--- Comment #15 from Ben Woodard <woodard at redhat dot com> ---
Looks good my friend; As of commit b0f6b8e, all the bugs that are under this
umbrella of issues seem to be resolved. Of the about 1382 tests that I can
quickly run, only 3 failures are happening and those are different bugs.

I say go ahead and commit this and close the PR.

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

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

* [Bug default/26769] abixml writer misses some member types in the output
  2020-10-22  5:10 [Bug default/26769] New: assert when comparing libstdc++ to itself woodard at redhat dot com
                   ` (16 preceding siblings ...)
  2020-11-23 17:42 ` woodard at redhat dot com
@ 2020-11-24 10:39 ` dodji at redhat dot com
  17 siblings, 0 replies; 21+ messages in thread
From: dodji at redhat dot com @ 2020-11-24 10:39 UTC (permalink / raw)
  To: libabigail

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

dodji at redhat dot com changed:

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

--- Comment #16 from dodji at redhat dot com ---
Okay, many many many thanks for looking into this, Ben!

I have now applied these patches to the master branch, so this should now
available in the coming 1.8 release.

Thanks again!

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

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

end of thread, other threads:[~2020-11-24 10:39 UTC | newest]

Thread overview: 21+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-10-22  5:10 [Bug default/26769] New: assert when comparing libstdc++ to itself woodard at redhat dot com
2020-10-22  6:00 ` [Bug default/26769] " woodard at redhat dot com
2020-10-23  4:48 ` woodard at redhat dot com
2020-10-23 22:22 ` woodard at redhat dot com
2020-11-10 10:22 ` dodji at redhat dot com
2020-11-12 22:23 ` woodard at redhat dot com
2020-11-16 17:15 ` dodji at redhat dot com
2020-11-16 20:33 ` woodard at redhat dot com
2020-11-17 17:39   ` Dodji Seketeli
2020-11-19 10:13   ` Dodji Seketeli
2020-11-17 17:39 ` dodji at seketeli dot org
2020-11-17 17:50 ` woodard at redhat dot com
2020-11-19 16:56 ` dodji at redhat dot com
2020-11-19 16:58 ` [Bug default/26769] abixml writer misses some member types in the output dodji at redhat dot com
2020-11-20 15:29 ` dodji at redhat dot com
2020-11-20 15:34 ` dodji at redhat dot com
2020-11-20 17:49 ` dodji at seketeli dot org
2020-11-20 22:29 ` woodard at redhat dot com
2020-11-23 12:26 ` dodji at redhat dot com
2020-11-23 17:42 ` woodard at redhat dot com
2020-11-24 10:39 ` dodji at redhat dot com

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