[Bug 214470] dns/powerdns-recursor: fails to build with boost 1.62

bugzilla-noreply at freebsd.org bugzilla-noreply at freebsd.org
Sun Nov 20 03:30:41 UTC 2016


https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=214470

--- Comment #2 from Jan Beich (mail not working) <jbeich at FreeBSD.org> ---
Created attachment 177195
  --> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=177195&action=edit
partial fix

(In reply to Antoine Brodin from comment #1)
poudriere bulk -t is green for head-amd64 + boost 1.55 (current), 10.1 i386 +
boost 1.62 (upcoming)

Beware, runtime may crash with boost 1.62.

  Assertion failed: (this != &x), function operator=, file
/usr/local/include/boost/container/string.hpp, line 830.
  (lldb) bt
  * thread #4: tid = 100838, 0x0000000802e66fea libc.so.7`thr_kill + 10 at
thr_kill.S:3, stop reason =signal SIGABRT
    * frame #0: 0x0000000802e66fea libc.so.7`thr_kill + 10 at thr_kill.S:3
      frame #1: 0x0000000802e66fbb libc.so.7`__raise(s=6) + 59 at raise.c:52
      frame #2: 0x0000000802e66f29 libc.so.7`abort + 73 at abort.c:65
      frame #3: 0x0000000802eebfa1 libc.so.7`__assert(func=<unavailable>,
file=<unavailable>, line=<unavailable>, failedexpr=<unavailable>) + 81 at
assert.c:51
      frame #4: 0x000000000045a206
pdns_recursor`boost::container::basic_string<char, std::__1::char_traits<char>,
boost::container::new_allocator<char> >::operator=(this=0x0000000804190048,
x=0x0000000804190048) + 70 at string.hpp:830
      frame #5: 0x000000000047adaf
pdns_recursor`DNSName::operator=(this=0x0000000804190048,
(null)=0x0000000804190048) + 47 at dnsname.hh:63
      frame #6: 0x000000000092f799 pdns_recursor`void
std::__1::random_shuffle<std::__1::__wrap_iter<DNSName*>, unsigned int
(&)(unsigned int)>(std::__1::__wrap_iter<DNSName*>,
std::__1::__wrap_iter<DNSName*>, unsigned int (&&&)(unsigned int)) [inlined]
std::__1::enable_if<(is_move_constructible<DNSName>::value) &&
(is_move_assignable<DNSName>::value), void>::type
std::__1::swap<DNSName>(__x=0x0000000804190048, __y=0x0000000804190048) + 59 at
type_traits:4422
      frame #7: 0x000000000092f75e pdns_recursor`void
std::__1::random_shuffle<std::__1::__wrap_iter<DNSName*>, unsigned int
(&)(unsigned int)>(__first=__wrap_iter<DNSName *> @ 0x000000080417db38,
__last=__wrap_iter<DNSName *> @ 0x000000080417db30,
__rand=0x000000000044d8a0)(unsigned int)) + 398 at algorithm:3126
      frame #8: 0x0000000000928630
pdns_recursor`SyncRes::shuffleInSpeedOrder(this=0x00000008041888a0,tnameservers=0x0000000804187040,
prefix=0x0000000804182350) + 2480 at syncres.cc:890
      frame #9: 0x00000000009092ff
pdns_recursor`SyncRes::doResolveAt(this=0x00000008041888a0,
nameservers=0x0000000804187040, auth=DNSName @ 0x0000000804187710,
flawedNSSet=false, qname=0x0000000804188888, qtype=0x0000000804188448,
ret=0x0000000804188450, depth=0, beenthere=0x0000000804187910) + 7807 at
syncres.cc:987
      frame #10: 0x00000000008fb5ce
pdns_recursor`SyncRes::doResolve(this=0x00000008041888a0,
qname=0x0000000804188888, qtype=0x0000000804188448, ret=0x0000000804188450,
depth=0, beenthere=0x0000000804187910) + 7726 at syncres.cc:470
      frame #11: 0x00000000008f9707
pdns_recursor`SyncRes::beginResolve(this=0x00000008041888a0,
qname=0x0000000804188888, qtype=0x0000000804188448, qclass=1,
ret=0x0000000804188450) + 7015 at syncres.cc:180
      frame #12: 0x000000000076dae7
pdns_recursor`houseKeeping((null)=0x0000000000000000) + 2903 at
pdns_recursor.cc:1918
      frame #13: 0x00000000007aa850 pdns_recursor`MTasker<PacketID,
std::__1::basic_string<char, std::__1::char_traits<char>,
std::__1::allocator<char> > >::makeThread(this=0x0000000804188b90)(void*),
void*)::'lambda'()::operator()() const + 128 at mtasker.cc:270
      frame #14: 0x00000000007aa58d
pdns_recursor`boost::detail::function::void_function_obj_invoker0<MTasker<PacketID,
std::__1::basic_string<char, std::__1::char_traits<char>,
std::__1::allocator<char>> >::makeThread(void (*)(void*), void*)::'lambda'(),
void>::invoke(function_obj_ptr=0x0000000804188b90) + 29 at
function_template.hpp:159
      frame #15: 0x0000000000710a78
pdns_recursor`boost::function0<void>::operator(this=0x0000000804188b88)() const
+ 120 at function_template.hpp:770
      frame #16: 0x0000000000710742 pdns_recursor`threadWrapper(t=(fctx =
0x00007fffdfbfa978, data = 0x00007fffdfbfa9c8)) + 146 at
mtasker_fcontext.cc:133
      frame #17: 0x00000008016b675b libboost_context.so.1.62.0`make_fcontext +
27


or inside 103amd64 jail with just boost-libs and powerdns-recursor built
WITH_DEBUG=1

  Assertion failed: (this != &x), function operator=, file
/usr/local/include/boost/container/string.hpp, line 830.
  [New LWP 100673 of process 63088]
  [New LWP 100672 of process 63088]
  [New LWP 100684 of process 63088]

  Thread 2 received signal SIGABRT, Aborted.
  [Switching to LWP 100673 of process 63088]
  0x00000008024cf35a in thr_kill () from /lib/libc.so.7
  (gdb) bt
  #0  0x00000008024cf35a in thr_kill () from /lib/libc.so.7
  #1  0x00000008024cf346 in raise () from /lib/libc.so.7
  #2  0x00000008024cf2c9 in abort () from /lib/libc.so.7
  #3  0x0000000802535f91 in __assert () from /lib/libc.so.7
  #4  0x00000000005d259f in boost::container::basic_string<char,
std::__1::char_traits<char>, boost::container::new_allocator<char>
>::operator=(boost::container::basic_string<char, std::__1::char_traits<char>,
boost::container::new_allocator<char> >&&) (this=<optimized out>, x=<optimized
out>)
      at /usr/local/include/boost/container/string.hpp:830
  #5  DNSName::operator=(DNSName&&) (this=<optimized out>) at ./dnsname.hh:63
  #6  std::__1::swap<DNSName> (__x=..., __y=...) at
/usr/include/c++/v1/type_traits:3563
  #7  std::__1::random_shuffle<std::__1::__wrap_iter<DNSName*>, unsigned int
(&)(unsigned int)> (
      __rand=<optimized out>, __first=..., __last=...) at
/usr/include/c++/v1/algorithm:3115
  #8  0x00000000005ca509 in SyncRes::shuffleInSpeedOrder (this=0x80395aa28,
tnameservers=...,
      prefix=...) at syncres.cc:890
  #9  0x00000000005bac6a in SyncRes::doResolveAt (this=0x80395aa28,
nameservers=..., auth=...,
      flawedNSSet=<optimized out>, qname=..., qtype=..., ret=...,
depth=<optimized out>,
      beenthere=...) at syncres.cc:987
  #10 0x00000000005b3242 in SyncRes::doResolve (this=0x80395aa28, qname=...,
qtype=..., ret=...,
      depth=0, beenthere=...) at syncres.cc:470
  #11 0x00000000005b1680 in SyncRes::beginResolve (this=0x80395aa28, qname=...,
qtype=...,
      qclass=<optimized out>, ret=...) at syncres.cc:180
  #12 0x00000000005467ff in houseKeeping () at pdns_recursor.cc:1918
  #13 0x0000000000559f91 in operator() (this=0x80395acf0) at ./mtasker.cc:270
  #14 0x0000000000523b91 in boost::function0<void>::operator() (this=<optimized
out>,
      this=<optimized out>) at
/usr/local/include/boost/function/function_template.hpp:770
  #15 threadWrapper (t=...) at ./mtasker_fcontext.cc:133
  #16 0x00000008010822ab in make_fcontext () at
libs/context/src/asm/make_x86_64_sysv_elf_gas.S:51
  #17 0x0000000000000000 in ?? ()

-- 
You are receiving this mail because:
You are the assignee for the bug.


More information about the freebsd-ports-bugs mailing list