public inbox for libabigail@sourceware.org
 help / color / mirror / Atom feed
* [Bug default/27013] New: segv in dynamic cast abg-ir.cc:16205
@ 2020-12-04  6:10 woodard at redhat dot com
  2020-12-04 18:15 ` [Bug default/27013] " woodard at redhat dot com
                   ` (3 more replies)
  0 siblings, 4 replies; 5+ messages in thread
From: woodard at redhat dot com @ 2020-12-04  6:10 UTC (permalink / raw)
  To: libabigail

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

            Bug ID: 27013
           Summary: segv in dynamic cast abg-ir.cc:16205
           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: ---

This happens on aarch64 when running trunk as with commit 4f8c9b17 
/lib64/libraw.so.20.0.0 from LibRaw-0.20.2-1.fc33.aarch64

unsurprisingly this also affects /lib64/libraw_r.so.20.0.0

Starting program: /home/ben/Shared/Work/test/libabigail-aarch64/bin/abidw
--abidiff /lib64/libraw.so.20.0.0
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".

Program received signal SIGSEGV, Segmentation fault.
0x0000fffff7877b10 in __cxxabiv1::__dynamic_cast (src_ptr=0x3c83d40,
src_type=0xfffff7fa9fd0 <typeinfo for abigail::ir::decl_base>,
dst_type=0xfffff7faa288 <typeinfo for abigail::ir::var_decl>,
src2dst=src2dst@entry=-1) at ../../../../libstdc++-v3/libsupc++/dyncast.cc:50
50        const void *vtable = *static_cast <const void *const *> (src_ptr);
#0  0x0000fffff7877b10 in __cxxabiv1::__dynamic_cast (src_ptr=0x3c83d40,
src_type=0xfffff7fa9fd0 <typeinfo for abigail::ir::decl_base>,
dst_type=0xfffff7faa288 <typeinfo for abigail::ir::var_decl>,
src2dst=src2dst@entry=-1) at ../../../../libstdc++-v3/libsupc++/dyncast.cc:50
#1  0x0000fffff7d9c280 in abigail::ir::var_decl::operator== (this=0x10e4ba0,
o=...) at ../../../libabigail/src/abg-ir.cc:16205
#2  0x0000fffff7e2d01c 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-aarch64/../../libabigail/include/abg-diff-utils.h:772
#3  abigail::diff_utils::deep_ptr_eq_functor::operator()<abigail::ir::var_decl>
(this=<synthetic pointer>, second=<optimized out>, first=<optimized out>) at
/home/ben/Scratch/Work/build/libabigail-aarch64/../../libabigail/include/abg-diff-utils.h:763
#4 
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=0x10e4ba0, a_end=..., a_end@entry=0x0,
b_start=b_start@entry=0x1e185b0, b_end=..., b_end@entry=0x1e0dc80, v=...,
snak=...) at
/home/ben/Scratch/Work/build/libabigail-aarch64/../../libabigail/include/abg-diff-utils.h:912
#5  0x0000fffff7e2d4e4 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=0x10e4ba0,
a_end=a_end@entry=0x0, b_begin=b_begin@entry=0x1e185b0,
b_end=b_end@entry=0x1e0dc80, snak=..., ses_len=ses_len@entry=@0xffffffffe694:
0) at
/home/ben/Scratch/Work/build/libabigail-aarch64/../../libabigail/include/abg-diff-utils.h:1201
#6  0x0000fffff7e4ae08 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_base@entry=0x10e4ba0,
a_begin=a_begin@entry=0x10e4ba0, a_end=a_end@entry=0x0,
b_base=b_base@entry=0x1e185b0, b_begin=b_begin@entry=0x1e185b0,
b_end=0x1e0dc80, lcs=std::vector of length 0, capacity 0, ses=...,
ses_len=@0xffffffffe7f8: 0) at
/home/ben/Scratch/Work/build/libabigail-aarch64/../../libabigail/include/abg-diff-utils.h:1543
#7  0x0000fffff7e13654 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-aarch64/../../libabigail/include/abg-diff-utils.h:1766
#8 
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=...,
b_begin=0x1e185b0, b_base=0x1e185b0, a_end=0x0, a_begin=0x10e4ba0,
a_base=0x10e4ba0) at
/home/ben/Scratch/Work/build/libabigail-aarch64/../../libabigail/include/abg-diff-utils.h:1934
#9 
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=..., b_begin=...,
a_end=0x0, a_begin=0x10e4ba0) at
/home/ben/Scratch/Work/build/libabigail-aarch64/../../libabigail/include/abg-diff-utils.h:1981
#10 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
#11 0x0000000000404a74 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=0xffffffffee28) at ../../../libabigail/tools/abidw.cc:590
#12 main (argc=<optimized out>, argv=0xffffffffee28) 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] 5+ messages in thread

* [Bug default/27013] segv in dynamic cast abg-ir.cc:16205
  2020-12-04  6:10 [Bug default/27013] New: segv in dynamic cast abg-ir.cc:16205 woodard at redhat dot com
@ 2020-12-04 18:15 ` woodard at redhat dot com
  2020-12-04 18:35 ` woodard at redhat dot com
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 5+ messages in thread
From: woodard at redhat dot com @ 2020-12-04 18:15 UTC (permalink / raw)
  To: libabigail

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

--- Comment #1 from Ben Woodard <woodard at redhat dot com> ---
Note that this problem does not show up when running on x86_64 while examining
the aarch64 ELF files.

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

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

* [Bug default/27013] segv in dynamic cast abg-ir.cc:16205
  2020-12-04  6:10 [Bug default/27013] New: segv in dynamic cast abg-ir.cc:16205 woodard at redhat dot com
  2020-12-04 18:15 ` [Bug default/27013] " woodard at redhat dot com
@ 2020-12-04 18:35 ` woodard at redhat dot com
  2020-12-04 18:47 ` woodard at redhat dot com
  2021-06-10 21:04 ` woodard at redhat dot com
  3 siblings, 0 replies; 5+ messages in thread
From: woodard at redhat dot com @ 2020-12-04 18:35 UTC (permalink / raw)
  To: libabigail

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

--- Comment #2 from Ben Woodard <woodard at redhat dot com> ---
The converse test seems to fail in the same way. So while using x86_64 to
examine aarch64 ELF files works just fine. Using aarch64 to examine both
aarch64 and x86_64 versions of the same library fails.

In other words on x86_64:

$ for i in testfiles/*/*;do echo $i; abidw --abidiff $i;done
testfiles/aarch64/libHalf.so.24.0.0
testfiles/aarch64/libicutest.so.67.1
testfiles/aarch64/libraw.so.20.0.0
testfiles/aarch64/libtbb.so.2
testfiles/x86_64/libHalf.so.24.0.0
testfiles/x86_64/libicutest.so.67.1
testfiles/x86_64/libraw.so.20.0.0
testfiles/x86_64/libtbb.so.2

but on aarch64:

for i in testfiles/*/*;do echo $i;abidw --abidiff $i;done
testfiles/aarch64/libHalf.so.24.0.0
Segmentation fault (core dumped)
testfiles/aarch64/libicutest.so.67.1
abidw: ../../../libabigail/src/abg-comparison.cc:9004: void
abigail::comparison::corpus_diff::priv::ensure_lookup_tables_populated():
Assertion `__abg_cond__' failed.
Aborted (core dumped)
testfiles/aarch64/libraw.so.20.0.0
Segmentation fault (core dumped)
testfiles/aarch64/libtbb.so.2
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.
Aborted (core dumped)
testfiles/x86_64/libHalf.so.24.0.0
Segmentation fault (core dumped)
testfiles/x86_64/libicutest.so.67.1
abidw: ../../../libabigail/src/abg-comparison.cc:9004: void
abigail::comparison::corpus_diff::priv::ensure_lookup_tables_populated():
Assertion `__abg_cond__' failed.
Aborted (core dumped)
testfiles/x86_64/libraw.so.20.0.0
Segmentation fault (core dumped)
testfiles/x86_64/libtbb.so.2
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.
Aborted (core dumped)

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

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

* [Bug default/27013] segv in dynamic cast abg-ir.cc:16205
  2020-12-04  6:10 [Bug default/27013] New: segv in dynamic cast abg-ir.cc:16205 woodard at redhat dot com
  2020-12-04 18:15 ` [Bug default/27013] " woodard at redhat dot com
  2020-12-04 18:35 ` woodard at redhat dot com
@ 2020-12-04 18:47 ` woodard at redhat dot com
  2021-06-10 21:04 ` woodard at redhat dot com
  3 siblings, 0 replies; 5+ messages in thread
From: woodard at redhat dot com @ 2020-12-04 18:47 UTC (permalink / raw)
  To: libabigail

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

Ben Woodard <woodard at redhat dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Blocks|                            |27019


Referenced Bugs:

https://sourceware.org/bugzilla/show_bug.cgi?id=27019
[Bug 27019] BUILD metabug
-- 
You are receiving this mail because:
You are on the CC list for the bug.

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

* [Bug default/27013] segv in dynamic cast abg-ir.cc:16205
  2020-12-04  6:10 [Bug default/27013] New: segv in dynamic cast abg-ir.cc:16205 woodard at redhat dot com
                   ` (2 preceding siblings ...)
  2020-12-04 18:47 ` woodard at redhat dot com
@ 2021-06-10 21:04 ` woodard at redhat dot com
  3 siblings, 0 replies; 5+ messages in thread
From: woodard at redhat dot com @ 2021-06-10 21:04 UTC (permalink / raw)
  To: libabigail

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

Ben Woodard <woodard at redhat dot com> changed:

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

--- Comment #3 from Ben Woodard <woodard at redhat dot com> ---
This problem appears to be resolved in the current trunk.

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

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

end of thread, other threads:[~2021-06-10 21:04 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-12-04  6:10 [Bug default/27013] New: segv in dynamic cast abg-ir.cc:16205 woodard at redhat dot com
2020-12-04 18:15 ` [Bug default/27013] " woodard at redhat dot com
2020-12-04 18:35 ` woodard at redhat dot com
2020-12-04 18:47 ` woodard at redhat dot com
2021-06-10 21:04 ` woodard 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).