public inbox for libabigail@sourceware.org
 help / color / mirror / Atom feed
* [Bug default/26782] New: abidiff crashes in  abigail::diff_utils::deep_ptr_eq_functor::operator()<abigail::ir::var_decl> () when comparing a library to itself
@ 2020-10-24  6:26 woodard at redhat dot com
  2020-10-24  6:28 ` [Bug default/26782] " woodard at redhat dot com
                   ` (4 more replies)
  0 siblings, 5 replies; 6+ messages in thread
From: woodard at redhat dot com @ 2020-10-24  6:26 UTC (permalink / raw)
  To: libabigail

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

            Bug ID: 26782
           Summary: abidiff crashes in
                    abigail::diff_utils::deep_ptr_eq_functor::operator()<a
                    bigail::ir::var_decl> () when comparing a library 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: ---

$ lib=/lib64/libTKIVtk.so.7.4.0

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

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

* [Bug default/26782] abidiff crashes in  abigail::diff_utils::deep_ptr_eq_functor::operator()<abigail::ir::var_decl> () when comparing a library to itself
  2020-10-24  6:26 [Bug default/26782] New: abidiff crashes in abigail::diff_utils::deep_ptr_eq_functor::operator()<abigail::ir::var_decl> () when comparing a library to itself woodard at redhat dot com
@ 2020-10-24  6:28 ` woodard at redhat dot com
  2020-10-24  6:34 ` woodard at redhat dot com
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 6+ messages in thread
From: woodard at redhat dot com @ 2020-10-24  6:28 UTC (permalink / raw)
  To: libabigail

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

--- Comment #1 from Ben Woodard <woodard at redhat dot com> ---
$ lib=/lib64/libTKIVtk.so.7.4.0
$ rpm -qf $lib
opencascade-visualization-7.4.0-5.fc33.x86_64
$ abidw $lib > 1.dw
$ gdb --silent --args abidiff 1.dw $lib
Reading symbols from abidiff...
(gdb) r
Starting program: /home/ben/Scratch/Work/test/libabigail-x86_64/bin/abidiff
1.dw /lib64/libTKIVtk.so.7.4.0
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".

Program received signal SIGSEGV, Segmentation fault.
abigail::diff_utils::deep_ptr_eq_functor::operator()<abigail::ir::var_decl>
(this=<optimized out>, second=<optimized out>, first=0x429d4c0)
    at
/home/ben/Scratch/Work/build/libabigail-x86_64/../../libabigail/include/abg-diff-utils.h:763
763       operator()(const T* first,
(gdb) bt
#0  abigail::diff_utils::deep_ptr_eq_functor::operator()<abigail::ir::var_decl>
(this=<optimized out>, second=<optimized out>, first=0x429d4c0)
    at
/home/ben/Scratch/Work/build/libabigail-x86_64/../../libabigail/include/abg-diff-utils.h:763
#1  abigail::diff_utils::deep_ptr_eq_functor::operator()<abigail::ir::var_decl>
(this=<synthetic pointer>, second=0x6578d40, first=0x429d4c0)
    at
/home/ben/Scratch/Work/build/libabigail-x86_64/../../libabigail/include/abg-diff-utils.h:763
#2 
abigail::diff_utils::end_of_fr_d_path_in_k<__gnu_cxx::__normal_iterator<abigail::ir::var_decl*
const*, std::vector<abigail::ir::var_decl*,
std::allocator<abigail::ir::var_decl*> > >,
abigail::diff_utils::deep_ptr_eq_functor> (k=k@entry=0, d=d@entry=0,
a_begin=..., a_begin@entry=0x429d4c0, a_end=..., a_end@entry=0x0, 
    b_start=b_start@entry=0x6578d40, b_end=..., b_end@entry=0x7463650073,
v=..., snak=...)
    at
/home/ben/Scratch/Work/build/libabigail-x86_64/../../libabigail/include/abg-diff-utils.h:912
#3  0x00007ffff7e2c153 in
abigail::diff_utils::compute_middle_snake<__gnu_cxx::__normal_iterator<abigail::ir::var_decl*
const*, std::vector<abigail::ir::var_decl*,
std::allocator<abigail::ir::var_decl*> > >,
abigail::diff_utils::deep_ptr_eq_functor> (a_begin=a_begin@entry=0x429d4c0,
a_end=..., a_end@entry=0x0, b_begin=..., 
    b_begin@entry=0x6578d40, b_end=..., b_end@entry=0x7463650073, snak=...,
ses_len=ses_len@entry=@0x7fffffffd2cc: 0)
    at
/home/ben/Scratch/Work/build/libabigail-x86_64/../../libabigail/include/abg-diff-utils.h:266
#4  0x00007ffff7e46adb in
abigail::diff_utils::compute_diff<__gnu_cxx::__normal_iterator<abigail::ir::var_decl*
const*, std::vector<abigail::ir::var_decl*,
std::allocator<abigail::ir::var_decl*> > >,
abigail::diff_utils::deep_ptr_eq_functor> (a_base=..., a_begin=0x429d4c0,
a_end=a_end@entry=0x0, b_base=..., b_base@entry=0x6578d40, 
    b_begin=..., b_begin@entry=0x6578d40, b_end=b_end@entry=0x7463650073,
lcs=std::vector of length 0, capacity 0, ses=..., ses_len=@0x7fffffffd450: 0)
    at /usr/include/c++/10/bits/stl_vector.h:97
#5  0x00007ffff7e1133d in
abigail::diff_utils::compute_diff<__gnu_cxx::__normal_iterator<abigail::ir::var_decl*
const*, std::vector<abigail::ir::var_decl*,
std::allocator<abigail::ir::var_decl*> > >,
abigail::diff_utils::deep_ptr_eq_functor> (ses=..., lcs=std::vector of length
0, capacity 0, b_end=..., b_begin=..., b_base=..., 
    a_end=..., a_begin=..., a_base=...) at
/home/ben/Scratch/Work/build/libabigail-x86_64/../../libabigail/include/abg-diff-utils.h:1766
#6 
abigail::diff_utils::compute_diff<__gnu_cxx::__normal_iterator<abigail::ir::var_decl*
const*, std::vector<abigail::ir::var_decl*,
std::allocator<abigail::ir::var_decl*> > >,
abigail::diff_utils::deep_ptr_eq_functor> (ses=..., b_end=0x7463650073,
b_begin=0x6578d40, b_base=0x6578d40, a_end=0x0, a_begin=..., a_base=...)
    at
/home/ben/Scratch/Work/build/libabigail-x86_64/../../libabigail/include/abg-diff-utils.h:1934
#7 
abigail::diff_utils::compute_diff<__gnu_cxx::__normal_iterator<abigail::ir::var_decl*
const*, std::vector<abigail::ir::var_decl*,
std::allocator<abigail::ir::var_decl*> > >,
abigail::diff_utils::deep_ptr_eq_functor> (ses=..., b_end=0x7463650073,
b_begin=0x6578d40, a_end=0x0, a_begin=...)
    at
/home/ben/Scratch/Work/build/libabigail-x86_64/../../libabigail/include/abg-diff-utils.h:1981
#8  abigail::comparison::compute_diff (f=std::shared_ptr<abigail::ir::corpus>
(use count 3, weak count 0) = {...}, 
    s=std::shared_ptr<abigail::ir::corpus> (use count 3, weak count 0) = {...}, 
    ctxt=std::shared_ptr<abigail::comparison::diff_context> (use count 2, weak
count 1) = {...}) at ../../../libabigail/src/abg-comparison.cc:11084
#9  0x00000000004067cf in main (argc=<optimized out>, argv=<optimized out>) at
/usr/include/c++/10/bits/shared_ptr_base.h:736

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

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

* [Bug default/26782] abidiff crashes in  abigail::diff_utils::deep_ptr_eq_functor::operator()<abigail::ir::var_decl> () when comparing a library to itself
  2020-10-24  6:26 [Bug default/26782] New: abidiff crashes in abigail::diff_utils::deep_ptr_eq_functor::operator()<abigail::ir::var_decl> () when comparing a library to itself woodard at redhat dot com
  2020-10-24  6:28 ` [Bug default/26782] " woodard at redhat dot com
@ 2020-10-24  6:34 ` woodard at redhat dot com
  2020-11-12 22:44 ` woodard at redhat dot com
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 6+ messages in thread
From: woodard at redhat dot com @ 2020-10-24  6:34 UTC (permalink / raw)
  To: libabigail

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

--- Comment #2 from Ben Woodard <woodard at redhat dot com> ---
Another example of the same problem:

$ rpm -qf $lib
opencascade-ocaf-7.4.0-5.fc33.x86_64
$ echo $lib
/lib64/libTKTObj.so.7.4.0

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

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

* [Bug default/26782] abidiff crashes in  abigail::diff_utils::deep_ptr_eq_functor::operator()<abigail::ir::var_decl> () when comparing a library to itself
  2020-10-24  6:26 [Bug default/26782] New: abidiff crashes in abigail::diff_utils::deep_ptr_eq_functor::operator()<abigail::ir::var_decl> () when comparing a library to itself woodard at redhat dot com
  2020-10-24  6:28 ` [Bug default/26782] " woodard at redhat dot com
  2020-10-24  6:34 ` woodard at redhat dot com
@ 2020-11-12 22:44 ` woodard at redhat dot com
  2020-11-25  0:34 ` woodard at redhat dot com
  2020-11-25  7:55 ` dodji at redhat dot com
  4 siblings, 0 replies; 6+ messages in thread
From: woodard at redhat dot com @ 2020-11-12 22:44 UTC (permalink / raw)
  To: libabigail

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

--- Comment #3 from Ben Woodard <woodard at redhat dot com> ---
The problem still seems to exist as of commit
2cc1ab7ee879da20688c4a72ec93c73123d7b9aa 

Here is an up to date backtrace for one example from
dbusmenu-qt-0.9.3-0.25.20160218.fc33.x86_64 it looks a little bit different
than the previous versions but it crashes in the same place

$ cat libdbusmenu-qt.so.2.6.0.bt
Reading symbols from abidw...
Starting program: /home/ben/Scratch/Work/test/libabigail-x86_64/bin/abidw
--abidiff /lib64/libdbusmenu-qt.so.2.6.0
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".

Program received signal SIGSEGV, Segmentation fault.
0x00007ffff7e2ba17 in
abigail::diff_utils::deep_ptr_eq_functor::operator()<abigail::ir::var_decl>
(this=<optimized out>, second=<optimized out>, first=<optimized out>) at
/home/ben/Scratch/Work/build/libabigail-x86_64/../../libabigail/include/abg-diff-utils.h:772
772         return *first == *second;
#0  0x00007ffff7e2ba17 in
abigail::diff_utils::deep_ptr_eq_functor::operator()<abigail::ir::var_decl>
(this=<optimized out>, second=<optimized out>, first=<optimized out>) at
/home/ben/Scratch/Work/build/libabigail-x86_64/../../libabigail/include/abg-diff-utils.h:772
#1  abigail::diff_utils::deep_ptr_eq_functor::operator()<abigail::ir::var_decl>
(this=<synthetic pointer>, second=0x473cb90, first=0x1d38360) at
/home/ben/Scratch/Work/build/libabigail-x86_64/../../libabigail/include/abg-diff-utils.h:763
#2 
abigail::diff_utils::end_of_fr_d_path_in_k<__gnu_cxx::__normal_iterator<abigail::ir::var_decl*
const*, std::vector<abigail::ir::var_decl*,
std::allocator<abigail::ir::var_decl*> > >,
abigail::diff_utils::deep_ptr_eq_functor> (k=k@entry=0, d=d@entry=0,
a_begin=..., a_begin@entry=0x1d38360, a_end=..., a_end@entry=0x1bbb100,
b_start=b_start@entry=0x473cb90, b_end=..., b_end@entry=0x4943400, v=...,
snak=...) at
/home/ben/Scratch/Work/build/libabigail-x86_64/../../libabigail/include/abg-diff-utils.h:912
#3  0x00007ffff7e2c153 in
abigail::diff_utils::compute_middle_snake<__gnu_cxx::__normal_iterator<abigail::ir::var_decl*
const*, std::vector<abigail::ir::var_decl*,
std::allocator<abigail::ir::var_decl*> > >,
abigail::diff_utils::deep_ptr_eq_functor> (a_begin=a_begin@entry=0x1d38360,
a_end=..., a_end@entry=0x1bbb100, b_begin=..., b_begin@entry=0x473cb90,
b_end=..., b_end@entry=0x4943400, snak=...,
ses_len=ses_len@entry=@0x7fffffffd8dc: 0) at
/home/ben/Scratch/Work/build/libabigail-x86_64/../../libabigail/include/abg-diff-utils.h:1201
#4  0x00007ffff7e46adb in
abigail::diff_utils::compute_diff<__gnu_cxx::__normal_iterator<abigail::ir::var_decl*
const*, std::vector<abigail::ir::var_decl*,
std::allocator<abigail::ir::var_decl*> > >,
abigail::diff_utils::deep_ptr_eq_functor> (a_base=..., a_begin=0x1d38360,
a_end=a_end@entry=0x1bbb100, b_base=..., b_base@entry=0x473cb90, b_begin=...,
b_begin@entry=0x473cb90, b_end=b_end@entry=0x4943400, lcs=std::vector of length
0, capacity 0, ses=..., ses_len=@0x7fffffffda60: 0) at
/home/ben/Scratch/Work/build/libabigail-x86_64/../../libabigail/include/abg-diff-utils.h:1543
#5  0x00007ffff7e1133d in
abigail::diff_utils::compute_diff<__gnu_cxx::__normal_iterator<abigail::ir::var_decl*
const*, std::vector<abigail::ir::var_decl*,
std::allocator<abigail::ir::var_decl*> > >,
abigail::diff_utils::deep_ptr_eq_functor> (ses=..., lcs=std::vector of length
0, capacity 0, b_end=..., b_begin=..., b_base=..., a_end=..., a_begin=...,
a_base=...) at
/home/ben/Scratch/Work/build/libabigail-x86_64/../../libabigail/include/abg-diff-utils.h:1778
#6 
abigail::diff_utils::compute_diff<__gnu_cxx::__normal_iterator<abigail::ir::var_decl*
const*, std::vector<abigail::ir::var_decl*,
std::allocator<abigail::ir::var_decl*> > >,
abigail::diff_utils::deep_ptr_eq_functor> (ses=..., b_end=0x4943400,
b_begin=0x473cb90, b_base=0x473cb90, a_end=0x1bbb100, a_begin=..., a_base=...)
at
/home/ben/Scratch/Work/build/libabigail-x86_64/../../libabigail/include/abg-diff-utils.h:1934
#7 
abigail::diff_utils::compute_diff<__gnu_cxx::__normal_iterator<abigail::ir::var_decl*
const*, std::vector<abigail::ir::var_decl*,
std::allocator<abigail::ir::var_decl*> > >,
abigail::diff_utils::deep_ptr_eq_functor> (ses=..., b_end=0x4943400,
b_begin=0x473cb90, a_end=0x1bbb100, a_begin=...) at
/home/ben/Scratch/Work/build/libabigail-x86_64/../../libabigail/include/abg-diff-utils.h:1981
#8  abigail::comparison::compute_diff (f=std::shared_ptr<abigail::ir::corpus>
(use count 3, weak count 0) = {...}, s=std::shared_ptr<abigail::ir::corpus>
(use count 3, weak count 0) = {...},
ctxt=std::shared_ptr<abigail::comparison::diff_context> (use count 2, weak
count 1) = {...}) at ../../../libabigail/src/abg-comparison.cc:11084
#9  0x0000000000406443 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=0x7fffffffe068) at ../../../libabigail/tools/abidw.cc:590
#10 main (argc=<optimized out>, argv=0x7fffffffe068) 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] 6+ messages in thread

* [Bug default/26782] abidiff crashes in  abigail::diff_utils::deep_ptr_eq_functor::operator()<abigail::ir::var_decl> () when comparing a library to itself
  2020-10-24  6:26 [Bug default/26782] New: abidiff crashes in abigail::diff_utils::deep_ptr_eq_functor::operator()<abigail::ir::var_decl> () when comparing a library to itself woodard at redhat dot com
                   ` (2 preceding siblings ...)
  2020-11-12 22:44 ` woodard at redhat dot com
@ 2020-11-25  0:34 ` woodard at redhat dot com
  2020-11-25  7:55 ` dodji at redhat dot com
  4 siblings, 0 replies; 6+ messages in thread
From: woodard at redhat dot com @ 2020-11-25  0:34 UTC (permalink / raw)
  To: libabigail

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

--- Comment #4 from Ben Woodard <woodard at redhat dot com> ---
This continues to manifest with commit 2c0dd017 from dodji/PR26769

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

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

* [Bug default/26782] abidiff crashes in  abigail::diff_utils::deep_ptr_eq_functor::operator()<abigail::ir::var_decl> () when comparing a library to itself
  2020-10-24  6:26 [Bug default/26782] New: abidiff crashes in abigail::diff_utils::deep_ptr_eq_functor::operator()<abigail::ir::var_decl> () when comparing a library to itself woodard at redhat dot com
                   ` (3 preceding siblings ...)
  2020-11-25  0:34 ` woodard at redhat dot com
@ 2020-11-25  7:55 ` dodji at redhat dot com
  4 siblings, 0 replies; 6+ messages in thread
From: dodji at redhat dot com @ 2020-11-25  7:55 UTC (permalink / raw)
  To: libabigail

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

dodji at redhat dot com changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|---                         |WORKSFORME

--- Comment #5 from dodji at redhat dot com ---
This now works for me, with the current master branch.

The tip of the git tree I used is this:

c2ce1a38 dwarf-reader: support artificially generated translation units.

Thanks for reporting this problem!

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

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

end of thread, other threads:[~2020-11-25  7:55 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-10-24  6:26 [Bug default/26782] New: abidiff crashes in abigail::diff_utils::deep_ptr_eq_functor::operator()<abigail::ir::var_decl> () when comparing a library to itself woodard at redhat dot com
2020-10-24  6:28 ` [Bug default/26782] " woodard at redhat dot com
2020-10-24  6:34 ` woodard at redhat dot com
2020-11-12 22:44 ` woodard at redhat dot com
2020-11-25  0:34 ` woodard at redhat dot com
2020-11-25  7:55 ` 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).