https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91170

            Bug ID: 91170
           Summary: [9/10 Regression] Crash in pdns resolver
           Product: gcc
           Version: 9.1.1
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: libstdc++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: rguenth at gcc dot gnu.org
  Target Milestone: ---

pdns reportedly now crashes like the following after known good r271393
and with known bad r272147

#0  0x00005555559ab4f0 in std::_Rb_tree<vState, std::pair<vState const,
std::atomic<unsigned long> >, std::_Select1st<std::pair<vState const,
std::atomic<unsigned long> > >, std::less<vState>,
std::allocator<std::pair<vState const, std::atomic<unsigned long> > >
>::_M_get_insert_unique_pos(vState const&) [clone .constprop.0] ()
#1  0x000055555568bf8f in std::_Rb_tree<vState, std::pair<vState const,
std::atomic<unsigned long> >, std::_Select1st<std::pair<vState const,
std::atomic<unsigned long> > >, std::less<vState>,
std::allocator<std::pair<vState const, std::atomic<unsigned long> > >
>::_M_get_insert_hint_unique_pos (this=0x555555a7cbc8 <g_stats+456>,
__k=@0x7ffff0003880: Insecure, __position=...) at
/usr/include/c++/9/bits/stl_tree.h:2233
#2  std::_Rb_tree<vState, std::pair<vState const, std::atomic<unsigned long> >,
std::_Select1st<std::pair<vState const, std::atomic<unsigned long> > >,
std::less<vState>, std::allocator<std::pair<vState const, std::atomic<unsigned
long> > > >::_M_emplace_hint_unique<std::piecewise_construct_t const&,
std::tuple<vState&&>, std::tuple<>
>(std::_Rb_tree_const_iterator<std::pair<vState const, std::atomic<unsigned
long> > >, std::piecewise_construct_t const&, std::tuple<vState&&>&&,
std::tuple<>&&) [clone .constprop.0] (__pos=..., this=0x555555a7cbc8
<g_stats+456>) at /usr/include/c++/9/bits/stl_tree.h:2459
#3  0x000055555569a70c in std::map<vState, std::atomic<unsigned long>,
std::less<vState>, std::allocator<std::pair<vState const, std::atomic<unsigned
long> > > >::operator[](vState&&) [clone .constprop.0] (
    __k=@0x7ffff68bdef0: Insecure, this=<optimized out>) at
/usr/include/c++/9/bits/stl_map.h:518
#4  0x0000555555740cff in registerAllStats () at rec_channel_rec.cc:1033
#5  0x000055555577743c in recursorThread (n=<optimized out>, worker=<optimized
out>) at pdns_recursor.cc:3437
#6  0x00007ffff7362e40 in std::execute_native_thread_routine
(__p=0x555555c91050) at ../../../../../libstdc++-v3/src/c++11/thread.cc:80
#7  0x00007ffff7112faa in start_thread (arg=<optimized out>) at
pthread_create.c:486
#8  0x00007ffff7eed73f in clone () at
../sysdeps/unix/sysv/linux/x86_64/clone.S:95


/etc/pdns/recursor.conf:

```
forward-zones=cubes.nordisch.org=172.16.16.1 16.172.in-addr.arpa=172.16.16.1
allow-from=127.0.0.0/8, 10.0.0.0/8, 192.168.0.0/16, 172.16.0.0/12
export-etc-hosts
dnssec=validate
local-address=0.0.0.0,::
local-port=1154
setgid=pdns
setuid=pdns
```

it should be reproducible with

gdb --args /usr/sbin/pdns_recursor --daemon=no --write-pid=no --disable-syslog
--log-timestamp=no

Reply via email to