Crash in PUPnP and UPnPContext classes
Occurs when closing Jami. See callstack:
[Thread 0x7fffa7fff640 (LWP 85247) exited]
[1613437562.277|19688|pupnp.cpp :165 ] PUPnP: Destroying instance 0x7fffac0010f0
malloc_consolidate(): unaligned fastbin chunk detected
--Type <RET> for more, q to quit, c to continue without paging--
Thread 1 "dring" received signal SIGABRT, Aborted.
__GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:49
49 ../sysdeps/unix/sysv/linux/raise.c: Aucun fichier ou dossier de ce type.
(gdb) bt
#0 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:49
#1 0x00007ffff6e40864 in __GI_abort () at abort.c:79
#2 0x00007ffff6ea3af6 in __libc_message (action=action@entry=do_abort, fmt=fmt@entry=0x7ffff6fcb128 "%s\n") at ../sysdeps/posix/libc_fatal.c:155
#3 0x00007ffff6eac46c in malloc_printerr (str=str@entry=0x7ffff6fcd4b8 "malloc_consolidate(): unaligned fastbin chunk detected") at malloc.c:5389
#4 0x00007ffff6eadb4c in malloc_consolidate (av=av@entry=0x7ffff6ffdba0 <main_arena>) at malloc.c:4509
#5 0x00007ffff6eaf023 in _int_malloc (av=av@entry=0x7ffff6ffdba0 <main_arena>, bytes=bytes@entry=2000) at malloc.c:3727
#6 0x00007ffff6eb1721 in GI_libc_malloc (bytes=2000) at malloc.c:3086
#7 0x00007ffff7d7dbef in ?? () from /lib/x86_64-linux-gnu/libupnp.so.13
#8 0x0000555555b04d85 in jami::upnp::PUPnP::actionDeletePortMappingsByDesc (this=0x7fffac0010f0, igd=..., description="JAMI") at pupnp.cpp:1304
#9 0x0000555555b00eee in jami::upnp::PUPnP::removeAllLocalMappings (this=0x7fffac0010f0,
igd=std::shared_ptr<class jami::upnp::IGD> (use count 2, weak count 0) = {...}) at pupnp.cpp:608
#10 0x0000555555afe4e7 in jami::upnp::PUPnP::~PUPnP (this=0x7fffac0010f0, __in_chrg=<optimized out>) at pupnp.cpp:171
#11 0x00005555557ada9f in gnu_cxx::new_allocator<jami::upnp::PUPnP>::destroy<jami::upnp::PUPnP> (this=0x7fffac0010f0, p=0x7fffac0010f0)
at /usr/include/c++/10/ext/new_allocator.h:156
#12 0x00005555557ad99d in std::allocator_traits<std::allocator<jami::upnp::PUPnP> >::destroy<jami::upnp::PUPnP> (a=..., p=0x7fffac0010f0)
at /usr/include/c++/10/bits/alloc_traits.h:531
#13 0x00005555557ad4c1 in std::_Sp_counted_ptr_inplace<jami::upnp::PUPnP, std::allocator<jami::upnp::PUPnP>, (__gnu_cxx::_Lock_policy)2>::Mdispose
(this=0x7fffac0010e0) at /usr/include/c++/10/bits/shared_ptr_base.h:560
#14 0x00005555556986fb in std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::Mrelease (this=0x7fffac0010e0)
at /usr/include/c++/10/bits/shared_ptr_base.h:158
#15 0x0000555555698283 in std::shared_count<(gnu_cxx::_Lock_policy)2>::~shared_count (this=0x7fffac002550, in_chrg=<optimized out>)
at /usr/include/c++/10/bits/shared_ptr_base.h:733
#16 0x000055555579d6fc in std::shared_ptr<jami::upnp::UPnPProtocol, (gnu_cxx::_Lock_policy)2>::~shared_ptr (this=0x7fffac002548,
in_chrg=<optimized out>) at /usr/include/c++/10/bits/shared_ptr_base.h:1183
#17 0x000055555579d71c in std::shared_ptr<jami::upnp::UPnPProtocol>::~shared_ptr (this=0x7fffac002548, __in_chrg=<optimized out>)
at /usr/include/c++/10/bits/shared_ptr.h:121
#18 0x00005555557ab022 in std::pair<jami::upnp::NatProtocolType const, std::shared_ptr<jami::upnp::UPnPProtocol> >::~pair (this=0x7fffac002540,
__in_chrg=<optimized out>) at /usr/include/c++/10/bits/stl_pair.h:211
#19 0x00005555557ab046 in gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<jami::upnp::NatProtocolType const, std::shared_ptr<jami::upnp::UPnPProtocol> > > >::destroy<std::pair<jami::upnp::NatProtocolType const, std::shared_ptr<jami::upnp::UPnPProtocol> > > (this=0x7fffd80064c0,
p=0x7fffac002540) at /usr/include/c++/10/ext/new_allocator.h:156
#20 0x00005555557a9a87 in std::allocator_traits<std::allocator<std::_Rb_tree_node<std::pair<jami::upnp::NatProtocolType const, std::shared_ptr<jami::upnp::UPnPProtocol> > > > >::destroy<std::pair<jami::upnp::NatProtocolType const, std::shared_ptr<jami::upnp::UPnPProtocol> > > (a=...,
p=0x7fffac002540) at /usr/include/c++/10/bits/alloc_traits.h:531
#21 0x00005555557a6eb9 in std::_Rb_tree<jami::upnp::NatProtocolType, std::pair<jami::upnp::NatProtocolType const, std::shared_ptr<jami::upnp::UPnPProtocol> >, std::_Select1st<std::pair<jami::upnp::NatProtocolType const, std::shared_ptr<jami::upnp::UPnPProtocol> > >, std::less<jami::upnp::NatProtocolType>, std::allocator<std::pair<jami::upnp::NatProtocolType const, std::shared_ptr<jami::upnp::UPnPProtocol> > > >::Mdestroy_node (
this=0x7fffd80064c0, __p=0x7fffac002520) at /usr/include/c++/10/bits/stl_tree.h:646
#22 0x00005555557a3645 in std::_Rb_tree<jami::upnp::NatProtocolType, std::pair<jami::upnp::NatProtocolType const, std::shared_ptr<jami::upnp::UPnPProtocol> >, std::_Select1st<std::pair<jami::upnp::NatProtocolType const, std::shared_ptr<jami::upnp::UPnPProtocol> > >, std::less<jami::upnp::NatProtocolType>, std::allocator<std::pair<jami::upnp::NatProtocolType const, std::shared_ptr<jami::upnp::UPnPProtocol> > > >::Mdrop_node (
this=0x7fffd80064c0, __p=0x7fffac002520) at /usr/include/c++/10/bits/stl_tree.h:654
#23 0x00005555557a08fa in std::_Rb_tree<jami::upnp::NatProtocolType, std::pair<jami::upnp::NatProtocolType const, std::shared_ptr<jami::upnp::UPnPProtocol> >, std::_Select1st<std::pair<jami::upnp::NatProtocolType const, std::shared_ptr<jami::upnp::UPnPProtocol> > >, std::less<jami::upnp::NatProtocol--Type <RET> for more, q to quit, c to continue without paging--
Type>, std::allocator<std::pair<jami::upnp::NatProtocolType const, std::shared_ptr<jami::upnp::UPnPProtocol> > > >::Merase (this=0x7fffd80064c0,
__x=0x7fffac002520) at /usr/include/c++/10/bits/stl_tree.h:1921
#24 0x000055555579e65c in std::_Rb_tree<jami::upnp::NatProtocolType, std::pair<jami::upnp::NatProtocolType const, std::shared_ptr<jami::upnp::UPnPProtocol> >, std::_Select1st<std::pair<jami::upnp::NatProtocolType const, std::shared_ptr<jami::upnp::UPnPProtocol> > >, std::less<jami::upnp::NatProtocolType>, std::allocator<std::pair<jami::upnp::NatProtocolType const, std::shared_ptr<jami::upnp::UPnPProtocol> > > >::~_Rb_tree (this=0x7fffd80064c0,
__in_chrg=<optimized out>) at /usr/include/c++/10/bits/stl_tree.h:991
#25 0x000055555579da1a in std::map<jami::upnp::NatProtocolType, std::shared_ptr<jami::upnp::UPnPProtocol>, std::less<jami::upnp::NatProtocolType>, std::allocator<std::pair<jami::upnp::NatProtocolType const, std::shared_ptr<jami::upnp::UPnPProtocol> > > >::~map (this=0x7fffd80064c0,
__in_chrg=<optimized out>) at /usr/include/c++/10/bits/stl_map.h:302
#26 0x00005555557901c1 in jami::upnp::UPnPContext::~UPnPContext (this=0x7fffd8006460, __in_chrg=<optimized out>) at upnp_context.cpp:47
#27 0x00005555557adb17 in gnu_cxx::new_allocator<jami::upnp::UPnPContext>::destroy<jami::upnp::UPnPContext> (this=0x7fffd8006460,
p=0x7fffd8006460) at /usr/include/c++/10/ext/new_allocator.h:156
#28 0x00005555557ada2d in std::allocator_traits<std::allocator<jami::upnp::UPnPContext> >::destroy<jami::upnp::UPnPContext> (a=...,
p=0x7fffd8006460) at /usr/include/c++/10/bits/alloc_traits.h:531
#29 0x00005555557ad811 in std::_Sp_counted_ptr_inplace<jami::upnp::UPnPContext, std::allocator<jami::upnp::UPnPContext>, (__gnu_cxx::_Lock_policy)2>::Mdispose (this=0x7fffd8006450) at /usr/include/c++/10/bits/shared_ptr_base.h:560
#30 0x00005555556986fb in std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::Mrelease (this=0x7fffd8006450)
at /usr/include/c++/10/bits/shared_ptr_base.h:158
#31 0x0000555555698283 in std::shared_count<(gnu_cxx::_Lock_policy)2>::~shared_count (
this=0x555556c31bf8 <jami::upnp::UPnPContext::getUPnPContext()::context+8>, in_chrg=<optimized out>)
at /usr/include/c++/10/bits/shared_ptr_base.h:733
#32 0x000055555574413c in std::shared_ptr<jami::upnp::UPnPContext, (gnu_cxx::_Lock_policy)2>::~shared_ptr (
this=0x555556c31bf0 <jami::upnp::UPnPContext::getUPnPContext()::context>, in_chrg=<optimized out>)
at /usr/include/c++/10/bits/shared_ptr_base.h:1183
#33 0x000055555574415c in std::shared_ptr<jami::upnp::UPnPContext>::~shared_ptr (
this=0x555556c31bf0 <jami::upnp::UPnPContext::getUPnPContext()::context>, __in_chrg=<optimized out>) at /usr/include/c++/10/bits/shared_ptr.h:121
#34 0x00007ffff6e5ea57 in run_exit_handlers (status=0, listp=0x7ffff6ffd738 <exit_funcs>, run_list_atexit=run_list_atexit@entry=true,
run_dtors=run_dtors@entry=true) at exit.c:108
#35 0x00007ffff6e5ec00 in __GI_exit (status=<optimized out>) at exit.c:139
#36 0x00007ffff6e42cb9 in __libc_start_main (main=0x555555697bc3 <main(int, char**)>, argc=2, argv=0x7fffffffe038, init=<optimized out>,