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