public inbox for libabigail@sourceware.org
 help / color / mirror / Atom feed
From: "woodard at redhat dot com" <sourceware-bugzilla@sourceware.org>
To: libabigail@sourceware.org
Subject: [Bug default/26784] New: Crash in std::_Hash_bytes () when comparing a library to itself
Date: Sat, 24 Oct 2020 06:49:37 +0000	[thread overview]
Message-ID: <bug-26784-9487@http.sourceware.org/bugzilla/> (raw)

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

            Bug ID: 26784
           Summary: Crash in std::_Hash_bytes () 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: ---

This is another unique crash when comparing a library to itself.

$ lib=/lib64/libdjvulibre.so.21.6.0
$ rpm -qf $lib
djvulibre-libs-3.5.27-22.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/libdjvulibre.so.21.6.0
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".

Program received signal SIGBUS, Bus error.
std::_Hash_bytes (ptr=<optimized out>, len=140737351775296, seed=<optimized
out>) at ../../../../libstdc++-v3/libsupc++/hash_bytes.cc:147
147             const size_t data = shift_mix(unaligned_load(p) * mul) * mul;
(gdb) bt
#0  std::_Hash_bytes (ptr=<optimized out>, len=140737351775296, seed=<optimized
out>) at ../../../../libstdc++-v3/libsupc++/hash_bytes.cc:147
#1  0x00007ffff7dd7eb6 in std::_Hash_impl::hash (__seed=3339675911,
__clength=<optimized out>, __ptr=<optimized out>) at
/usr/include/c++/10/bits/functional_hash.h:197
#2  std::hash<std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> > >::operator() (__s="", this=0x7fffffffd380)
    at /usr/include/c++/10/bits/basic_string.h:6803
#3  std::__detail::_Hash_code_base<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> >,
std::pair<std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> > const, bool>, std::__detail::_Select1st,
std::hash<std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> > >, std::__detail::_Mod_range_hashing,
std::__detail::_Default_ranged_hash, true>::_M_hash_code (__k="",
this=0x7fffffffd380)
    at /usr/include/c++/10/bits/hashtable_policy.h:1379
#4  std::__detail::_Map_base<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> >,
std::pair<std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> > const, bool>,
std::allocator<std::pair<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > const, bool> >,
std::__detail::_Select1st, std::equal_to<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > >,
std::hash<std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> > >, std::__detail::_Mod_range_hashing,
std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy,
std::__detail::_Hashtable_traits<true, false, true>, true>::operator[]
(this=this@entry=0x7fffffffd380, __k="") at
/usr/include/c++/10/bits/hashtable_policy.h:707
#5  0x00007ffff7dd3198 in std::unordered_map<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> >, bool,
std::hash<std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > >,
std::allocator<std::pair<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > const, bool> > >::operator[]
(__k=..., this=0x7fffffffd380)
    at /usr/include/c++/10/bits/unordered_map.h:983
#6  abigail::ir::corpus::priv::build_unreferenced_symbols_tables
(this=0x4471a0) at ../../../libabigail/src/abg-corpus.cc:359
#7  0x00007ffff7dd387d in
abigail::ir::corpus::get_unreferenced_function_symbols (this=0x4477b0) at
../../../libabigail/src/abg-corpus.cc:1423
#8  0x00007ffff7e1139c in 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 /usr/include/c++/10/bits/shared_ptr_base.h:1324
#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.

             reply	other threads:[~2020-10-24  6:49 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-10-24  6:49 woodard at redhat dot com [this message]
2020-11-12 22:47 ` [Bug default/26784] " woodard at redhat dot com
2020-11-25  0:38 ` woodard at redhat dot com
2020-11-25  7:47 ` dodji at redhat dot com

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=bug-26784-9487@http.sourceware.org/bugzilla/ \
    --to=sourceware-bugzilla@sourceware.org \
    --cc=libabigail@sourceware.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).