PurpleI2P / i2pd

🛡 I2P: End-to-End encrypted and anonymous Internet
https://i2pd.website
BSD 3-Clause "New" or "Revised" License
3.22k stars 418 forks source link

Various Segmentation faults #1545

Closed LLE8 closed 1 year ago

LLE8 commented 4 years ago

Debian Buster 64 bit, i2pd 2.32.0 i2pd.conf: ipv6 = true ntcp = false nat = false bandwidth = X notransit = false floodfill = false transittunnels = 5000 Это был тот экземпляр https://github.com/PurpleI2P/i2pd/issues/1500#issuecomment-633276179

# gdb /usr/sbin/i2pd /var/lib/i2pd/core
GNU gdb (Debian 8.2.1-2+b3) 8.2.1
Copyright (C) 2018 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
    <http://www.gnu.org/software/gdb/documentation/>.

For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from /usr/sbin/i2pd...Reading symbols from /usr/lib/debug/.build-id/36/15ab43da01e9690cf179d39b5d1ff779d213b0.debug...done.
done.
[New LWP 5195]
[New LWP 5184]
[New LWP 5185]
[New LWP 5186]
[New LWP 5188]
[New LWP 5190]
[New LWP 5191]
[New LWP 5192]
[New LWP 5193]
[New LWP 5194]
[New LWP 5196]
[New LWP 5197]
[New LWP 5198]
[New LWP 5189]
[New LWP 5187]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Core was generated by `/usr/sbin/i2pd --conf=/etc/i2pd/i2pd.conf --tunconf=/etc/i2pd/tunnels.conf --tu'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0  i2p::tunnel::TunnelPool::ProcessDeliveryStatus (this=0x559071f71370, msg=...) at libi2pd/Tunnel.h:72
72      libi2pd/Tunnel.h: No such file or directory.
[Current thread is 1 (Thread 0x7fa3c97fa700 (LWP 5195))]
(gdb) bt
#0  i2p::tunnel::TunnelPool::ProcessDeliveryStatus (this=0x559071f71370, msg=std::shared_ptr<i2p::I2NPMessage> (use count 5, weak count 0) = {...}) at libi2pd/Tunnel.h:72
#1  0x000055906ff4badc in i2p::HandleI2NPMessage (msg=std::shared_ptr<i2p::I2NPMessage> (use count 5, weak count 0) = {...}) at /usr/include/c++/8/ext/atomicity.h:96
#2  0x000055906ff431c2 in i2p::tunnel::TunnelEndpoint::HandleNextMessage (this=0x7fa3a45825b0, msg=...) at /usr/include/c++/8/ext/atomicity.h:96
#3  0x000055906ff44f20 in i2p::tunnel::TunnelEndpoint::HandleDecryptedTunnelDataMsg (this=0x7fa3a45825b0,
    msg=std::shared_ptr<i2p::I2NPMessage> (use count 5, weak count 0) = {...}) at libi2pd/TunnelEndpoint.cpp:118
#4  0x000055906fee1f8d in i2p::tunnel::InboundTunnel::HandleTunnelDataMsg (this=0x7fa3a4582520, msg=...) at /usr/include/c++/8/ext/atomicity.h:96
#5  0x000055906fee6f9a in i2p::tunnel::Tunnels::Run (this=0x559070101380 <i2p::tunnel::tunnels>) at /usr/include/c++/8/ext/atomicity.h:96
#6  0x00007fa3d31ffb2f in ?? () from /lib/x86_64-linux-gnu/libstdc++.so.6
#7  0x00007fa3d32cffa3 in start_thread (arg=<optimized out>) at pthread_create.c:486
#8  0x00007fa3d2edd4cf in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
(gdb) info threads
  Id   Target Id                        Frame
* 1    Thread 0x7fa3c97fa700 (LWP 5195) i2p::tunnel::TunnelPool::ProcessDeliveryStatus (this=0x559071f71370,
    msg=std::shared_ptr<i2p::I2NPMessage> (use count 5, weak count 0) = {...}) at libi2pd/Tunnel.h:72
  2    Thread 0x7fa3d2dd0740 (LWP 5184) 0x00007fa3d32d9bf0 in __GI___nanosleep (requested_time=requested_time@entry=0x7ffc362815f0, remaining=remaining@entry=0x7ffc362815f0)
    at ../sysdeps/unix/sysv/linux/nanosleep.c:28
  3    Thread 0x7fa3d2dcf700 (LWP 5185) futex_wait_cancelable (private=0, expected=0, futex_word=0x559070101e60 <i2p::log::logger+288>)
    at ../sysdeps/unix/sysv/linux/futex-internal.h:88
  4    Thread 0x7fa3d25ce700 (LWP 5186) futex_abstimed_wait_cancelable (private=0, abstime=0x7fa3d25cde80, expected=0, futex_word=0x559070102128 <i2p::data::netdb+424>)
    at ../sysdeps/unix/sysv/linux/futex-internal.h:205
  5    Thread 0x7fa3d15cc700 (LWP 5188) 0x00007fa3d2edd7ef in epoll_wait (epfd=6, events=events@entry=0x7fa3d15cb790, maxevents=maxevents@entry=128, timeout=-1)
    at ../sysdeps/unix/sysv/linux/epoll_wait.c:30
  6    Thread 0x7fa3cbfff700 (LWP 5190) 0x00007fa3d2edd7ef in epoll_wait (epfd=14, events=events@entry=0x7fa3cbffe790, maxevents=maxevents@entry=128, timeout=-1)
    at ../sysdeps/unix/sysv/linux/epoll_wait.c:30
  7    Thread 0x7fa3cb7fe700 (LWP 5191) 0x00007fa3d2edd7ef in epoll_wait (epfd=20, events=events@entry=0x7fa3cb7fd790, maxevents=maxevents@entry=128, timeout=-1)
    at ../sysdeps/unix/sysv/linux/epoll_wait.c:30
  8    Thread 0x7fa3caffd700 (LWP 5192) 0x00007fa3d2edd7ef in epoll_wait (epfd=17, events=events@entry=0x7fa3caffc790, maxevents=maxevents@entry=128, timeout=-1)
    at ../sysdeps/unix/sysv/linux/epoll_wait.c:30
  9    Thread 0x7fa3ca7fc700 (LWP 5193) 0x00007fa3d2edd7ef in epoll_wait (epfd=23, events=events@entry=0x7fa3ca7fb790, maxevents=maxevents@entry=128, timeout=-1)
    at ../sysdeps/unix/sysv/linux/epoll_wait.c:30
  10   Thread 0x7fa3c9ffb700 (LWP 5194) 0x00007fa3d2edd7ef in epoll_wait (epfd=28, events=events@entry=0x7fa3c9ffa790, maxevents=maxevents@entry=128, timeout=-1)
    at ../sysdeps/unix/sysv/linux/epoll_wait.c:30
  11   Thread 0x7fa3c8ff9700 (LWP 5196) 0x00007fa3d2edd7ef in epoll_wait (epfd=32, events=events@entry=0x7fa3c8ff8790, maxevents=maxevents@entry=128, timeout=-1)
    at ../sysdeps/unix/sysv/linux/epoll_wait.c:30
  12   Thread 0x7fa3b3fff700 (LWP 5197) 0x00007fa3d2edd7ef in epoll_wait (epfd=37, events=events@entry=0x7fa3b3ffe790, maxevents=maxevents@entry=128, timeout=-1)
    at ../sysdeps/unix/sysv/linux/epoll_wait.c:30
  13   Thread 0x7fa3b37fe700 (LWP 5198) 0x00007fa3d2edd7ef in epoll_wait (epfd=41, events=events@entry=0x7fa3b37fd790, maxevents=maxevents@entry=128, timeout=-1)
    at ../sysdeps/unix/sysv/linux/epoll_wait.c:30
  14   Thread 0x7fa3d0dcb700 (LWP 5189) 0x000055906fee7562 in i2p::tunnel::Tunnels::PostTunnelData (this=0x559070101380 <i2p::tunnel::tunnels>,
    msgs=std::vector of length 1, capacity 32 = {...}) at libi2pd/Tunnel.cpp:801
  15   Thread 0x7fa3d1dcd700 (LWP 5187) 0x00007fa3d37394c6 in ?? () from /lib/x86_64-linux-gnu/libcrypto.so.1.1
(gdb)
LLE8 commented 3 years ago

i2pd 2.36 Debian 10.8 64 bit

root@debian:~#
root@debian:~# gdb /usr/sbin/i2pd /var/lib/i2pd/core
GNU gdb (Debian 8.2.1-2+b3) 8.2.1
Copyright (C) 2018 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
    <http://www.gnu.org/software/gdb/documentation/>.

For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from /usr/sbin/i2pd...Reading symbols from /usr/lib/debug/.build-id/ec/516f61f5090ddba1904ddfc6b4ba3520ea8491.debug...done.
done.
[New LWP 910]
[New LWP 902]
[New LWP 904]
[New LWP 905]
[New LWP 906]
[New LWP 907]
[New LWP 911]
[New LWP 912]
[New LWP 914]
[New LWP 915]
[New LWP 916]
[New LWP 917]
[New LWP 913]
[New LWP 909]
[New LWP 908]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Core was generated by `/usr/sbin/i2pd --conf=/etc/i2pd/i2pd.conf --tunconf=/etc/i2pd/tunnels.conf --tu'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0  tcache_get (tc_idx=3) at malloc.c:2934
2934    malloc.c: No such file or directory.
[Current thread is 1 (Thread 0x7faa0ffff700 (LWP 910))]
(gdb) info threads
  Id   Target Id                       Frame
* 1    Thread 0x7faa0ffff700 (LWP 910) tcache_get (tc_idx=3) at malloc.c:2934
  2    Thread 0x7faa17786740 (LWP 902) 0x00007faa17c9fbf0 in __GI___nanosleep (
    requested_time=requested_time@entry=0x7fff88d401a0, remaining=remaining@entry=0x7fff88d401a0)
    at ../sysdeps/unix/sysv/linux/nanosleep.c:28
  3    Thread 0x7faa17705700 (LWP 904) futex_wait_cancelable (private=0, expected=0,
    futex_word=0x55d35af759a4 <i2p::log::logger+292>) at ../sysdeps/unix/sysv/linux/futex-internal.h:88
  4    Thread 0x7faa16f04700 (LWP 905) futex_abstimed_wait_cancelable (private=0, abstime=0x7faa16f03e80,
    expected=0, futex_word=0x55d35af75fdc <i2p::data::netdb+444>)
    at ../sysdeps/unix/sysv/linux/futex-internal.h:205
  5    Thread 0x7faa16703700 (LWP 906) futex_wait_cancelable (private=0, expected=0,
    futex_word=0x55d35af75734 <i2p::transport::transports+308>) at ../sysdeps/unix/sysv/linux/futex-internal.h:88
  6    Thread 0x7faa15f02700 (LWP 907) 0x00007faa178937ef in epoll_wait (epfd=6,
    events=events@entry=0x7faa15f01790, maxevents=maxevents@entry=128, timeout=-1)
    at ../sysdeps/unix/sysv/linux/epoll_wait.c:30
  7    Thread 0x7faa0f7fe700 (LWP 911) 0x00007faa178937ef in epoll_wait (epfd=17,
    events=events@entry=0x7faa0f7fd790, maxevents=maxevents@entry=128, timeout=-1)
    at ../sysdeps/unix/sysv/linux/epoll_wait.c:30
  8    Thread 0x7faa0effd700 (LWP 912) 0x00007faa178937ef in epoll_wait (epfd=25,
    events=events@entry=0x7faa0effc790, maxevents=maxevents@entry=128, timeout=-1)
    at ../sysdeps/unix/sysv/linux/epoll_wait.c:30
  9    Thread 0x7faa0dffb700 (LWP 914) 0x00007faa178937ef in epoll_wait (epfd=29,
    events=events@entry=0x7faa0dffa790, maxevents=maxevents@entry=128, timeout=-1)
    at ../sysdeps/unix/sysv/linux/epoll_wait.c:30
  10   Thread 0x7faa0d7fa700 (LWP 915) 0x00007faa178937ef in epoll_wait (epfd=32,
    events=events@entry=0x7faa0d7f9790, maxevents=maxevents@entry=128, timeout=-1)
    at ../sysdeps/unix/sysv/linux/epoll_wait.c:30
  11   Thread 0x7faa0cff9700 (LWP 916) 0x00007faa178937ef in epoll_wait (epfd=37,
    events=events@entry=0x7faa0cff8790, maxevents=maxevents@entry=128, timeout=-1)
    at ../sysdeps/unix/sysv/linux/epoll_wait.c:30
  12   Thread 0x7fa9fffff700 (LWP 917) 0x00007faa178937ef in epoll_wait (epfd=41,
    events=events@entry=0x7fa9ffffe790, maxevents=maxevents@entry=128, timeout=-1)
    at ../sysdeps/unix/sysv/linux/epoll_wait.c:30
  13   Thread 0x7faa0e7fc700 (LWP 913) futex_abstimed_wait_cancelable (private=0, abstime=0x7faa0e7fbe80,
    expected=0, futex_word=0x55d35af75564 <i2p::tunnel::tunnels+484>)
    at ../sysdeps/unix/sysv/linux/futex-internal.h:205
  14   Thread 0x7faa14f00700 (LWP 909) 0x00007faa178937ef in epoll_wait (epfd=14,
    events=events@entry=0x7faa14eff790, maxevents=maxevents@entry=128, timeout=-1)
    at ../sysdeps/unix/sysv/linux/epoll_wait.c:30
  15   Thread 0x7faa15701700 (LWP 908) 0x00007faa178937ef in epoll_wait (epfd=9,
    events=events@entry=0x7faa15700790, maxevents=maxevents@entry=128, timeout=-1)
    at ../sysdeps/unix/sysv/linux/epoll_wait.c:30
(gdb) bt full
#0  tcache_get (tc_idx=3) at malloc.c:2934
        e = 0x40a0000040a
        e = <optimized out>
        __PRETTY_FUNCTION__ = "tcache_get"
#1  __GI___libc_malloc (bytes=64) at malloc.c:3042
        ar_ptr = <optimized out>
        victim = <optimized out>
        hook = <optimized out>
        tbytes = 80
        tc_idx = 3
        __PRETTY_FUNCTION__ = "__libc_malloc"
#2  0x00007faa181af5c9 in CRYPTO_zalloc () from /usr/lib/x86_64-linux-gnu/libcrypto.so.1.1
No symbol table info available.
#3  0x00007faa180e973a in BN_CTX_new () from /usr/lib/x86_64-linux-gnu/libcrypto.so.1.1
No symbol table info available.
#4  0x00007faa18122ebc in DH_check_pub_key () from /usr/lib/x86_64-linux-gnu/libcrypto.so.1.1
No symbol table info available.
#5  0x00007faa18123850 in ?? () from /usr/lib/x86_64-linux-gnu/libcrypto.so.1.1
No symbol table info available.
#6  0x000055d35adf4f2b in i2p::crypto::DHKeys::Agree (this=0x7faa0406e830, pub=<optimized out>,
    shared=0x7faa0fffe9d0 "\037") at libi2pd/Crypto.cpp:287
        pk = 0x7faa04078b20
#7  0x000055d35ae4e95a in i2p::transport::SSUSession::CreateAESandMacKey (this=this@entry=0x7faa0419f710,
    pubKey=<optimized out>) at /usr/include/c++/8/bits/shared_ptr_base.h:1018
        sharedKey = "\037\000\000\000\000\000\000\000\320\061\n\004\252\177\000\000\060\216\002\004\252\177\000\000\000\247e^\323U\000\000\060\216\002\004\252\177\000\000#\n\017\030\252\177\000\000\320\061\n\004\252\177\000\000\000\236\277\211斘?\000\001\000\000\000\000\000\000\070\350\006\004\252\177\000\000\320\061\n\004\252\177\000\000\377\377\377\377", '\000' <repeats 12 times>, "\060\350\006\004\252\177\000\000\020\367\031\004\252\177\000\000=\023\017\030\252\177\000\000\000\247e^\323U\000\000\260\217\002\004\252\177\000\000\000\247e^\323U\000\000\000\236\277\211斘?\000\000\000\000\000\000\000\000\070\350\006\004\252\177\000\000\320\061\n\004\252\177\000\000 \350\006\004\252\177\000\000\060\350\006\004\252\177\000\000\357L\337Z"...
        sessionKey = <optimized out>
        macKey = <optimized out>
#8  0x000055d35ae4eb77 in i2p::transport::SSUSession::ProcessSessionRequest (this=0x7faa0419f710,
    buf=0x7faa0800c7b0 "v`\275}\255s\225\375v\242=}r6\225\360x\233\274\020\376\362k\211P\354\356\373)\336\377\f\004`D\312{\002", len=<optimized out>) at libi2pd/SSUSession.cpp:233
        sendRelayTag = true
        headerSize = 40
#9  0x000055d35ae4f9e3 in i2p::transport::SSUSession::ProcessMessage (this=0x7faa0419f710,
    buf=0x7faa0800c7b0 "v`\275}\255s\225\375v\242=}r6\225\360x\233\274\020\376\362k\211P\354\356\373)\336\377\f\004`D\312{\002", len=<optimized out>, senderEndpoint=...) at libi2pd/SSUSession.cpp:170
        headerSize = 40
        header = 0x7faa0800c7b0
--Type <RET> for more, q to quit, c to continue without paging--c
#10 0x000055d35ae502a9 in i2p::transport::SSUSession::ProcessNextMessage (this=0x7faa0419f710, buf=0x7faa0800c7b0 "v`\275}\255s\225\375v\242=}r6\225\360x\233\274\020\376\362k\211P\354\356\373)\336\377\f\004`D\312{\002", len=<optimized out>, senderEndpoint=...) at libi2pd/SSUSession.cpp:140
No locals.
#11 0x000055d35ae2b6d6 in i2p::transport::SSUServer::HandleReceivedPackets (this=0x55d35e2af050, packets=..., sessions=0x55d35e2af248) at libi2pd/SSU.cpp:404
        packet = @0x7fa9f402b7d0: 0x7faa0800c7b0
        __for_range = <optimized out>
        __for_begin = <optimized out>
        __for_end = <optimized out>
        session = std::shared_ptr<i2p::transport::SSUSession> (use count 3, weak count 1) = {get() = 0x7faa0419f710}
#12 0x000055d35ae2eaa8 in std::__invoke_impl<void, void (i2p::transport::SSUServer::*&)(std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*), i2p::transport::SSUServer*&, std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >&, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*&> (__t=@0x7faa0fffed90: 0x55d35e2af050, __f=@0x7faa0fffed60: (void (i2p::transport::SSUServer::*)(class i2p::transport::SSUServer * const, class std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, class std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > > *)) 0x55d35ae2b630 <i2p::transport::SSUServer::HandleReceivedPackets(std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*)>) at /usr/include/c++/8/bits/invoke.h:89
No locals.
#13 std::__invoke<void (i2p::transport::SSUServer::*&)(std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*), i2p::transport::SSUServer*&, std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >&, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*&> (__fn=@0x7faa0fffed60: (void (i2p::transport::SSUServer::*)(class i2p::transport::SSUServer * const, class std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, class std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > > *)) 0x55d35ae2b630 <i2p::transport::SSUServer::HandleReceivedPackets(std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*)>) at /usr/include/c++/8/bits/invoke.h:95
No locals.
#14 std::_Bind<void (i2p::transport::SSUServer::*(i2p::transport::SSUServer*, std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*))(std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*)>::__call<void, , 0ul, 1ul, 2ul>(std::tuple<>&&, std::_Index_tuple<0ul, 1ul, 2ul>) (__args=..., this=0x7faa0fffed60) at /usr/include/c++/8/functional:400
No locals.
#15 std::_Bind<void (i2p::transport::SSUServer::*(i2p::transport::SSUServer*, std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*))(std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*)>::operator()<, void>() (this=0x7faa0fffed60) at /usr/include/c++/8/functional:484
No locals.
#16 boost::asio::asio_handler_invoke<std::_Bind<void (i2p::transport::SSUServer::*(i2p::transport::SSUServer*, std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*))(std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*)> >(std::_Bind<void (i2p::transport::SSUServer::*(i2p::transport::SSUServer*, std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*))(std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*)>&, ...) (function=...) at /usr/include/boost/asio/handler_invoke_hook.hpp:69
No locals.
#17 boost_asio_handler_invoke_helpers::invoke<std::_Bind<void (i2p::transport::SSUServer::*(i2p::transport::SSUServer*, std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*))(std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*)>, std::_Bind<void (i2p::transport::SSUServer::*(i2p::transport::SSUServer*, std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*))(std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*)> >(std::_Bind<void (i2p::transport::SSUServer::*(i2p::transport::SSUServer*, std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*))(std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*)>&, std::_Bind<void (i2p::transport::SSUServer::*(i2p::transport::SSUServer*, std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*))(std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*)>&) (context=..., function=...) at /usr/include/boost/asio/detail/handler_invoke_helpers.hpp:37
No locals.
#18 boost::asio::detail::handler_work<std::_Bind<void (i2p::transport::SSUServer::*(i2p::transport::SSUServer*, std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*))(std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*)>, boost::asio::system_executor>::complete<std::_Bind<void (i2p::transport::SSUServer::*(i2p::transport::SSUServer*, std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*))(std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*)> >(std::_Bind<void (i2p::transport::SSUServer::*(i2p::transport::SSUServer*, std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*))(std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*)>&, std::_Bind<void (i2p::transport::SSUServer::*(i2p::transport::SSUServer*, std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*))(std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*)>&) (this=<synthetic pointer>, handler=..., function=...) at /usr/include/boost/asio/detail/handler_work.hpp:82
No locals.
#19 boost::asio::detail::completion_handler<std::_Bind<void (i2p::transport::SSUServer::*(i2p::transport::SSUServer*, std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*))(std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*)> >::do_complete(void*, boost::asio::detail::scheduler_operation*, boost::system::error_code const&, unsigned long) (owner=<optimized out>, base=<optimized out>) at /usr/include/boost/asio/detail/completion_handler.hpp:70
        b = <optimized out>
        h = <optimized out>
        p = {h = 0x7faa0fffed60, v = 0x0, p = 0x0}
        w = <optimized out>
        handler = {<std::_Weak_result_type<void (i2p::transport::SSUServer::*)(std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*)>> = {<std::_Weak_result_type_memfun<void (i2p::transport::SSUServer::*)(std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*), true>> = {<No data fields>}, <No data fields>}, _M_f = (void (i2p::transport::SSUServer::*)(i2p::transport::SSUServer * const, std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > > *)) 0x55d35ae2b630 <i2p::transport::SSUServer::HandleReceivedPackets(std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*)>, _M_bound_args = std::tuple containing = {[1] = 0x55d35e2af050, [2] = std::vector of length 1, capacity 1 = {0x7faa0800c7b0}, [3] = 0x55d35e2af248}}
#20 0x000055d35ae286a0 in boost::asio::detail::scheduler_operation::complete (bytes_transferred=0, ec=..., owner=0x55d35e2bbc00, this=<optimized out>) at /usr/include/boost/asio/detail/scheduler_operation.hpp:40
No locals.
#21 boost::asio::detail::scheduler::do_run_one (ec=..., this_thread=..., lock=..., this=0x55d35e2bbc00) at /usr/include/boost/asio/detail/impl/scheduler.ipp:401
        task_result = 0
        on_exit = {scheduler_ = 0x55d35e2bbc00, lock_ = 0x7faa0fffee00, this_thread_ = 0x7faa0fffee70}
        o = <optimized out>
        more_handlers = true
#22 boost::asio::detail::scheduler::run (ec=..., this=0x55d35e2bbc00) at /usr/include/boost/asio/detail/impl/scheduler.ipp:154
        this_thread = {<boost::asio::detail::thread_info_base> = {<boost::asio::detail::noncopyable> = {<No data fields>}, reusable_memory_ = {0x0, 0x0}}, private_op_queue = {<boost::asio::detail::noncopyable> = {<No data fields>}, front_ = 0x0, back_ = 0x0}, private_outstanding_work = 0}
        ctx = {<boost::asio::detail::noncopyable> = {<No data fields>}, key_ = 0x55d35e2bbc00, value_ = 0x7faa0fffee70, next_ = 0x0}
        lock = {<boost::asio::detail::noncopyable> = {<No data fields>}, mutex_ = @0x55d35e2bbc30, locked_ = false}
        n = <optimized out>
        this_thread = <optimized out>
        ctx = <optimized out>
        lock = <optimized out>
        n = <optimized out>
#23 boost::asio::io_context::run (this=0x55d35e2af070) at /usr/include/boost/asio/impl/io_context.ipp:62
        ec = {m_val = 0, m_cat = 0x7faa17d70070}
        s = <optimized out>
        ec = <optimized out>
        s = <optimized out>
#24 i2p::transport::SSUServer::Run (this=0x55d35e2af050) at libi2pd/SSU.cpp:152
No locals.
#25 0x00007faa17bb5b2f in ?? () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
No symbol table info available.
#26 0x00007faa17c95fa3 in start_thread (arg=<optimized out>) at pthread_create.c:486
        ret = <optimized out>
        pd = <optimized out>
        now = <optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140368389601024, 6072365644129135624, 140735488981806, 140735488981807, 140368389601024, 1, -6119970099041768440, -6120022510000378872}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = <optimized out>
#27 0x00007faa178934cf in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
No locals.
(gdb)

i2pd.conf: ipv4 = true ipv6 = true ntcp = false nat = false bandwidth = X notransit = false floodfill = true elgamal = true остальное по умолчанию

LLE8 commented 3 years ago

i2pd 2.36 Debian 9.13 64 bit На этот раз в логах ничего относящегося к падению не нашел, но /var/lib/i2pd/core есть, причина его появления непонятна

# gdb /usr/sbin/i2pd  /var/lib/i2pd/core
GNU gdb (Debian 7.12-6) 7.12.0.20161007-git
Copyright (C) 2016 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from /usr/sbin/i2pd...Reading symbols from /usr/lib/debug/.build-id/95/fbdc1ba4562994edb058d487e7fd39d6f32403.debug...done.
done.
[New LWP 1008]
[New LWP 805]
[New LWP 807]
[New LWP 1005]
[New LWP 1006]
[New LWP 1007]
[New LWP 1009]
[New LWP 1010]
[New LWP 1011]
[New LWP 1012]
[New LWP 1013]
[New LWP 1014]
[New LWP 1015]
[New LWP 1016]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Core was generated by `/usr/sbin/i2pd --conf=/etc/i2pd/i2pd.conf --tunconf=/etc/i2pd/tunnels.conf --tu'.
Program terminated with signal SIGABRT, Aborted.
#0  0x00007f9454ad4fff in raise () from /lib/x86_64-linux-gnu/libc.so.6
[Current thread is 1 (Thread 0x7f9452691700 (LWP 1008))]
(gdb) info threads
  Id   Target Id         Frame
* 1    Thread 0x7f9452691700 (LWP 1008) 0x00007f9454ad4fff in raise () from /lib/x86_64-linux-gnu/libc.so.6
  2    Thread 0x7f94570ef740 (LWP 805) 0x00007f94558fa7fd in nanosleep () from /lib/x86_64-linux-gnu/libpthread.so.0
  3    Thread 0x7f9454695700 (LWP 807) 0x00007f94558f717f in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/x86_64-linux-gnu/libpthread.so.0
  4    Thread 0x7f9453e94700 (LWP 1005) 0x00007f94558f7528 in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib/x86_64-linux-gnu/libpthread.so.0
  5    Thread 0x7f9453693700 (LWP 1006) 0x00007f94558f717f in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/x86_64-linux-gnu/libpthread.so.0
  6    Thread 0x7f9452e92700 (LWP 1007) 0x00007f9454b8b303 in epoll_wait () from /lib/x86_64-linux-gnu/libc.so.6
  7    Thread 0x7f9451e90700 (LWP 1009) 0x00007f9454b8b303 in epoll_wait () from /lib/x86_64-linux-gnu/libc.so.6
  8    Thread 0x7f945168f700 (LWP 1010) 0x00007f9454b8b303 in epoll_wait () from /lib/x86_64-linux-gnu/libc.so.6
  9    Thread 0x7f9450e8e700 (LWP 1011) 0x00007f9454b8b303 in epoll_wait () from /lib/x86_64-linux-gnu/libc.so.6
  10   Thread 0x7f944bfff700 (LWP 1012) 0x00007f94558f7528 in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib/x86_64-linux-gnu/libpthread.so.0
  11   Thread 0x7f944b7fe700 (LWP 1013) 0x00007f9454b8b303 in epoll_wait () from /lib/x86_64-linux-gnu/libc.so.6
  12   Thread 0x7f944affd700 (LWP 1014) 0x00007f9454b8b303 in epoll_wait () from /lib/x86_64-linux-gnu/libc.so.6
  13   Thread 0x7f944a7fc700 (LWP 1015) 0x00007f9454b8b303 in epoll_wait () from /lib/x86_64-linux-gnu/libc.so.6
  14   Thread 0x7f9449ffb700 (LWP 1016) 0x00007f9454b8b303 in epoll_wait () from /lib/x86_64-linux-gnu/libc.so.6
(gdb) bt full
#0  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51
        set = {__val = {0, 18446744073709551615, 18446744073709551615, 18446744073709551615, 18446744073709551615, 18446744073709551615, 18446744073709551615, 18446744073709551615,
            18446744073709551615, 18446744073709551615, 4294967295, 3276212736508309552, 3472328296227676272, 3472339291342909488, 2314885530818457632, 2314885530818453536}}
        pid = <optimized out>
        tid = <optimized out>
#1  0x00007f9454ad651a in __GI_abort () at abort.c:118
        act = {__sigaction_handler = {sa_handler = 0x0, sa_sigaction = 0x0}, sa_mask = {__val = {18446744073709551615 <repeats 16 times>}}, sa_flags = 0, sa_restorer = 0x0}
        sigs = {__val = {32, 0 <repeats 15 times>}}
#2  0x00007f9454b12c00 in __libc_message (do_abort=do_abort@entry=2, fmt=fmt@entry=0x7f9454c07fd0 "*** Error in `%s': %s: 0x%s ***\n") at ../sysdeps/posix/libc_fatal.c:175
        ap = {{gp_offset = 40, fp_offset = 32660, overflow_arg_area = 0x7f9452690c40, reg_save_area = 0x7f9452690bd0}}
        fd = 2
        on_2 = <optimized out>
        list = <optimized out>
        nlist = <optimized out>
        cp = <optimized out>
        written = <optimized out>
#3  0x00007f9454b18fc6 in malloc_printerr (action=3, str=0x7f9454c04b1e "corrupted size vs. prev_size", ptr=<optimized out>, ar_ptr=<optimized out>) at malloc.c:5049
        buf = "00007f9434095c20"
        cp = <optimized out>
        ar_ptr = <optimized out>
        ptr = <optimized out>
        str = 0x7f9454c04b1e "corrupted size vs. prev_size"
        action = 3
#4  0x00007f9454b1a0c1 in _int_free (av=0x7f9434000020, p=0x7f9434095b70, have_lock=0) at malloc.c:4052
        size = 176
        fb = <optimized out>
        nextchunk = 0x7f9434095c20
        nextsize = 128
        nextinuse = <optimized out>
        prevsize = <optimized out>
        bck = <optimized out>
        fwd = <optimized out>
        errstr = 0x0
        locked = <optimized out>
        __func__ = "_int_free"
#5  0x000055ae327c7ba4 in boost::asio::detail::thread_info_base::deallocate (size=<optimized out>, pointer=<optimized out>, this_thread=<optimized out>)
    at /usr/include/boost/asio/detail/thread_info_base.hpp:80
No locals.
#6  boost::asio::asio_handler_deallocate (size=160, pointer=0x7f9434095b80) at /usr/include/boost/asio/impl/handler_alloc_hook.ipp:67
No locals.
#7  boost_asio_handler_alloc_helpers::deallocate<std::_Bind<std::_Mem_fn<void (i2p::transport::NTCP2Session::*)(boost::system::error_code const&, unsigned long)> (std::shared_ptr<i2p::transport::NTCP2Session>, std::_Placeholder<1>, std::_Placeholder<2>)> >(void*, unsigned long, std::_Bind<std::_Mem_fn<void (i2p::transport::NTCP2Session::*)(boost::system::error_code const&, unsigned long)> (std::shared_ptr<i2p::transport::NTCP2Session>, std::_Placeholder<1>, std::_Placeholder<2>)>&) (h=..., s=160, p=0x7f9434095b80)
    at /usr/include/boost/asio/detail/handler_alloc_helpers.hpp:48
No locals.
#8  boost::asio::detail::asio_handler_deallocate<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::stream_socket_service<boost::asio::ip::tcp> >, boost::asio::mutable_buffers_1, boost::asio::detail::transfer_all_t, std::_Bind<std::_Mem_fn<void (i2p::transport::NTCP2Session::*)(boost::system::error_code const&, unsigned long)> (std::shared_ptr<i2p::transport::NTCP2Session>, std::_Placeholder<1>, std::_Placeholder<2>)> >(void*, unsigned long, boost::asio::detail::read_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::stream_socket_service<boost::asio::ip::tcp> >, boost::asio::mutable_buffers_1, boost::asio::detail::transfer_all_t, std::_Bind<std::_Mem_fn<void (i2p::transport::NTCP2Session::*)(boost::system::error_---Type <return> to continue, or q <return> to quit---
code const&, unsigned long)> (std::shared_ptr<i2p::transport::NTCP2Session>, std::_Placeholder<1>, std::_Placeholder<2>)> >*) (this_handler=<optimized out>, size=160,
    pointer=0x7f9434095b80) at /usr/include/boost/asio/impl/read.hpp:480
No locals.
#9  boost_asio_handler_alloc_helpers::deallocate<boost::asio::detail::read_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::stream_socket_service<boost::asio::ip::tcp> >, boost::asio::mutable_buffers_1, boost::asio::detail::transfer_all_t, std::_Bind<std::_Mem_fn<void (i2p::transport::NTCP2Session::*)(boost::system::error_code const&, unsigned long)> (std::shared_ptr<i2p::transport::NTCP2Session>, std::_Placeholder<1>, std::_Placeholder<2>)> > >(void*, unsigned long, boost::asio::detail::read_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::stream_socket_service<boost::asio::ip::tcp> >, boost::asio::mutable_buffers_1, boost::asio::detail::transfer_all_t, std::_Bind<std::_Mem_fn<void (i2p::transport::NTCP2Session::*)(boost::system::error_code const&, unsigned long)> (std::shared_ptr<i2p::transport::NTCP2Session>, std::_Placeholder<1>, std::_Placeholder<2>)> >&) (h=..., s=160, p=0x7f9434095b80)
    at /usr/include/boost/asio/detail/handler_alloc_helpers.hpp:48
No locals.
#10 boost::asio::detail::reactive_socket_recv_op<boost::asio::mutable_buffers_1, boost::asio::detail::read_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::stream_socket_service<boost::asio::ip::tcp> >, boost::asio::mutable_buffers_1, boost::asio::detail::transfer_all_t, std::_Bind<std::_Mem_fn<void (i2p::transport::NTCP2Session::*)(boost::system::error_code const&, unsigned long)> (std::shared_ptr<i2p::transport::NTCP2Session>, std::_Placeholder<1>, std::_Placeholder<2>)> > >::ptr::reset() (this=<optimized out>, this=<optimized out>)
    at /usr/include/boost/asio/detail/reactive_socket_recv_op.hpp:73
No locals.
#11 0x000055ae327d5bb2 in boost::asio::detail::reactive_socket_recv_op<boost::asio::mutable_buffers_1, boost::asio::detail::read_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::stream_socket_service<boost::asio::ip::tcp> >, boost::asio::mutable_buffers_1, boost::asio::detail::transfer_all_t, std::_Bind<std::_Mem_fn<void (i2p::transport::NTCP2Session::*)(boost::system::error_code const&, unsigned long)> (std::shared_ptr<i2p::transport::NTCP2Session>, std::_Placeholder<1>, std::_Placeholder<2>)> > >::do_complete(boost::asio::detail::task_io_service*, boost::asio::detail::task_io_service_operation*, boost::system::error_code const&, unsigned long) (owner=0x55ae364745c0, base=<optimized out>)
    at /usr/include/boost/asio/detail/reactive_socket_recv_op.hpp:103
        o = <optimized out>
        p = {h = 0x7f9452690d40, v = 0x7f9434095b80, p = 0x0}
        handler = {handler_ = {<boost::asio::detail::base_from_completion_cond<boost::asio::detail::transfer_all_t>> = {<No data fields>}, stream_ = @0x7f943c039b08, buffer_ = {
              data_ = 0x7f943c039bf0, size_ = 2}, start_ = 1, total_transferred_ = 0,
            handler_ = {<std::_Weak_result_type<std::_Mem_fn<void (i2p::transport::NTCP2Session::*)(boost::system::error_code const&, unsigned long)> >> = {<std::_Weak_result_type_impl<std::_Mem_fn<void (i2p::transport::NTCP2Session::*)(boost::system::error_code const&, unsigned long)> >> = {<std::_Maybe_get_result_type<std::_Mem_fn<void (i2p::transport::NTCP2Session::*)(boost::system::error_code const&, unsigned long)>, void>> = {<No data fields>}, <No data fields>}, <No data fields>},
              _M_f = {<std::_Mem_fn_base<void (i2p::transport::NTCP2Session::*)(boost::system::error_code const&, unsigned long), true>> = {<std::_Maybe_unary_or_binary_function<void, i2p::transport::NTCP2Session*, boost::system::error_code const&, unsigned long>> = {<No data fields>}, _M_pmf = (void (i2p::transport::NTCP2Session::*)(i2p::transport::NTCP2Session * const,
    const boost::system::error_code &,
    unsigned long)) 0x55ae327cf140 <i2p::transport::NTCP2Session::HandleReceivedLength(boost::system::error_code const&, unsigned long)>}, <No data fields>},
              _M_bound_args = std::tuple containing = {[1] = std::shared_ptr (count 3, weak 1) 0x7f94341ff300, [2] = {<std::_Placeholder<1>> = {<No data fields>}, <No data fields>},
                [3] = {<std::_Placeholder<2>> = {<No data fields>}, <No data fields>}}}}, arg1_ = {m_val = 125, m_cat = 0x7f94563b30c8}, arg2_ = 0}
#12 0x000055ae3279ff4d in boost::asio::detail::task_io_service_operation::complete (bytes_transferred=0, ec=..., owner=..., this=<optimized out>)
    at /usr/include/boost/asio/detail/task_io_service_operation.hpp:38
No locals.
#13 boost::asio::detail::task_io_service::do_run_one (ec=..., this_thread=..., lock=..., this=0x55ae364745c0) at /usr/include/boost/asio/detail/impl/task_io_service.ipp:372
        task_result = 0
        on_exit = {task_io_service_ = 0x55ae364745c0, lock_ = 0x7f9452690e10, this_thread_ = 0x7f9452690e90}
        more_handlers = <optimized out>
#14 boost::asio::detail::task_io_service::run (ec=..., this=0x55ae364745c0) at /usr/include/boost/asio/detail/impl/task_io_service.ipp:149
        this_thread = {<boost::asio::detail::thread_info_base> = {<boost::asio::detail::noncopyable> = {<No data fields>}, reusable_memory_ = 0x7f943405e340},
          private_op_queue = {<boost::asio::detail::noncopyable> = {<No data fields>}, front_ = 0x0, back_ = 0x0}, private_outstanding_work = 0}
        ctx = {<boost::asio::detail::noncopyable> = {<No data fields>}, key_ = 0x55ae364745c0, value_ = 0x7f9452690e90, next_ = 0x0}
        lock = {<boost::asio::detail::noncopyable> = {<No data fields>}, mutex_ = @0x55ae364745f0, locked_ = false}
        n = <optimized out>
#15 boost::asio::io_service::run (this=0x55ae3639e948) at /usr/include/boost/asio/impl/io_service.ipp:59
        ec = {m_val = 0, m_cat = 0x7f94563b30c8}
#16 i2p::util::RunnableService::Run (this=0x55ae3639e910) at libi2pd/util.cpp:112
---Type <return> to continue, or q <return> to quit---
No locals.
#17 0x00007f9455415e6f in std::execute_native_thread_routine (__p=0x55ae364749f0) at ../../../../../src/libstdc++-v3/src/c++11/thread.cc:83
        __t = std::unique_ptr<std::thread::_State> containing 0x55ae364749f0
#18 0x00007f94558f14a4 in start_thread (arg=0x7f9452691700) at pthread_create.c:456
        __res = <optimized out>
        pd = 0x7f9452691700
        now = <optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140275014506240, -3594301088291058965, 140721845889582, 140721845889583, 140275006115840, 3, 3546266837079329515, 3546251735058516715},
              mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = <optimized out>
        pagesize_m1 = <optimized out>
        sp = <optimized out>
        freesize = <optimized out>
        __PRETTY_FUNCTION__ = "start_thread"
#19 0x00007f9454b8ad0f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:97
No locals.
(gdb)
LLE8 commented 3 years ago

2.36 Debian 9.13 64 bit /var/log/messages: Apr 9 11:23:42 localhost kernel: [2390735.305479] traps: NTCP2[13085] general protection ip:562aa946fc50 sp:7fcdfaffcd40 error:0 Apr 9 11:23:42 localhost kernel: [2390735.338731] traps: Transports[13084] general protection ip:562aa9563d6b sp:7fcdfb7fdb80 error:0 Apr 9 11:23:42 localhost kernel: [2390735.374714] Tunnels[13089]: segfault at 7fcde0337000 ip 00007fce038004ec sp 00007fcdf8ff8300 error 6 Apr 9 11:23:42 localhost kernel: [2390735.406554] in i2pd[562aa941a000+2c4000] Apr 9 11:23:42 localhost kernel: [2390735.408803] in i2pd[562aa941a000+2c4000] Apr 9 11:23:42 localhost kernel: [2390735.412419] in libcrypto.so.1.1[7fce03736000+26c000] Apr 9 11:23:43 localhost kernel: [2390735.799805] net_ratelimit: 1318 callbacks suppressed Apr 9 11:23:43 localhost kernel: [2390735.799812] TCP: too many orphaned sockets Apr 9 11:23:43 localhost kernel: [2390735.803615] TCP: too many orphaned sockets Apr 9 11:23:43 localhost kernel: [2390735.804965] TCP: too many orphaned sockets Apr 9 11:23:43 localhost kernel: [2390735.806538] TCP: too many orphaned sockets Apr 9 11:23:43 localhost kernel: [2390735.820666] TCP: too many orphaned sockets Apr 9 11:23:43 localhost kernel: [2390735.823295] TCP: too many orphaned sockets Apr 9 11:23:43 localhost kernel: [2390735.824831] TCP: too many orphaned sockets Apr 9 11:23:43 localhost kernel: [2390735.828518] TCP: too many orphaned sockets Apr 9 11:23:43 localhost kernel: [2390735.833362] TCP: too many orphaned sockets Apr 9 11:23:43 localhost kernel: [2390735.837615] TCP: too many orphaned sockets

# gdb /usr/sbin/i2pd  /var/lib/i2pd/core
GNU gdb (Debian 7.12-6) 7.12.0.20161007-git
Copyright (C) 2016 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from /usr/sbin/i2pd...Reading symbols from /usr/lib/debug/.build-id/95/fbdc1ba4562994edb058d487e7fd39d6f32403.debug...done.
done.
[New LWP 13085]
[New LWP 13080]
[New LWP 13081]
[New LWP 13082]
[New LWP 13083]
[New LWP 13086]
[New LWP 13087]
[New LWP 13088]
[New LWP 13090]
[New LWP 13091]
[New LWP 13092]
[New LWP 13093]
[New LWP 13084]
[New LWP 13089]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Core was generated by `/usr/sbin/i2pd --conf=/etc/i2pd/i2pd.conf --tunconf=/etc/i2pd/tunnels.conf --tu'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0  0x0000562aa946fc50 in boost::asio::detail::reactor_op::perform (this=0x7fcde006ed70) at /usr/include/boost/asio/detail/reactor_op.hpp:40
40          return perform_func_(this);
[Current thread is 1 (Thread 0x7fcdfaffd700 (LWP 13085))]
(gdb) bt full
#0  0x0000562aa946fc50 in boost::asio::detail::reactor_op::perform (this=0x7fcde006ed70) at /usr/include/boost/asio/detail/reactor_op.hpp:40
No locals.
#1  boost::asio::detail::epoll_reactor::descriptor_state::perform_io (events=<optimized out>, this=0x7fcde01070d0)
    at /usr/include/boost/asio/detail/impl/epoll_reactor.ipp:623
        j = <optimized out>
        io_cleanup = {reactor_ = 0x562aaabe87a0, ops_ = {<boost::asio::detail::noncopyable> = {<No data fields>}, front_ = 0x0, back_ = 0x0},
          first_op_ = 0x0}
#2  boost::asio::detail::epoll_reactor::descriptor_state::do_complete (owner=0x562aaabebe60, base=0x7fcde01070d0, ec=..., bytes_transferred=<optimized out>)
    at /usr/include/boost/asio/detail/impl/epoll_reactor.ipp:649
        descriptor_data = 0x7fcde01070d0
        events = <optimized out>
#3  0x0000562aa9598f4d in boost::asio::detail::task_io_service_operation::complete (bytes_transferred=5, ec=..., owner=..., this=<optimized out>)
    at /usr/include/boost/asio/detail/task_io_service_operation.hpp:38
No locals.
#4  boost::asio::detail::task_io_service::do_run_one (ec=..., this_thread=..., lock=..., this=0x562aaabebe60)
    at /usr/include/boost/asio/detail/impl/task_io_service.ipp:372
        task_result = 5
        on_exit = {task_io_service_ = 0x562aaabebe60, lock_ = 0x7fcdfaffce10, this_thread_ = 0x7fcdfaffce90}
        more_handlers = <optimized out>
#5  boost::asio::detail::task_io_service::run (ec=..., this=0x562aaabebe60) at /usr/include/boost/asio/detail/impl/task_io_service.ipp:149
        this_thread = {<boost::asio::detail::thread_info_base> = {<boost::asio::detail::noncopyable> = {<No data fields>}, reusable_memory_ = 0x0},
          private_op_queue = {<boost::asio::detail::noncopyable> = {<No data fields>}, front_ = 0x0, back_ = 0x0}, private_outstanding_work = 0}
        ctx = {<boost::asio::detail::noncopyable> = {<No data fields>}, key_ = 0x562aaabebe60, value_ = 0x7fcdfaffce90, next_ = 0x0}
        lock = {<boost::asio::detail::noncopyable> = {<No data fields>}, mutex_ = @0x562aaabebe90, locked_ = false}
        n = <optimized out>
#6  boost::asio::io_service::run (this=0x562aaabe8438) at /usr/include/boost/asio/impl/io_service.ipp:59
        ec = {m_val = 0, m_cat = 0x7fce032af0c8}
#7  i2p::util::RunnableService::Run (this=0x562aaabe8400) at libi2pd/util.cpp:112
No locals.
#8  0x00007fce02311e6f in std::execute_native_thread_routine (__p=0x562aaabe01f0) at ../../../../../src/libstdc++-v3/src/c++11/thread.cc:83
        __t = std::unique_ptr<std::thread::_State> containing 0x562aaabe01f0
#9  0x00007fce027ed4a4 in start_thread (arg=0x7fcdfaffd700) at pthread_create.c:456
        __res = <optimized out>
        pd = 0x7fcdfaffd700
        now = <optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140522656093952, -9126131723104594768, 140732793389646, 140732793389647, 140522647703552, 3,
                9134006425912956080, 9134834350476973232}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0,
              canceltype = 0}}}
        not_first_call = <optimized out>
        pagesize_m1 = <optimized out>
        sp = <optimized out>
        freesize = <optimized out>
        __PRETTY_FUNCTION__ = "start_thread"
#10 0x00007fce01a86d0f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:97
No locals.
(gdb) info threads
  Id   Target Id         Frame
* 1    Thread 0x7fcdfaffd700 (LWP 13085) 0x00007fce01a86d0f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:97
  2    Thread 0x7fce03feb740 (LWP 13080) 0x00007fce027f67fd in nanosleep () at ../sysdeps/unix/syscall-template.S:84
  3    Thread 0x7fce01591700 (LWP 13081) pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
  4    Thread 0x7fce00d90700 (LWP 13082) pthread_cond_timedwait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:225
  5    Thread 0x7fcdfbfff700 (LWP 13083) pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
  6    Thread 0x7fcdfa7fc700 (LWP 13086) 0x00007fce01a87303 in epoll_wait () at ../sysdeps/unix/syscall-template.S:84
  7    Thread 0x7fcdf9ffb700 (LWP 13087) 0x00007fce01a87303 in epoll_wait () at ../sysdeps/unix/syscall-template.S:84
  8    Thread 0x7fcdf97fa700 (LWP 13088) 0x00007fce01a87303 in epoll_wait () at ../sysdeps/unix/syscall-template.S:84
  9    Thread 0x7fcdebfff700 (LWP 13090) 0x00007fce01a87303 in epoll_wait () at ../sysdeps/unix/syscall-template.S:84
  10   Thread 0x7fcdeb7fe700 (LWP 13091) 0x00007fce01a87303 in epoll_wait () at ../sysdeps/unix/syscall-template.S:84
  11   Thread 0x7fcdeaffd700 (LWP 13092) 0x00007fce01a87303 in epoll_wait () at ../sysdeps/unix/syscall-template.S:84
  12   Thread 0x7fcdea7fc700 (LWP 13093) 0x00007fce01a87303 in epoll_wait () at ../sysdeps/unix/syscall-template.S:84
  13   Thread 0x7fcdfb7fe700 (LWP 13084) 0x0000562aa9563d6b in i2p::transport::Transports::PostMessages (this=0x562aa98e9080 <i2p::transport::transports>,
    ident=..., msgs=std::vector of length 1, capacity 1 = {...}) at libi2pd/Transports.cpp:369
  14   Thread 0x7fcdf8ff9700 (LWP 13089) 0x00007fce038004ec in BN_rshift () from /usr/lib/x86_64-linux-gnu/libcrypto.so.1.1
(gdb)
LLE8 commented 3 years ago

2.36 Debian 9.13 64 bit Примерно 5 суток с момента очередного запуска

# gdb /usr/sbin/i2pd /var/lib/i2pd/core
GNU gdb (Debian 7.12-6) 7.12.0.20161007-git
Copyright (C) 2016 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from /usr/sbin/i2pd...Reading symbols from /usr/lib/debug/.build-id/95/fbdc1ba4562994edb058d487e7fd39d6f32403.debug...done.
done.
[New LWP 1053]
[New LWP 854]
[New LWP 856]
[New LWP 1050]
[New LWP 1051]
[New LWP 1052]
[New LWP 1054]
[New LWP 1055]
[New LWP 1056]
[New LWP 1058]
[New LWP 1059]
[New LWP 1060]
[New LWP 1061]
[New LWP 1057]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Core was generated by `/usr/sbin/i2pd --conf=/etc/i2pd/i2pd.conf --tunconf=/etc/i2pd/tunnels.conf --tu'.
Program terminated with signal SIGABRT, Aborted.
#0  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51
51      ../sysdeps/unix/sysv/linux/raise.c: No such file or directory.
[Current thread is 1 (Thread 0x7fd239f07700 (LWP 1053))]
(gdb) bt full
#0  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51
        set = {__val = {0, 18446744073709551615, 18446744073709551615, 18446744073709551615, 18446744073709551615, 18446744073709551615, 18446744073709551615, 18446744073709551615,
            18446744073709551615, 18446744073709551615, 4294967295, 3276212736508309556, 3472328296227676272, 3472339291342909488, 2314885530818457632, 2314885530818453536}}
        pid = <optimized out>
        tid = <optimized out>
#1  0x00007fd23c34c51a in __GI_abort () at abort.c:118
        act = {__sigaction_handler = {sa_handler = 0x0, sa_sigaction = 0x0}, sa_mask = {__val = {18446744073709551615 <repeats 16 times>}}, sa_flags = 0, sa_restorer = 0x0}
        sigs = {__val = {32, 0 <repeats 15 times>}}
#2  0x00007fd23c388c00 in __libc_message (do_abort=do_abort@entry=2, fmt=fmt@entry=0x7fd23c47dfd0 "*** Error in `%s': %s: 0x%s ***\n") at ../sysdeps/posix/libc_fatal.c:175
        ap = {{gp_offset = 40, fp_offset = 0, overflow_arg_area = 0x7fd239f06360, reg_save_area = 0x7fd239f062f0}}
        fd = 2
        on_2 = <optimized out>
        list = <optimized out>
        nlist = <optimized out>
        cp = <optimized out>
        written = <optimized out>
#3  0x00007fd23c38efc6 in malloc_printerr (action=3, str=0x7fd23c47e0e0 "free(): invalid next size (fast)", ptr=<optimized out>, ar_ptr=<optimized out>) at malloc.c:5049
        buf = "00007fd228089680"
        cp = <optimized out>
        ar_ptr = <optimized out>
        ptr = <optimized out>
        str = 0x7fd23c47e0e0 "free(): invalid next size (fast)"
        action = 3
#4  0x00007fd23c38f80e in _int_free (av=0x7fd228000020, p=0x7fd228089670, have_lock=0) at malloc.c:3905
        size = <optimized out>
        fb = <optimized out>
        nextchunk = <optimized out>
        nextsize = <optimized out>
        nextinuse = <optimized out>
        prevsize = <optimized out>
        bck = <optimized out>
        fwd = <optimized out>
        errstr = <optimized out>
        locked = <optimized out>
        __func__ = "_int_free"
#5  0x00007fd23e1732fe in ?? () from /usr/lib/x86_64-linux-gnu/libcrypto.so.1.1
No symbol table info available.
#6  0x00007fd23e17a27d in BN_lshift () from /usr/lib/x86_64-linux-gnu/libcrypto.so.1.1
No symbol table info available.
#7  0x00007fd23e16c27c in BN_div () from /usr/lib/x86_64-linux-gnu/libcrypto.so.1.1
No symbol table info available.
#8  0x0000562d926e8e3c in i2p::crypto::Ed25519::ScalarMul (this=this@entry=0x562d95ad1040, u=u@entry=0x7fd224034560, k=k@entry=0x7fd224059bb0, ctx=ctx@entry=0x562d95af1400)
    at libi2pd/Ed25519.cpp:490
        k_t = 1
        x1 = 0x7fd210001480
        x2 = 0x7fd2100014c8
        z2 = 0x7fd210009a80
        x3 = 0x7fd210001498
        z3 = 0x7fd2100014b0
---Type <return> to continue, or q <return> to quit---
        c121666 = 0x7fd210009a98
        tmp0 = 0x7fd210009ab0
        tmp1 = 0x7fd210009ac8
        swap = 1
        bits = 181
        res = <optimized out>
#9  0x0000562d926e9023 in i2p::crypto::Ed25519::ScalarMul (this=0x562d95ad1040, p=p@entry=0x7fd2241b9358 "\250%\257\344%",
    e=e@entry=0x562d947e2670 "\252\310\030\226+`\233\233\241\237\345\367b>\230\221\232\260\211CY3\355\331Ζ\270\071\343\244\361\035", buf=buf@entry=0x7fd239f06690 "",
    ctx=ctx@entry=0x562d95af1400) at libi2pd/Ed25519.cpp:522
        p1 = 0x7fd224034560
        k = "\250\310\030\226+`\233\233\241\237\345\367b>\230\221\232\260\211CY3\355\331Ζ\270\071\343\244\361]"
        n = 0x7fd224059bb0
        q1 = <optimized out>
#10 0x0000562d9271db07 in i2p::crypto::X25519Keys::Agree (this=0x562d947e2648, pub=0x7fd2241b9358 "\250%\257\344%", shared=0x7fd239f06690 "") at libi2pd/Crypto.cpp:366
No locals.
#11 0x0000562d927627c8 in i2p::garlic::ECIESX25519AEADRatchetSession::HandleNextMessageForRouter (this=0x7fd224122580, buf=buf@entry=0x7fd2241b9358 "\250%\257\344%", len=len@entry=209)
    at libi2pd/ECIESX25519AEADRatchetSession.cpp:831
        sharedSecret = "\000\000\000\000\000\000\000\000\200%\022$\322\177\000\000\030'\022$\322\177\000\000p%\022$\322\177\000"
        nonce = "\000\000\000\000\000`\243\210\223\371\350K"
        payload = <optimized out>
#12 0x0000562d92726f8d in i2p::RouterContext::ProcessGarlicMessage (this=0x562d92af46a0 <i2p::context>, msg=std::shared_ptr (count 4, weak 0) 0x7fd2241b9310)
    at libi2pd/RouterContext.cpp:739
        buf = 0x7fd2241b9358 "\250%\257\344%"
        len = 209
        l = {_M_device = 0x562d92af4b00 <i2p::context+1120>, _M_owns = true}
#13 0x0000562d9274cba8 in i2p::HandleI2NPMessage (msg=std::shared_ptr (count 4, weak 0) 0x7fd2241b9310) at libi2pd/I2NPProtocol.cpp:741
        typeID = 11 '\v'
#14 0x0000562d9274cd55 in i2p::I2NPMessagesHandler::PutNextMessage (this=this@entry=0x7fd2180340e8, msg=std::shared_ptr (count 4, weak 0) 0x7fd2241b9310) at libi2pd/I2NPProtocol.cpp:789
No locals.
#15 0x0000562d927d1571 in i2p::transport::NTCP2Session::ProcessNextFrame (this=this@entry=0x7fd218033f50, frame=0x7fd22408f8b0 "\003", len=228) at libi2pd/NTCP2.cpp:861
        nextMsg = std::shared_ptr (count 4, weak 0) 0x7fd2241b9310
        blk = 3 '\003'
        size = 222
        offset = 3
#16 0x0000562d927d4073 in i2p::transport::NTCP2Session::HandleReceived (this=this@entry=0x7fd218033f50, ecode=..., bytes_transferred=244) at libi2pd/NTCP2.cpp:807
        nonce = "\000\000\000\000$\000\000\000\000\000\000"
#17 0x0000562d927d437f in i2p::transport::NTCP2Session::HandleReceivedLength (this=0x7fd218033f50, ecode=..., bytes_transferred=<optimized out>) at libi2pd/NTCP2.cpp:765
        ec = {m_val = 0, m_cat = 0x7fd23dc290c8}
        moreBytes = <optimized out>
#18 0x0000562d927da954 in std::__invoke_impl<void, void (i2p::transport::NTCP2Session::* const&)(boost::system::error_code const&, unsigned long), std::shared_ptr<i2p::transport::NTCP2Session>&, boost::system::error_code const&, unsigned long const&> (__t=..., __f=<optimized out>) at /usr/include/c++/6/functional:227
No locals.
#19 std::__invoke<void (i2p::transport::NTCP2Session::* const&)(boost::system::error_code const&, unsigned long), std::shared_ptr<i2p::transport::NTCP2Session>&, boost::system::error_code const&, unsigned long const&> (__fn=
    @0x7fd239f06ca8: (void (i2p::transport::NTCP2Session::*)(i2p::transport::NTCP2Session * const, const boost::system::error_code &, unsigned long)) 0x2, this adjustment 140540322725832)
    at /usr/include/c++/6/functional:251
No locals.
#20 std::_Mem_fn_base<void (i2p::transport::NTCP2Session::*)(boost::system::error_code const&, unsigned long), true>::operator()<std::shared_ptr<i2p::transport::NTCP2Session>&, boost::system::error_code const&, unsigned long const&> (this=0x7fd239f06ca8) at /usr/include/c++/6/functional:604
---Type <return> to continue, or q <return> to quit---
No locals.
#21 std::_Bind<std::_Mem_fn<void (i2p::transport::NTCP2Session::*)(boost::system::error_code const&, unsigned long)> (std::shared_ptr<i2p::transport::NTCP2Session>, std::_Placeholder<1>, std::_Placeholder<2>)>::__call<void, boost::system::error_code const&, unsigned long const&, 0ul, 1ul, 2ul>(std::tuple<boost::system::error_code const&, unsigned long const&>&&, std::_Index_tuple<0ul, 1ul, 2ul>) (__args=<optimized out>, this=0x7fd239f06ca8) at /usr/include/c++/6/functional:934
No locals.
#22 std::_Bind<std::_Mem_fn<void (i2p::transport::NTCP2Session::*)(boost::system::error_code const&, unsigned long)> (std::shared_ptr<i2p::transport::NTCP2Session>, std::_Placeholder<1>, std::_Placeholder<2>)>::operator()<boost::system::error_code const&, unsigned long const&, void>(boost::system::error_code const&, unsigned long const&) (this=0x7fd239f06ca8)
    at /usr/include/c++/6/functional:993
No locals.
#23 boost::asio::detail::read_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::stream_socket_service<boost::asio::ip::tcp> >, boost::asio::mutable_buffers_1, boost::asio::detail::transfer_all_t, std::_Bind<std::_Mem_fn<void (i2p::transport::NTCP2Session::*)(boost::system::error_code const&, unsigned long)> (std::shared_ptr<i2p::transport::NTCP2Session>, std::_Placeholder<1>, std::_Placeholder<2>)> >::operator()(boost::system::error_code const&, unsigned long, int) (this=this@entry=0x7fd239f06cb0, ec=..., bytes_transferred=<optimized out>,
    start=start@entry=0) at /usr/include/boost/asio/impl/read.hpp:282
        n = <optimized out>
#24 0x0000562d927dabca in boost::asio::detail::binder2<boost::asio::detail::read_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::stream_socket_service<boost::asio::ip::tcp> >, boost::asio::mutable_buffers_1, boost::asio::detail::transfer_all_t, std::_Bind<std::_Mem_fn<void (i2p::transport::NTCP2Session::*)(boost::system::error_code const&, unsigned long)> (std::shared_ptr<i2p::transport::NTCP2Session>, std::_Placeholder<1>, std::_Placeholder<2>)> >, boost::system::error_code, unsigned long>::operator()() (this=0x7fd239f06cb0)
    at /usr/include/boost/asio/detail/bind_handler.hpp:127
No locals.
#25 boost::asio::asio_handler_invoke<boost::asio::detail::binder2<boost::asio::detail::read_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::stream_socket_service<boost::asio::ip::tcp> >, boost::asio::mutable_buffers_1, boost::asio::detail::transfer_all_t, std::_Bind<std::_Mem_fn<void (i2p::transport::NTCP2Session::*)(boost::system::error_code const&, unsigned long)> (std::shared_ptr<i2p::transport::NTCP2Session>, std::_Placeholder<1>, std::_Placeholder<2>)> >, boost::system::error_code, unsigned long> >(boost::asio::detail::binder2<boost::asio::detail::read_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::stream_socket_service<boost::asio::ip::tcp> >, boost::asio::mutable_buffers_1, boost::asio::detail::transfer_all_t, std::_Bind<std::_Mem_fn<void (i2p::transport::NTCP2Session::*)(boost::system::error_code const&, unsigned long)> (std::shared_ptr<i2p::transport::NTCP2Session>, std::_Placeholder<1>, std::_Placeholder<2>)> >, boost::system::error_code, unsigned long>&, ...) (function=...) at /usr/include/boost/asio/handler_invoke_hook.hpp:69
No locals.
#26 boost_asio_handler_invoke_helpers::invoke<boost::asio::detail::binder2<boost::asio::detail::read_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::stream_socket_service<boost::asio::ip::tcp> >, boost::asio::mutable_buffers_1, boost::asio::detail::transfer_all_t, std::_Bind<std::_Mem_fn<void (i2p::transport::NTCP2Session::*)(boost::system::error_code const&, unsigned long)> (std::shared_ptr<i2p::transport::NTCP2Session>, std::_Placeholder<1>, std::_Placeholder<2>)> >, boost::system::error_code, unsigned long>, std::_Bind<std::_Mem_fn<void (i2p::transport::NTCP2Session::*)(boost::system::error_code const&, unsigned long)> (std::shared_ptr<i2p::transport::NTCP2Session>, std::_Placeholder<1>, std::_Placeholder<2>)> >(boost::asio::detail::binder2<boost::asio::detail::read_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::stream_socket_service<boost::asio::ip::tcp> >, boost::asio::mutable_buffers_1, boost::asio::detail::transfer_all_t, std::_Bind<std::_Mem_fn<void (i2p::transport::NTCP2Session::*)(boost::system::error_code const&, unsigned long)> (std::shared_ptr<i2p::transport::NTCP2Session>, std::_Placeholder<1>, std::_Placeholder<2>)> >, boost::system::error_code, unsigned long>&, std::_Bind<std::_Mem_fn<void (i2p::transport::NTCP2Session::*)(boost::system::error_code const&, unsigned long)> (std::shared_ptr<i2p::transport::NTCP2Session>, std::_Placeholder<1>, std::_Placeholder<2>)>&) (context=..., function=...)
    at /usr/include/boost/asio/detail/handler_invoke_helpers.hpp:37
No locals.
#27 boost::asio::detail::asio_handler_invoke<boost::asio::detail::binder2<boost::asio::detail::read_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::stream_socket_service<boost::asio::ip::tcp> >, boost::asio::mutable_buffers_1, boost::asio::detail::transfer_all_t, std::_Bind<std::_Mem_fn<void (i2p::transport::NTCP2Session::*)(boost::system::error_code const&, unsigned long)> (std::shared_ptr<i2p::transport::NTCP2Session>, std::_Placeholder<1>, std::_Placeholder<2>)> >, boost::system::error_code, unsigned long>, boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::stream_socket_service<boost::asio::ip::tcp> >, boost::asio::mutable_buffers_1, boost::asio::detail::transfer_all_t, std::_Bind<std::_Mem_fn<void (i2p::transport::NTCP2Session::*)(boost::system::error_code const&, unsigned long)> (std::shared_ptr<i2p::transport::NTCP2Session>, std::_Placeholder<1>, std::_Placeholder<2>)> >(boost::asio::detail::binder2<boost::asio::detail::read_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::stream_socket_service<boost::asio::ip::tcp> >, boost::asio::mutable_buffers_1, boost::asio::detail::transfer_all_t, std::_Bind<std::_Mem_fn<void (i2p::transport::NTCP2Session::*)(boost::system::error_code const&, unsigned long)> (std::shared_ptr<i2p::transport::NTCP2Session>, std::_Placeholder<1>, std::_Placeholder<2>)> >, boost::system::error_code, unsigned long>&, boost::asio::detail::read_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::stream_socket_service<boost::asio::ip::tcp> >, boost::asio::mutable_buffers_1, boost::asio::detail::transfer_all_t, std::_Bind<std::_Mem_fn<void (i2p::transport::NTCP2Session::*)(boost::system::error_code const&, unsigned long)> (std::shared_ptr<i2p::transport::NTCP2Session>, std::_Placeholder<1>, std::_Placeholder<2>)> >*) (this_handler=<optimized out>, function=...)
    at /usr/include/boost/asio/impl/read.hpp:502
No locals.
#28 boost_asio_handler_invoke_helpers::invoke<boost::asio::detail::binder2<boost::asio::detail::read_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::stream_socket_serv---Type <return> to continue, or q <return> to quit---
ice<boost::asio::ip::tcp> >, boost::asio::mutable_buffers_1, boost::asio::detail::transfer_all_t, std::_Bind<std::_Mem_fn<void (i2p::transport::NTCP2Session::*)(boost::system::error_code const&, unsigned long)> (std::shared_ptr<i2p::transport::NTCP2Session>, std::_Placeholder<1>, std::_Placeholder<2>)> >, boost::system::error_code, unsigned long>, boost::asio::detail::read_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::stream_socket_service<boost::asio::ip::tcp> >, boost::asio::mutable_buffers_1, boost::asio::detail::transfer_all_t, std::_Bind<std::_Mem_fn<void (i2p::transport::NTCP2Session::*)(boost::system::error_code const&, unsigned long)> (std::shared_ptr<i2p::transport::NTCP2Session>, std::_Placeholder<1>, std::_Placeholder<2>)> > >(boost::asio::detail::binder2<boost::asio::detail::read_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::stream_socket_service<boost::asio::ip::tcp> >, boost::asio::mutable_buffers_1, boost::asio::detail::transfer_all_t, std::_Bind<std::_Mem_fn<void (i2p::transport::NTCP2Session::*)(boost::system::error_code const&, unsigned long)> (std::shared_ptr<i2p::transport::NTCP2Session>, std::_Placeholder<1>, std::_Placeholder<2>)> >, boost::system::error_code, unsigned long>&, boost::asio::detail::read_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::stream_socket_service<boost::asio::ip::tcp> >, boost::asio::mutable_buffers_1, boost::asio::detail::transfer_all_t, std::_Bind<std::_Mem_fn<void (i2p::transport::NTCP2Session::*)(boost::system::error_code const&, unsigned long)> (std::shared_ptr<i2p::transport::NTCP2Session>, std::_Placeholder<1>, std::_Placeholder<2>)> >&) (context=...,
    function=...) at /usr/include/boost/asio/detail/handler_invoke_helpers.hpp:37
No locals.
#29 boost::asio::detail::reactive_socket_recv_op<boost::asio::mutable_buffers_1, boost::asio::detail::read_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::stream_socket_service<boost::asio::ip::tcp> >, boost::asio::mutable_buffers_1, boost::asio::detail::transfer_all_t, std::_Bind<std::_Mem_fn<void (i2p::transport::NTCP2Session::*)(boost::system::error_code const&, unsigned long)> (std::shared_ptr<i2p::transport::NTCP2Session>, std::_Placeholder<1>, std::_Placeholder<2>)> > >::do_complete(boost::asio::detail::task_io_service*, boost::asio::detail::task_io_service_operation*, boost::system::error_code const&, unsigned long) (owner=0x562d96362f60, base=<optimized out>)
    at /usr/include/boost/asio/detail/reactive_socket_recv_op.hpp:110
        o = <optimized out>
        p = {h = 0x7fd239f06cb0, v = 0x0, p = 0x0}
        handler = {handler_ = {<boost::asio::detail::base_from_completion_cond<boost::asio::detail::transfer_all_t>> = {<No data fields>}, stream_ = @0x7fd218033fc8, buffer_ = {
              data_ = 0x7fd2180340b0, size_ = 2}, start_ = 0, total_transferred_ = 2,
            handler_ = {<std::_Weak_result_type<std::_Mem_fn<void (i2p::transport::NTCP2Session::*)(boost::system::error_code const&, unsigned long)> >> = {<std::_Weak_result_type_impl<std::_Mem_fn<void (i2p::transport::NTCP2Session::*)(boost::system::error_code const&, unsigned long)> >> = {<std::_Maybe_get_result_type<std::_Mem_fn<void (i2p::transport::NTCP2Session::*)(boost::system::error_code const&, unsigned long)>, void>> = {<No data fields>}, <No data fields>}, <No data fields>},
              _M_f = {<std::_Mem_fn_base<void (i2p::transport::NTCP2Session::*)(boost::system::error_code const&, unsigned long), true>> = {<std::_Maybe_unary_or_binary_function<void, i2p::transport::NTCP2Session*, boost::system::error_code const&, unsigned long>> = {<No data fields>}, _M_pmf = (void (i2p::transport::NTCP2Session::*)(i2p::transport::NTCP2Session * const,
    const boost::system::error_code &,
    unsigned long)) 0x562d927d4140 <i2p::transport::NTCP2Session::HandleReceivedLength(boost::system::error_code const&, unsigned long)>}, <No data fields>},
              _M_bound_args = std::tuple containing = {[1] = std::shared_ptr (count 3, weak 1) 0x7fd218033f50, [2] = {<std::_Placeholder<1>> = {<No data fields>}, <No data fields>},
                [3] = {<std::_Placeholder<2>> = {<No data fields>}, <No data fields>}}}}, arg1_ = {m_val = 0, m_cat = 0x7fd23dc290c8}, arg2_ = 2}
#30 0x0000562d9267bdbd in boost::asio::detail::task_io_service_operation::complete (bytes_transferred=0, ec=..., owner=..., this=<optimized out>)
    at /usr/include/boost/asio/detail/task_io_service_operation.hpp:38
No locals.
#31 boost::asio::detail::epoll_reactor::descriptor_state::do_complete (owner=0x562d96362f60, base=0x7fd224073e40, ec=..., bytes_transferred=<optimized out>)
    at /usr/include/boost/asio/detail/impl/epoll_reactor.ipp:651
        descriptor_data = 0x7fd224073e40
        events = <optimized out>
#32 0x0000562d927a4f4d in boost::asio::detail::task_io_service_operation::complete (bytes_transferred=5, ec=..., owner=..., this=<optimized out>)
    at /usr/include/boost/asio/detail/task_io_service_operation.hpp:38
No locals.
#33 boost::asio::detail::task_io_service::do_run_one (ec=..., this_thread=..., lock=..., this=0x562d96362f60) at /usr/include/boost/asio/detail/impl/task_io_service.ipp:372
        task_result = 5
        on_exit = {task_io_service_ = 0x562d96362f60, lock_ = 0x7fd239f06e10, this_thread_ = 0x7fd239f06e90}
        more_handlers = <optimized out>
#34 boost::asio::detail::task_io_service::run (ec=..., this=0x562d96362f60) at /usr/include/boost/asio/detail/impl/task_io_service.ipp:149
        this_thread = {<boost::asio::detail::thread_info_base> = {<boost::asio::detail::noncopyable> = {<No data fields>}, reusable_memory_ = 0x7fd224177750},
          private_op_queue = {<boost::asio::detail::noncopyable> = {<No data fields>}, front_ = 0x0, back_ = 0x0}, private_outstanding_work = 0}
        ctx = {<boost::asio::detail::noncopyable> = {<No data fields>}, key_ = 0x562d96362f60, value_ = 0x7fd239f06e90, next_ = 0x0}
        lock = {<boost::asio::detail::noncopyable> = {<No data fields>}, mutex_ = @0x562d96362f90, locked_ = false}
        n = <optimized out>
---Type <return> to continue, or q <return> to quit---
#35 boost::asio::io_service::run (this=0x562d96362e08) at /usr/include/boost/asio/impl/io_service.ipp:59
        ec = {m_val = 0, m_cat = 0x7fd23dc290c8}
#36 i2p::util::RunnableService::Run (this=0x562d96362dd0) at libi2pd/util.cpp:112
No locals.
#37 0x00007fd23cc8be6f in std::execute_native_thread_routine (__p=0x562d963e16c0) at ../../../../../src/libstdc++-v3/src/c++11/thread.cc:83
        __t = std::unique_ptr<std::thread::_State> containing 0x562d963e16c0
#38 0x00007fd23d1674a4 in start_thread (arg=0x7fd239f07700) at pthread_create.c:456
        __res = <optimized out>
        pd = 0x7fd239f07700
        now = <optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140540891920128, 3326069556862982779, 140721974154398, 140721974154399, 140540883529728, 3, -3347052744672339333, -3347044721429767557},
              mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = <optimized out>
        pagesize_m1 = <optimized out>
        sp = <optimized out>
        freesize = <optimized out>
        __PRETTY_FUNCTION__ = "start_thread"
#39 0x00007fd23c400d0f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:97
No locals.
(gdb) info threads
  Id   Target Id         Frame
* 1    Thread 0x7fd239f07700 (LWP 1053) 0x00007fd23c400d0f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:97
  2    Thread 0x7fd23e965740 (LWP 854) 0x00007fd23d1707fd in nanosleep () at ../sysdeps/unix/syscall-template.S:84
  3    Thread 0x7fd23bf0b700 (LWP 856) pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
  4    Thread 0x7fd23b70a700 (LWP 1050) pthread_cond_timedwait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:225
  5    Thread 0x7fd23af09700 (LWP 1051) pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
  6    Thread 0x7fd23a708700 (LWP 1052) 0x00007fd23c401303 in epoll_wait () at ../sysdeps/unix/syscall-template.S:84
  7    Thread 0x7fd239706700 (LWP 1054) 0x00007fd23c401303 in epoll_wait () at ../sysdeps/unix/syscall-template.S:84
  8    Thread 0x7fd238f05700 (LWP 1055) 0x00007fd23c401303 in epoll_wait () at ../sysdeps/unix/syscall-template.S:84
  9    Thread 0x7fd233fff700 (LWP 1056) 0x00007fd23c401303 in epoll_wait () at ../sysdeps/unix/syscall-template.S:84
  10   Thread 0x7fd232ffd700 (LWP 1058) 0x00007fd23c401303 in epoll_wait () at ../sysdeps/unix/syscall-template.S:84
  11   Thread 0x7fd2327fc700 (LWP 1059) 0x00007fd23c401303 in epoll_wait () at ../sysdeps/unix/syscall-template.S:84
  12   Thread 0x7fd231ffb700 (LWP 1060) 0x00007fd23c401303 in epoll_wait () at ../sysdeps/unix/syscall-template.S:84
  13   Thread 0x7fd2317fa700 (LWP 1061) 0x00007fd23c401303 in epoll_wait () at ../sysdeps/unix/syscall-template.S:84
  14   Thread 0x7fd2337fe700 (LWP 1057) pthread_cond_timedwait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:225
(gdb)
LLE8 commented 3 years ago

тот же vds Debian 9.13 64 bit, тот же i2pd 2.36 прожило дней 10

kern.log: Apr 25 23:10:42 localhost kernel: [1123065.814827] Transports[31178]: segfault at 50 ip 000056040bbe2d6b sp 00007f5b85953b80 error 4 in i2pd[56040ba99000+2c4000] Apr 25 23:10:43 localhost kernel: [1123066.553818] TCP: too many orphaned sockets

# gdb /usr/sbin/i2pd  /var/lib/i2pd/core
GNU gdb (Debian 7.12-6) 7.12.0.20161007-git
Copyright (C) 2016 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from /usr/sbin/i2pd...Reading symbols from /usr/lib/debug/.build-id/95/fbdc1ba4562994edb058d487e7fd39d6f32403.debug...done.
done.
[New LWP 31178]
[New LWP 31173]
[New LWP 31174]
[New LWP 31176]
[New LWP 31177]
[New LWP 31180]
[New LWP 31182]
[New LWP 31183]
[New LWP 31184]
[New LWP 31185]
[New LWP 31186]
[New LWP 31187]
[New LWP 31179]
[New LWP 31181]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Core was generated by `/usr/sbin/i2pd --conf=/etc/i2pd/i2pd.conf --tunconf=/etc/i2pd/tunnels.conf --tu'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0  0x000056040bbe2d6b in i2p::transport::Transports::PostMessages (this=0x56040bf68080 <i2p::transport::transports>, ident=..., msgs=...) at libi2pd/Transports.cpp:369
369     libi2pd/Transports.cpp: No such file or directory.
[Current thread is 1 (Thread 0x7f5b85954700 (LWP 31178))]
(gdb) bt full
#0  0x000056040bbe2d6b in i2p::transport::Transports::PostMessages (this=0x56040bf68080 <i2p::transport::transports>, ident=..., msgs=std::vector of length 1, capacity 1 = {...})
    at libi2pd/Transports.cpp:369
        it = <optimized out>
#1  0x000056040bbe49f4 in std::__invoke_impl<void, void (i2p::transport::Transports::* const&)(i2p::data::Tag<32ul>, std::vector<std::shared_ptr<i2p::I2NPMessage>, std::allocator<std::shared_ptr<i2p::I2NPMessage> > >), i2p::transport::Transports*&, i2p::data::Tag<32ul>&, std::vector<std::shared_ptr<i2p::I2NPMessage>, std::allocator<std::shared_ptr<i2p::I2NPMessage> > >&> (
    __t=<optimized out>, __f=
    @0x7f5b85953d00: (void (i2p::transport::Transports::*)(i2p::transport::Transports * const, i2p::data::Tag<32ul>, std::vector<std::shared_ptr<i2p::I2NPMessage>, std::allocator<std::shared_ptr<i2p::I2NPMessage> > >)) 0x56040bbe2be0 <i2p::transport::Transports::PostMessages(i2p::data::Tag<32ul>, std::vector<std::shared_ptr<i2p::I2NPMessage>, std::allocator<std::shared_ptr<i2p::I2NPMessage> > >)>) at /usr/include/c++/6/functional:227
No locals.
#2  std::__invoke<void (i2p::transport::Transports::* const&)(i2p::data::Tag<32ul>, std::vector<std::shared_ptr<i2p::I2NPMessage>, std::allocator<std::shared_ptr<i2p::I2NPMessage> > >), i2p::transport::Transports*&, i2p::data::Tag<32ul>&, std::vector<std::shared_ptr<i2p::I2NPMessage>, std::allocator<std::shared_ptr<i2p::I2NPMessage> > >&> (__fn=
    @0x7f5b85953d00: (void (i2p::transport::Transports::*)(i2p::transport::Transports * const, i2p::data::Tag<32ul>, std::vector<std::shared_ptr<i2p::I2NPMessage>, std::allocator<std::shared_ptr<i2p::I2NPMessage> > >)) 0x56040bbe2be0 <i2p::transport::Transports::PostMessages(i2p::data::Tag<32ul>, std::vector<std::shared_ptr<i2p::I2NPMessage>, std::allocator<std::shared_ptr<i2p::I2NPMessage> > >)>) at /usr/include/c++/6/functional:251
No locals.
#3  std::_Mem_fn_base<void (i2p::transport::Transports::*)(i2p::data::Tag<32ul>, std::vector<std::shared_ptr<i2p::I2NPMessage>, std::allocator<std::shared_ptr<i2p::I2NPMessage> > >), true>::operator()<i2p::transport::Transports*&, i2p::data::Tag<32ul>&, std::vector<std::shared_ptr<i2p::I2NPMessage>, std::allocator<std::shared_ptr<i2p::I2NPMessage> > >&> (this=0x7f5b85953d00)
    at /usr/include/c++/6/functional:604
No locals.
#4  std::_Bind<std::_Mem_fn<void (i2p::transport::Transports::*)(i2p::data::Tag<32ul>, std::vector<std::shared_ptr<i2p::I2NPMessage>, std::allocator<std::shared_ptr<i2p::I2NPMessage> > >)> (i2p::transport::Transports*, i2p::data::Tag<32ul>, std::vector<std::shared_ptr<i2p::I2NPMessage>, std::allocator<std::shared_ptr<i2p::I2NPMessage> > >)>::__call<void, , 0ul, 1ul, 2ul>(std::tuple<>&&, std::_Index_tuple<0ul, 1ul, 2ul>) (__args=<optimized out>, this=0x7f5b85953d00) at /usr/include/c++/6/functional:934
No locals.
#5  std::_Bind<std::_Mem_fn<void (i2p::transport::Transports::*)(i2p::data::Tag<32ul>, std::vector<std::shared_ptr<i2p::I2NPMessage>, std::allocator<std::shared_ptr<i2p::I2NPMessage> > >)> (i2p::transport::Transports*, i2p::data::Tag<32ul>, std::vector<std::shared_ptr<i2p::I2NPMessage>, std::allocator<std::shared_ptr<i2p::I2NPMessage> > >)>::operator()<, void>() (
    this=0x7f5b85953d00) at /usr/include/c++/6/functional:993
No locals.
#6  boost::asio::asio_handler_invoke<std::_Bind<std::_Mem_fn<void (i2p::transport::Transports::*)(i2p::data::Tag<32ul>, std::vector<std::shared_ptr<i2p::I2NPMessage>, std::allocator<std::shared_ptr<i2p::I2NPMessage> > >)> (i2p::transport::Transports*, i2p::data::Tag<32ul>, std::vector<std::shared_ptr<i2p::I2NPMessage>, std::allocator<std::shared_ptr<i2p::I2NPMessage> > >)> >(std::_Bind<std::_Mem_fn<void (i2p::transport::Transports::*)(i2p::data::Tag<32ul>, std::vector<std::shared_ptr<i2p::I2NPMessage>, std::allocator<std::shared_ptr<i2p::I2NPMessage> > >)> (i2p::transport::Transports*, i2p::data::Tag<32ul>, std::vector<std::shared_ptr<i2p::I2NPMessage>, std::allocator<std::shared_ptr<i2p::I2NPMessage> > >)>&, ...) (function=...)
    at /usr/include/boost/asio/handler_invoke_hook.hpp:69
No locals.
#7  boost_asio_handler_invoke_helpers::invoke<std::_Bind<std::_Mem_fn<void (i2p::transport::Transports::*)(i2p::data::Tag<32ul>, std::vector<std::shared_ptr<i2p::I2NPMessage>, std::allocator<std::shared_ptr<i2p::I2NPMessage> > >)> (i2p::transport::Transports*, i2p::data::Tag<32ul>, std::vector<std::shared_ptr<i2p::I2NPMessage>, std::allocator<std::shared_ptr<i2p::I2NPMessage> > >)>, std::_Bind<std::_Mem_fn<void (i2p::transport::Transports::*)(i2p::data::Tag<32ul>, std::vector<std::shared_ptr<i2p::I2NPMessage>, std::allocator<std::shared_ptr<i2p::I2NPMessage> > >)> (i2p::transport::Transports*, i2p::data::Tag<32ul>, std::vector<std::shared_ptr<i2p::I2NPMessage>, std::allocator<std::shared_ptr<i2p::I2NPMessage> > >)> >(std::_Bind<std::_Mem_fn<void (i2p::transport::Transports::*)(i2p::data::Tag<32ul>, std::vector<std::shared_ptr<i2p::I2NPMessage>, std::allocator<std::shared_ptr<i2p::I2NPMessage> > >)> (i2p::transport::Transports*, i2p::data::Tag<32ul>, std::vector<std::shared_ptr<i2p::I2NPMessage>, std::allocator<std::shared_ptr<i2p::I2NPMessage> > >)>&, std::_Bind<std::_Mem_fn<void (i2p::transport::Transports::*)(i2p::data::Tag<32ul>, std::vector<std::shared_ptr<i2p::I2NPMessage>, std::allocator<std::shared_ptr<i2p::I2NPMessage> > >)> (i2p::transport::Transports*, i2p::data::Tag<32ul>, std::vector<std::shared_ptr<i2p::I2NPMessage>, std::allocator<std::shared_ptr<i2p::I2NPMessage> > >)>&) (context=..., function=...) at /usr/include/boost/asio/detail/handler_invoke_helpers.hpp:37
No locals.
#8  boost::asio::detail::completion_handler<std::_Bind<std::_Mem_fn<void (i2p::transport::Transports::*)(i2p::data::Tag<32ul>, std::vector<std::shared_ptr<i2p::I2NPMessage>, std::allocator<std::shared_ptr<i2p::I2NPMessage> > >)> (i2p::transport::Transports*, i2p::data::Tag<32ul>, std::vector<std::shared_ptr<i2p::I2NPMessage>, std::allocator<std::shared_ptr<i2p::I2NPMessage> > >)> >::do_complete(boost::asio::detail::task_io_service*, boost::asio::detail::task_io_service_operation*, boost::system::error_code const&, unsigned long) (owner=<optimized out>,
    base=<optimized out>) at /usr/include/boost/asio/detail/completion_handler.hpp:68
        h = <optimized out>
        p = {h = <optimized out>, v = 0x0, p = 0x0}
---Type <return> to continue, or q <return> to quit---
        handler = {<std::_Weak_result_type<std::_Mem_fn<void (i2p::transport::Transports::*)(i2p::data::Tag<32ul>, std::vector<std::shared_ptr<i2p::I2NPMessage>, std::allocator<std::shared_ptr<i2p::I2NPMessage> > >)> >> = {<std::_Weak_result_type_impl<std::_Mem_fn<void (i2p::transport::Transports::*)(i2p::data::Tag<32ul>, std::vector<std::shared_ptr<i2p::I2NPMessage>, std::allocator<std::shared_ptr<i2p::I2NPMessage> > >)> >> = {<std::_Maybe_get_result_type<std::_Mem_fn<void (i2p::transport::Transports::*)(i2p::data::Tag<32ul>, std::vector<std::shared_ptr<i2p::I2NPMessage>, std::allocator<std::shared_ptr<i2p::I2NPMessage> > >)>, void>> = {<No data fields>}, <No data fields>}, <No data fields>},
          _M_f = {<std::_Mem_fn_base<void (i2p::transport::Transports::*)(i2p::data::Tag<32ul>, std::vector<std::shared_ptr<i2p::I2NPMessage>, std::allocator<std::shared_ptr<i2p::I2NPMessage> > >), true>> = {<std::_Maybe_unary_or_binary_function<void, i2p::transport::Transports*, i2p::data::Tag<32ul>, std::vector<std::shared_ptr<i2p::I2NPMessage>, std::allocator<std::shared_ptr<i2p::I2NPMessage> > > >> = {<No data fields>}, _M_pmf = (void (i2p::transport::Transports::*)(i2p::transport::Transports * const, i2p::data::Tag<32ul>,
    std::vector<std::shared_ptr<i2p::I2NPMessage>, std::allocator<std::shared_ptr<i2p::I2NPMessage> > >)) 0x56040bbe2be0 <i2p::transport::Transports::PostMessages(i2p::data::Tag<32ul>, std::vector<std::shared_ptr<i2p::I2NPMessage>, std::allocator<std::shared_ptr<i2p::I2NPMessage> > >)>}, <No data fields>}, _M_bound_args = std::tuple containing = {
            [1] = 0x56040bf68080 <i2p::transport::transports>, [2] = {{m_Buf = "ٝtO'\360\204H\235XZsU\272R\355\317\377\370\376\237\206\020p\213\330ڇ\004K|\210", ll = {
                  5225565519284051417, 17100935611249481885, 8075102153610952655, 9834818169101539467}}}, [3] = std::vector of length 1, capacity 1 = {
              std::shared_ptr (count 2, weak 0) 0x7f5b64133c20}}}
#9  0x000056040bbe0cd5 in boost::asio::detail::task_io_service_operation::complete (bytes_transferred=0, ec=..., owner=..., this=<optimized out>)
    at /usr/include/boost/asio/detail/task_io_service_operation.hpp:38
No locals.
#10 boost::asio::detail::task_io_service::do_run_one (ec=..., this_thread=..., lock=..., this=0x56040dd224f0) at /usr/include/boost/asio/detail/impl/task_io_service.ipp:372
        task_result = 0
        on_exit = {task_io_service_ = 0x56040dd224f0, lock_ = 0x7f5b85953dd0, this_thread_ = 0x7f5b85953e50}
        more_handlers = <optimized out>
#11 boost::asio::detail::task_io_service::run (ec=..., this=0x56040dd224f0) at /usr/include/boost/asio/detail/impl/task_io_service.ipp:149
        this_thread = {<boost::asio::detail::thread_info_base> = {<boost::asio::detail::noncopyable> = {<No data fields>}, reusable_memory_ = 0x7f5b640449a0},
          private_op_queue = {<boost::asio::detail::noncopyable> = {<No data fields>}, front_ = 0x0, back_ = 0x0}, private_outstanding_work = 0}
        ctx = {<boost::asio::detail::noncopyable> = {<No data fields>}, key_ = 0x56040dd224f0, value_ = 0x7f5b85953e50, next_ = 0x0}
        lock = {<boost::asio::detail::noncopyable> = {<No data fields>}, mutex_ = @0x56040dd22520, locked_ = false}
        n = <optimized out>
#12 boost::asio::io_service::run (this=<optimized out>) at /usr/include/boost/asio/impl/io_service.ipp:59
        ec = {m_val = 0, m_cat = 0x7f5b88e750c8}
#13 i2p::transport::Transports::Run (this=0x56040bf68080 <i2p::transport::transports>) at libi2pd/Transports.cpp:284
No locals.
#14 0x00007f5b87ed7e6f in std::execute_native_thread_routine (__p=0x56040dd22960) at ../../../../../src/libstdc++-v3/src/c++11/thread.cc:83
        __t = std::unique_ptr<std::thread::_State> containing 0x56040dd22960
#15 0x00007f5b883b34a4 in start_thread (arg=0x7f5b85954700) at pthread_create.c:456
        __res = <optimized out>
        pd = 0x7f5b85954700
        now = <optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140031059904256, 7554949325688090732, 140736987098286, 140736987098287, 140031051513856, 3, -7606692710082727828, -7606718222432391060},
              mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = <optimized out>
        pagesize_m1 = <optimized out>
        sp = <optimized out>
        freesize = <optimized out>
        __PRETTY_FUNCTION__ = "start_thread"
#16 0x00007f5b8764cd0f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:97
No locals.
(gdb) info threads
  Id   Target Id         Frame
* 1    Thread 0x7f5b85954700 (LWP 31178) 0x00007f5b8764cd0f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:97
  2    Thread 0x7f5b89bb1740 (LWP 31173) 0x00007f5b883bc7fd in nanosleep () at ../sysdeps/unix/syscall-template.S:84
  3    Thread 0x7f5b87157700 (LWP 31174) pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
  4    Thread 0x7f5b86956700 (LWP 31176) pthread_cond_timedwait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:225
  5    Thread 0x7f5b86155700 (LWP 31177) pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
  6    Thread 0x7f5b84952700 (LWP 31180) 0x00007f5b8764d303 in epoll_wait () at ../sysdeps/unix/syscall-template.S:84
  7    Thread 0x7f5b7f7fe700 (LWP 31182) 0x00007f5b8764d303 in epoll_wait () at ../sysdeps/unix/syscall-template.S:84
  8    Thread 0x7f5b7effd700 (LWP 31183) pthread_cond_timedwait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:225
  9    Thread 0x7f5b7e7fc700 (LWP 31184) 0x00007f5b8764d303 in epoll_wait () at ../sysdeps/unix/syscall-template.S:84
  10   Thread 0x7f5b7dffb700 (LWP 31185) 0x00007f5b8764d303 in epoll_wait () at ../sysdeps/unix/syscall-template.S:84
  11   Thread 0x7f5b7d7fa700 (LWP 31186) 0x00007f5b8764d303 in epoll_wait () at ../sysdeps/unix/syscall-template.S:84
  12   Thread 0x7f5b7cff9700 (LWP 31187) 0x00007f5b8764d303 in epoll_wait () at ../sysdeps/unix/syscall-template.S:84
  13   Thread 0x7f5b85153700 (LWP 31179) 0x00007f5b8764d303 in epoll_wait () at ../sysdeps/unix/syscall-template.S:84
  14   Thread 0x7f5b7ffff700 (LWP 31181) 0x00007f5b893d0118 in ?? () from /usr/lib/x86_64-linux-gnu/libcrypto.so.1.1
(gdb)
LLE8 commented 3 years ago

и снова те же тот же Debian 9.13 64 bit, i2pd 2.36 прожило менее 3 суток kern.log: May 1 13:04:43 localhost kernel: [1605104.265988] Tunnels[30388]: segfault at 7f2fa40225ec ip 00007f2bd1daccb4 sp 00007f2bc77fd2c8 error 4 in libcrypto.so.1.1[7f2bd1cf1000+26c000]

# gdb /usr/sbin/i2pd  /var/lib/i2pd/core
GNU gdb (Debian 7.12-6) 7.12.0.20161007-git
Copyright (C) 2016 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from /usr/sbin/i2pd...Reading symbols from /usr/lib/debug/.build-id/95/fbdc1ba4562994edb058d487e7fd39d6f32403.debug...done.
done.
[New LWP 30388]
[New LWP 30378]
[New LWP 30379]
[New LWP 30381]
[New LWP 30383]
[New LWP 30387]
[New LWP 30389]
[New LWP 30390]
[New LWP 30391]
[New LWP 30392]
[New LWP 30385]
[New LWP 30386]
[New LWP 30382]
[New LWP 30384]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Core was generated by `/usr/sbin/i2pd --conf=/etc/i2pd/i2pd.conf --tunconf=/etc/i2pd/tunnels.conf --tu'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0  0x00007f2bd1daccb4 in BN_CTX_end () from /usr/lib/x86_64-linux-gnu/libcrypto.so.1.1
[Current thread is 1 (Thread 0x7f2bc77fe700 (LWP 30388))]
(gdb) bt full
#0  0x00007f2bd1daccb4 in BN_CTX_end () from /usr/lib/x86_64-linux-gnu/libcrypto.so.1.1
No symbol table info available.
#1  0x00007f2bd1dad553 in BN_div () from /usr/lib/x86_64-linux-gnu/libcrypto.so.1.1
No symbol table info available.
#2  0x00007f2bd1db4bff in BN_nnmod () from /usr/lib/x86_64-linux-gnu/libcrypto.so.1.1
No symbol table info available.
#3  0x00007f2bd1db51b2 in BN_mod_mul () from /usr/lib/x86_64-linux-gnu/libcrypto.so.1.1
No symbol table info available.
#4  0x0000564eff198f26 in i2p::crypto::Ed25519::ScalarMul (this=this@entry=0x564f010dd040, u=u@entry=0x7f2ba40f5540, k=k@entry=0x7f2ba424f990, ctx=ctx@entry=0x564f010fd400)
    at libi2pd/Ed25519.cpp:501
        k_t = 1
        x1 = 0x7f2ba401ddd8
        x2 = 0x7f2ba401de20
        z2 = 0x7f2ba401de38
        x3 = 0x7f2ba401ddf0
        z3 = 0x7f2ba401de08
        c121666 = 0x7f2ba401de50
        tmp0 = 0x7f2ba401de68
        tmp1 = 0x7f2ba4020b40
        swap = 1
        bits = 151
        res = <optimized out>
#5  0x0000564eff199023 in i2p::crypto::Ed25519::ScalarMul (this=0x564f010dd040,
    p=p@entry=0x7f2bbc470eb3 "\334\316\201\034H\027\335<2ش\360\020:\221\335G\234\003\363ْ\262+D!\334\322J\204\245dE?\365\224%\001\374#\364\221\360\262-N\364`\025\223\350\251<\322,\240\234\312k\263J\223\274\276\233\247\034}Yu!܆\347U\206`\320p\330棼x\350\237K@J\"\"\016\363\202+\bl8d\370z\373\031V\324\b\245\004;\002\376\237:\331du\024\063^,\020CR\276\306|\301\302(\022\214\061\305\v\234\262Н\272\333RJ\235\311\060\355w\300\341\216^\276\020/\242\222#e.@R\376\260\355ƹ,Z#/\225\236\263\222\327f\204\366~d\232\203\244̬\342zQ\207\237\242\336\366\313hN\034\303kt"...,
    e=e@entry=0x564effdee670 "\252\310\030\226+`\233\233\241\237\345\367b>\230\221\232\260\211CY3\355\331Ζ\270\071\343\244\361\035",
    buf=buf@entry=0x7f2bc77fd540 "\301i\233\344\215G\325\373\243\016G\274+\177", ctx=ctx@entry=0x564f010fd400) at libi2pd/Ed25519.cpp:522
        p1 = 0x7f2ba40f5540
        k = "\250\310\030\226+`\233\233\241\237\345\367b>\230\221\232\260\211CY3\355\331Ζ\270\071\343\244\361]"
        n = 0x7f2ba424f990
        q1 = <optimized out>
#6  0x0000564eff1cdb07 in i2p::crypto::X25519Keys::Agree (this=0x564effdee648,
    pub=0x7f2bbc470eb3 "\334\316\201\034H\027\335<2ش\360\020:\221\335G\234\003\363ْ\262+D!\334\322J\204\245dE?\365\224%\001\374#\364\221\360\262-N\364`\025\223\350\251<\322,\240\234\312k\263J\223\274\276\233\247\034}Yu!܆\347U\206`\320p\330棼x\350\237K@J\"\"\016\363\202+\bl8d\370z\373\031V\324\b\245\004;\002\376\237:\331du\024\063^,\020CR\276\306|\301\302(\022\214\061\305\v\234\262Н\272\333RJ\235\311\060\355w\300\341\216^\276\020/\242\222#e.@R\376\260\355ƹ,Z#/\225\236\263\222\327f\204\366~d\232\203\244̬\342zQ\207\237\242\336\366\313hN\034\303kt"...,
    shared=0x7f2bc77fd540 "\301i\233\344\215G\325\373\243\016G\274+\177") at libi2pd/Crypto.cpp:366
No locals.
#7  0x0000564eff1d1ef9 in i2p::RouterContext::DecryptTunnelBuildRecord (this=this@entry=0x564eff5a46a0 <i2p::context>,
    encrypted=encrypted@entry=0x7f2bbc470eb3 "\334\316\201\034H\027\335<2ش\360\020:\221\335G\234\003\363ْ\262+D!\334\322J\204\245dE?\365\224%\001\374#\364\221\360\262-N\364`\025\223\350\251<\322,\240\234\312k\263J\223\274\276\233\247\034}Yu!܆\347U\206`\320p\330棼x\350\237K@J\"\"\016\363\202+\bl8d\370z\373\031V\324\b\245\004;\002\376\237:\331du\024\063^,\020CR\276\306|\301\302(\022\214\061\305\v\234\262Н\272\333RJ\235\311\060\355w\300\341\216^\276\020/\242\222#e.@R\376\260\355ƹ,Z#/\225\236\263\222\327f\204\366~d\232\203\244̬\342zQ\207\237\242\336\366\313hN\034\303kt"..., data=data@entry=0x7f2bc77fdb60 "\020", ctx=ctx@entry=0x7f2ba41016d0) at libi2pd/RouterContext.cpp:782
        sharedSecret = "\301i\233\344\215G\325\373\243\016G\274+\177\000\000@\000\000\000\000\000\000\000\243\027\346\321+\177\000"
        nonce = "\000\000\000\000d?\375\317+\177\000"
#8  0x0000564eff1fa5ba in i2p::HandleBuildRequestRecords (num=5,
    records=records@entry=0x7f2bbc470873 "\220\330˥\354\205'\246\060h\025\364\247\067\337\307[/o\253Ɨ\224\305!\373\364\250k\036*\366\225r:\223\300\303\061\325F\235\345H\344\262\311!\261\071x\006\217\036\345\016\023\300\261<%\023\363\260a\002\063\363<ò+\317w\232\354P+\236\205\370\265\037\266\310\322\r\373\260\036υ\340\361oS\307\b0\r\030\223\244\361{\216\027q\214",
    clearText=clearText@entry=0x7f2bc77fdb60 "\020") at libi2pd/I2NPProtocol.cpp:375
---Type <return> to continue, or q <return> to quit---
        ctx = 0x7f2ba41016d0
        success = <optimized out>
        retCode = <optimized out>
        encryption = {m_LastBlock = {m_UnalignedBuffer = "\241\353\331n\241\362\331n\241\353\331n!\357\331n\241\371\331n\241\353\331n\241\353\331n\241", <incomplete sequence \332>,
            m_Buf = 0x6ed9eba16ed9f9a1 <error: Cannot access memory at address 0x6ed9eba16ed9f9a1>}, m_ECBEncryption = {<i2p::crypto::ECBCryptoAESNI> = {m_KeySchedule = {
                m_UnalignedBuffer = "\241\353\331n\241\a\332n\241\353\331n!\371\331n\241#\332n!\360\331n\241\353\331n!\371\331n\241#\332n!\360\331n\241\353\331n\241[\332n\241\371\331n\241!\332n\241\353\331n\241[\332n\241\371\331n\241!\332n\241\313\332n\241\371\331n\241\353\331n\241\271\333n\241\313\332n\241\371\331n\241\353\331n\241\271\333nܼ\033\217ܔ\034\217\334<\037\217\334\v\034\217ܼ\033\217ܔ\034\217\334<\037\217\334\v\034\217ܼ\033\217\334\312\"\217ܪ\034\217\334\061\037\217ܼ\033\217\334\312\"\217ܪ\034\217\334\061\037\217ܼ)\217ܜ\034\217\334\362\033\217ܪ8\217ܼ)\217ܜ\034\217\334\362\033\217ܪ8\217ܼ\033\217ܬ)\217ܼS\217܂ \217ܼ\033"..., m_Buf = 0x8f525adc8f2a9cdc <error: Cannot access memory at address 0x8f525adc8f2a9cdc>}}, m_Key = {
              rd_key = {3410149846, 3396442070, 3395527126, 3425789910, 3410149846, 3396442070, 3395527126, 3425789910, 3395469782, 3409625558, 3454247382, 3400647126, 3395469782,
                3409625558, 3454247382, 3400647126, 3395469782, 3513827798, 3411067350, 3453476310, 3395469782, 3513827798, 3411067350, 3453476310, 3630350806, 3410207190, 3399023062,
                3880866262, 3630350806, 3410207190, 3399023062, 3880866262, 3395469782, 3629339094, 40083926, 3475650006, 3395469782, 3629339094, 40083926, 3475650006, 2276733509,
                3675592547, 2383778994, 2276591517, 2962026053, 174360278, 3415898810, 871360744, 3615648207, 3555780023, 1338819309, 2027347103, 704187165, 1952165039, 3138125415,
                2087498715, 4064597054, 641146332, 3600911363, 1957737323}, rounds = 1692698200}}}
        record = 0x7f2bbc470ea3 "\\\t\340S\366ql\202F\232\212\350r8l\301\334\316\201\034H\027\335<2ش\360\020:\221\335G\234\003\363ْ\262+D!\334\322J\204\245dE?\365\224%\001\374#\364\221\360\262-N\364`\025\223\350\251<\322,\240\234\312k\263J\223\274\276\233\247\034}Yu!܆\347U\206`\320p\330棼x\350\237K@J\"\"\016\363\202+\bl8d\370z\373\031V\324\b\245\004;\002\376\237:\331du\024\063^,\020CR\276\306|\301\302(\022\214\061\305\v\234\262Н\272\333RJ\235\311\060\355w\300\341\216^\276\020/\242\222#e.@R\376\260\355ƹ,Z#/\225\236\263\222\327f\204\366~d\232\203\244", <incomplete sequence \314>...
        i = 3
#9  0x0000564eff1fbd2f in i2p::HandleVariableTunnelBuildMsg (replyMsgID=replyMsgID@entry=2616593161,
    buf=0x7f2bbc470872 "\005\220\330˥\354\205'\246\060h\025\364\247\067\337\307[/o\253Ɨ\224\305!\373\364\250k\036*\366\225r:\223\300\303\061\325F\235\345H\344\262\311!\261\071x\006\217\036\345\016\023\300\261<%\023\363\260a\002\063\363<ò+\317w\232\354P+\236\205\370\265\037\266\310\322\r\373\260\036υ\340\361oS\307\b0\r\030\223\244\361{\216\027q\214", len=<optimized out>)
    at libi2pd/I2NPProtocol.cpp:490
        clearText = "\020\000\000\000\000\000\000\000Њ\016\244+\177\000\000\004\000\000\000\000\000\000\000Њ\016\244+\177\000\000@\334\177\307+\177\000\000\060\335\177\307+\177\000\000\004\004\000\000\000\000\000\000 \000\000\244+\177\000\000i\000\000\000\000\000\000\000\200\272\242\001OV\000\000\200PZ\377NV\000\000@\335\177\307+\177\000\000\060\335\177\307+\177\000\000d?\375\317+\177\000\000\200PZ\377NV\000\000\352\270\022\377NV\000\000\000\000\000\000\000\000\000\000\250'\212\320\t\000\000\200\210\274\242\001OV\000\000p\334\177\307+\177\000\000\220\212\030\244+\177\000\000P\335\177\307+\177\000\000\200PZ\377NV\000\000\372\301!\377NV\000\000\340\373!\377NV", '\000' <repeats 34 times>...
        num = 5
        tunnel = std::shared_ptr (empty) 0x0
#10 0x0000564eff1fc597 in i2p::HandleI2NPMessage (msg=0x7f2bbc470862 "\027\233\366\v\t", len=<optimized out>) at libi2pd/I2NPProtocol.cpp:701
        typeID = 23 '\027'
        buf = 0x7f2bbc470872 "\005\220\330˥\354\205'\246\060h\025\364\247\067\337\307[/o\253Ɨ\224\305!\373\364\250k\036*\366\225r:\223\300\303\061\325F\235\345H\344\262\311!\261\071x\006\217\036\345\016\023\300\261<%\023\363\260a\002\063\363<ò+\317w\232\354P+\236\205\370\265\037\266\310\322\r\373\260\036υ\340\361oS\307\b0\r\030\223\244\361{\216\027q\214"
        size = 2641
#11 0x0000564eff184c8a in i2p::tunnel::Tunnels::Run (this=0x564eff5a4340 <i2p::tunnel::tunnels>) at libi2pd/Tunnel.cpp:522
        tunnel = std::shared_ptr (empty) 0x0
        typeID = 23 '\027'
        prevTunnelID = 0
        tunnelID = 0
        prevTunnel = std::shared_ptr (empty) 0x0
        msg = std::shared_ptr (count 1, weak 0) 0x7f2bbc470830
        lastTs = 1619874273
        lastPoolsTs = 1619874283
#12 0x00007f2bd08cce6f in std::execute_native_thread_routine (__p=0x564f01a56230) at ../../../../../src/libstdc++-v3/src/c++11/thread.cc:83
        __t = std::unique_ptr<std::thread::_State> containing 0x564f01a56230
#13 0x00007f2bd0da84a4 in start_thread (arg=0x7f2bc77fe700) at pthread_create.c:456
        __res = <optimized out>
        pd = 0x7f2bc77fe700
        now = <optimized out>
---Type <return> to continue, or q <return> to quit---
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {139826007369472, -946329857783583373, 140733470154718, 140733470154719, 139825998979072, 3, 903667706018311539, 903631119045143923},
              mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = <optimized out>
        pagesize_m1 = <optimized out>
        sp = <optimized out>
        freesize = <optimized out>
        __PRETTY_FUNCTION__ = "start_thread"
#14 0x00007f2bd0041d0f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:97
No locals.
(gdb) info threads
  Id   Target Id         Frame
* 1    Thread 0x7f2bc77fe700 (LWP 30388) 0x00007f2bd0041d0f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:97
  2    Thread 0x7f2bd25a6740 (LWP 30378) 0x00007f2bd0db17fd in nanosleep () at ../sysdeps/unix/syscall-template.S:84
  3    Thread 0x7f2bcfb4c700 (LWP 30379) pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
  4    Thread 0x7f2bcf34b700 (LWP 30381) pthread_cond_timedwait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:225
  5    Thread 0x7f2bce349700 (LWP 30383) 0x00007f2bd0042303 in epoll_wait () at ../sysdeps/unix/syscall-template.S:84
  6    Thread 0x7f2bc7fff700 (LWP 30387) 0x00007f2bd0042303 in epoll_wait () at ../sysdeps/unix/syscall-template.S:84
  7    Thread 0x7f2bc6ffd700 (LWP 30389) 0x00007f2bd0042303 in epoll_wait () at ../sysdeps/unix/syscall-template.S:84
  8    Thread 0x7f2bc67fc700 (LWP 30390) 0x00007f2bd0042303 in epoll_wait () at ../sysdeps/unix/syscall-template.S:84
  9    Thread 0x7f2bc5ffb700 (LWP 30391) 0x00007f2bd0042303 in epoll_wait () at ../sysdeps/unix/syscall-template.S:84
  10   Thread 0x7f2bc57fa700 (LWP 30392) 0x00007f2bd0042303 in epoll_wait () at ../sysdeps/unix/syscall-template.S:84
  11   Thread 0x7f2bcd347700 (LWP 30385) 0x00007f2bd0042303 in epoll_wait () at ../sysdeps/unix/syscall-template.S:84
  12   Thread 0x7f2bccb46700 (LWP 30386) 0x00007f2bd0042303 in epoll_wait () at ../sysdeps/unix/syscall-template.S:84
  13   Thread 0x7f2bceb4a700 (LWP 30382) pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
  14   Thread 0x7f2bcdb48700 (LWP 30384) 0x00007f2bd1db3e2c in BN_num_bits () from /usr/lib/x86_64-linux-gnu/libcrypto.so.1.1
(gdb)

в такой конфигурации падает регулярно, воспроизводится относительно надежно @orignal может быть после 2.36 все это уже исправлено и на 2.36 нет смысла экспериментировать?

orignal commented 3 years ago

@orignal может быть после 2.36 все это уже исправлено и на 2.36 нет смысла экспериментировать?

Да эта бага исправлена в 2.37

LLE8 commented 3 years ago

commit https://github.com/PurpleI2P/i2pd/commit/ed42948051afb308cd7585d4284d286f49829a08 systemctl stop i2pd.service

root@box-101051:/var/lib/i2pd# gdb /usr/sbin/i2pd ./core
GNU gdb (Debian 8.2.1-2+b3) 8.2.1
Copyright (C) 2018 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
    <http://www.gnu.org/software/gdb/documentation/>.

For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from /usr/sbin/i2pd...Reading symbols from /usr/lib/debug/.build-id/38/7d3cc03850c73807f8b0cdfcfae112b8e4f984.debug...done.
done.
[New LWP 2373]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Core was generated by `/usr/sbin/i2pd --conf=/etc/i2pd/i2pd.conf --tunconf=/etc/i2pd/tunnels.conf --tu'.
Program terminated with signal SIGABRT, Aborted.
#0  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
50      ../sysdeps/unix/sysv/linux/raise.c: No such file or directory.
(gdb) info threads
  Id   Target Id                        Frame
* 1    Thread 0x7fe3c108c740 (LWP 2373) __GI_raise (sig=sig@entry=6)
    at ../sysdeps/unix/sysv/linux/raise.c:50
(gdb) bt full
#0  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
        set = {__val = {0, 18446744073709551615 <repeats 12 times>, 140616174779456, 94905929035488,
            140616173492122}}
        pid = <optimized out>
        tid = <optimized out>
        ret = <optimized out>
#1  0x00007fe3c10c25fe in __GI_abort () at abort.c:100
        act = {__sigaction_handler = {sa_handler = 0x0, sa_sigaction = 0x0}, sa_mask = {__val = {
              18446744073709551615 <repeats 16 times>}}, sa_flags = 0, sa_restorer = 0x0}
        sigs = {__val = {32, 0 <repeats 15 times>}}
#2  0x00007fe3c1119508 in __libc_message (action=action@entry=do_abort,
    fmt=fmt@entry=0x7fe3c122428d "%s\n") at ../sysdeps/posix/libc_fatal.c:181
        ap = {{gp_offset = 24, fp_offset = 22097, overflow_arg_area = 0x7ffd52ae5b20,
            reg_save_area = 0x7ffd52ae5ab0}}
        fd = 2
        list = <optimized out>
        nlist = <optimized out>
        cp = <optimized out>
        written = <optimized out>
#3  0x00007fe3c111fc1a in malloc_printerr (str=str@entry=0x7fe3c1222376 "corrupted size vs. prev_size")
    at malloc.c:5341
No locals.
#4  0x00007fe3c111fe74 in malloc_consolidate (av=av@entry=0x7fe3a0000020) at malloc.c:4488
        fb = <optimized out>
        maxfb = 0x7fe3a0000078
        p = <optimized out>
        nextp = 0x7fe3a0075080
        unsorted_bin = 0x7fe3a0000080
--Type <RET> for more, q to quit, c to continue without paging--
        first_unsorted = <optimized out>
        nextchunk = <optimized out>
        size = <optimized out>
        nextsize = <optimized out>
        prevsize = <optimized out>
        nextinuse = <optimized out>
        bck = <optimized out>
        fwd = <optimized out>
#5  0x00007fe3c112179a in _int_free (av=0x7fe3a0000020, p=0x7fe3a029b610, have_lock=<optimized out>)
    at malloc.c:4392
        size = 66320
        fb = <optimized out>
        nextchunk = 0x7fe3a02ab920
        nextsize = 4208
        nextinuse = <optimized out>
        prevsize = <optimized out>
        bck = <optimized out>
        fwd = <optimized out>
        __PRETTY_FUNCTION__ = "_int_free"
#6  0x00005651005eef31 in std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::_M_release (
    this=0x7fe3a02aa8c0) at /usr/include/c++/8/ext/atomicity.h:82
No locals.
#7  std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::_M_release (this=0x7fe3a02aa8c0)
    at /usr/include/c++/8/bits/shared_ptr_base.h:148
No locals.
#8  std::__shared_count<(__gnu_cxx::_Lock_policy)2>::~__shared_count (this=0x7fe3a025fa28,
    __in_chrg=<optimized out>) at /usr/include/c++/8/bits/shared_ptr_base.h:728
No locals.
--Type <RET> for more, q to quit, c to continue without paging--
#9  std::__shared_ptr<i2p::I2NPMessage, (__gnu_cxx::_Lock_policy)2>::~__shared_ptr (this=0x7fe3a025fa20,
    __in_chrg=<optimized out>) at /usr/include/c++/8/bits/shared_ptr_base.h:1167
No locals.
#10 std::shared_ptr<i2p::I2NPMessage>::~shared_ptr (this=0x7fe3a025fa20, __in_chrg=<optimized out>)
    at /usr/include/c++/8/bits/shared_ptr.h:103
No locals.
#11 std::_Destroy<std::shared_ptr<i2p::I2NPMessage> > (__pointer=0x7fe3a025fa20)
    at /usr/include/c++/8/bits/stl_construct.h:98
No locals.
#12 std::_Destroy_aux<false>::__destroy<std::shared_ptr<i2p::I2NPMessage>*> (__last=<optimized out>,
    __first=0x7fe3a025fa20) at /usr/include/c++/8/bits/stl_construct.h:108
No locals.
#13 std::_Destroy<std::shared_ptr<i2p::I2NPMessage>*> (__last=<optimized out>, __first=<optimized out>)
    at /usr/include/c++/8/bits/stl_construct.h:137
No locals.
#14 std::_Destroy<std::shared_ptr<i2p::I2NPMessage>*, std::shared_ptr<i2p::I2NPMessage> > (
    __last=0x7fe3a025fb40, __first=0x7fe3a025f940) at /usr/include/c++/8/bits/stl_construct.h:206
No locals.
#15 std::deque<std::shared_ptr<i2p::I2NPMessage>, std::allocator<std::shared_ptr<i2p::I2NPMessage> > >::_M_destroy_data_aux (__last=..., __first=..., this=0x56510080d6a0 <i2p::tunnel::tunnels+320>)
    at /usr/include/c++/8/bits/deque.tcc:851
        __node = 0x7fe3b4023668
#16 std::deque<std::shared_ptr<i2p::I2NPMessage>, std::allocator<std::shared_ptr<i2p::I2NPMessage> > >::_M_destroy_data (__last=..., __first=..., this=0x56510080d6a0 <i2p::tunnel::tunnels+320>)
    at /usr/include/c++/8/bits/stl_deque.h:2082
No locals.
#17 std::deque<std::shared_ptr<i2p::I2NPMessage>, std::allocator<std::shared_ptr<i2p::I2NPMessage> > >::~deque (this=0x56510080d6a0 <i2p::tunnel::tunnels+320>, __in_chrg=<optimized out>)
--Type <RET> for more, q to quit, c to continue without paging--
    at /usr/include/c++/8/bits/stl_deque.h:1055
No locals.
#18 std::queue<std::shared_ptr<i2p::I2NPMessage>, std::deque<std::shared_ptr<i2p::I2NPMessage>, std::allocator<std::shared_ptr<i2p::I2NPMessage> > > >::~queue (this=0x56510080d6a0 <i2p::tunnel::tunnels+320>,
    __in_chrg=<optimized out>) at /usr/include/c++/8/bits/stl_queue.h:96
No locals.
#19 i2p::util::Queue<std::shared_ptr<i2p::I2NPMessage> >::~Queue (
    this=0x56510080d6a0 <i2p::tunnel::tunnels+320>, __in_chrg=<optimized out>) at libi2pd/Queue.h:25
No locals.
#20 i2p::tunnel::Tunnels::~Tunnels (this=0x56510080d560 <i2p::tunnel::tunnels>,
    __in_chrg=<optimized out>) at libi2pd/Tunnel.cpp:351
No locals.
#21 0x00007fe3c10d9d8c in __run_exit_handlers (status=0, listp=0x7fe3c125b718 <__exit_funcs>,
    run_list_atexit=run_list_atexit@entry=true, run_dtors=run_dtors@entry=true) at exit.c:108
        atfct = <optimized out>
        onfct = <optimized out>
        cxafct = <optimized out>
        f = <optimized out>
        new_exitfn_called = 136
        cur = 0x565100f695f0
#22 0x00007fe3c10d9eba in __GI_exit (status=<optimized out>) at exit.c:139
No locals.
#23 0x00007fe3c10c40a2 in __libc_start_main (main=0x5651005735f0 <main(int, char**)>, argc=8,
    argv=0x7ffd52ae5d78, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>,
    stack_end=0x7ffd52ae5d68) at ../csu/libc-start.c:342
        result = <optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {0, 784623999788610984, 94905898093776,
                140725990612336, 0, 0, 6465813270684333480, 6450854157955069352}, mask_was_saved = 0}},
--Type <RET> for more, q to quit, c to continue without paging--
          priv = {pad = {0x0, 0x0, 0x7ffd52ae5dc0, 0x7fe3c1c4b190}, data = {prev = 0x0, cleanup = 0x0,
              canceltype = 1387158976}}}
        not_first_call = <optimized out>
#24 0x000056510057ccfa in _start () at daemon/i2pd.cpp:34
No symbol table info available.
(gdb)
LLE8 commented 3 years ago

Debian 10.9 64 bit, ipv4=true, ipv6=true, i2pd 0547d590e1f1cefc1f93204cae17e2795487b61a graceful shutdown

root@box-101051:/etc/i2pd# gdb /usr/sbin/i2pd  /var/lib/i2pd/core
GNU gdb (Debian 8.2.1-2+b3) 8.2.1
Copyright (C) 2018 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
    <http://www.gnu.org/software/gdb/documentation/>.

For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from /usr/sbin/i2pd...Reading symbols from /usr/lib/debug/.build-id/b0/8efa0395586086fb1d95b712e50877a0216b5b.debug...done.
done.
[New LWP 25285]
[New LWP 25279]
[New LWP 25280]
[New LWP 25281]
[New LWP 25282]
[New LWP 25283]
[New LWP 25284]
[New LWP 25286]
[New LWP 25287]
[New LWP 25288]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Core was generated by `/usr/sbin/i2pd --conf=/etc/i2pd/i2pd.conf --tunconf=/etc/i2pd/tunnels.conf --tu'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0  0x000056529b31917f in __gnu_cxx::__exchange_and_add (__val=-1, __mem=0xf08)
    at /usr/include/c++/8/ext/atomicity.h:82
82            return __exchange_and_add(__mem, __val);
[Current thread is 1 (Thread 0x7fb24effd700 (LWP 25285))]
(gdb) info threads
  Id   Target Id                         Frame
* 1    Thread 0x7fb24effd700 (LWP 25285) 0x000056529b31917f in __gnu_cxx::__exchange_and_add (__val=-1,
    __mem=0xf08) at /usr/include/c++/8/ext/atomicity.h:82
  2    Thread 0x7fb255d94740 (LWP 25279) _int_free (av=0x7fb22c000020, p=0x7fb22c069f30,
    have_lock=<optimized out>) at malloc.c:4308
  3    Thread 0x7fb255d13700 (LWP 25280) futex_wait_cancelable (private=0, expected=0,
    futex_word=0x56529b5a1864 <i2p::log::logger+292>) at ../sysdeps/unix/sysv/linux/futex-internal.h:88
  4    Thread 0x7fb255512700 (LWP 25281) futex_abstimed_wait_cancelable (private=0, abstime=0x7fb255511e80,
    expected=0, futex_word=0x56529b5a131c <i2p::data::netdb+444>)
    at ../sysdeps/unix/sysv/linux/futex-internal.h:205
  5    Thread 0x7fb254d11700 (LWP 25282) futex_wait_cancelable (private=0, expected=0,
    futex_word=0x56529b5a0e94 <i2p::transport::transports+308>) at ../sysdeps/unix/sysv/linux/futex-internal.h:88
  6    Thread 0x7fb24ffff700 (LWP 25283) 0x000056529b3c6755 in __gnu_cxx::__exchange_and_add (__val=-1,
    __mem=0x7fb22c536ec8) at /usr/include/c++/8/ext/atomicity.h:82
  7    Thread 0x7fb24f7fe700 (LWP 25284) 0x00007fb255ea17ef in epoll_wait (epfd=9,
    events=events@entry=0x7fb24f7fd790, maxevents=maxevents@entry=128, timeout=-1)
    at ../sysdeps/unix/sysv/linux/epoll_wait.c:30
  8    Thread 0x7fb24e7fc700 (LWP 25286) 0x00007fb255ea17ef in epoll_wait (epfd=12,
    events=events@entry=0x7fb24e7fb790, maxevents=maxevents@entry=128, timeout=-1)
    at ../sysdeps/unix/sysv/linux/epoll_wait.c:30
  9    Thread 0x7fb24dffb700 (LWP 25287) 0x00007fb255ea17ef in epoll_wait (epfd=15,
    events=events@entry=0x7fb24dffa790, maxevents=maxevents@entry=128, timeout=-1)
    at ../sysdeps/unix/sysv/linux/epoll_wait.c:30
  10   Thread 0x7fb24d7fa700 (LWP 25288) 0x00007fb255ea17ef in epoll_wait (epfd=25,
    events=events@entry=0x7fb24d7f9790, maxevents=maxevents@entry=128, timeout=-1)
    at ../sysdeps/unix/sysv/linux/epoll_wait.c:30
(gdb) bt full
#0  0x000056529b31917f in __gnu_cxx::__exchange_and_add (__val=-1, __mem=0xf08)
    at /usr/include/c++/8/ext/atomicity.h:82
No locals.
#1  __gnu_cxx::__exchange_and_add_dispatch (__val=-1, __mem=0xf08) at /usr/include/c++/8/ext/atomicity.h:82
No locals.
#2  __gnu_cxx::__exchange_and_add_dispatch (__val=-1, __mem=0xf08) at /usr/include/c++/8/ext/atomicity.h:78
No locals.
#3  std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::_M_release (this=0xf00)
    at /usr/include/c++/8/bits/shared_ptr_base.h:152
No locals.
#4  0x000056529b46ed8c in std::__shared_count<(__gnu_cxx::_Lock_policy)2>::~__shared_count (
    this=<optimized out>, __in_chrg=<optimized out>) at /usr/include/c++/8/bits/shared_ptr_base.h:1167
No locals.
#5  std::__shared_ptr<i2p::crypto::DHKeys, (__gnu_cxx::_Lock_policy)2>::~__shared_ptr (this=<optimized out>,
    __in_chrg=<optimized out>) at /usr/include/c++/8/bits/shared_ptr_base.h:1167
No locals.
#6  std::__shared_ptr<i2p::crypto::DHKeys, (__gnu_cxx::_Lock_policy)2>::operator= (__r=..., this=0x7fb24406f898)
    at /usr/include/c++/8/bits/shared_ptr_base.h:1263
No locals.
#7  std::shared_ptr<i2p::crypto::DHKeys>::operator= (__r=..., this=0x7fb24406f898)
    at /usr/include/c++/8/bits/shared_ptr.h:335
No locals.
#8  i2p::transport::SSUSession::Reset (this=0x7fb24406f140) at libi2pd/SSUSession.cpp:939
No locals.
#9  0x000056529b46ee21 in i2p::transport::SSUSession::Close (this=0x7fb24406f140) at libi2pd/SSUSession.cpp:924
No locals.
#10 0x000056529b43bcdc in i2p::transport::SSUServer::DeleteSession (this=this@entry=0x56529d0d6260,
    session=std::shared_ptr<i2p::transport::SSUSession> (use count 3, weak count -1) = {...})
    at libi2pd/SSU.cpp:595
        ep = <optimized out>
#11 0x000056529b4701ed in i2p::transport::SSUSession::ProcessNextMessage (this=0x7fb24406f140,
    buf=<optimized out>, len=<optimized out>, senderEndpoint=...)
    at /usr/include/c++/8/bits/shared_ptr_base.h:1190
        address = std::shared_ptr<const i2p::data::RouterInfo::Address> (use count 2, weak count 0) = {
          get() = 0x56529bb55960}
#12 0x000056529b44083f in i2p::transport::SSUServer::HandleReceivedPackets (this=0x56529d0d6260, packets=...,
    sessions=0x56529d0d64b0) at libi2pd/SSU.cpp:412
        packet = @0x7fb240014060: 0x7fb24002e470
        __for_range = <optimized out>
        __for_begin = <optimized out>
        __for_end = <optimized out>
        session = std::shared_ptr<i2p::transport::SSUSession> (use count 3, weak count -1) = {
          get() = 0x7fb24406f140}
--Type <RET> for more, q to quit, c to continue without paging--
#13 0x000056529b445208 in std::__invoke_impl<void, void (i2p::transport::SSUServer::*&)(std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*), i2p::transport::SSUServer*&, std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >&, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*&> (__t=@0x7fb24effcd90: 0x56529d0d6260, __f=
    @0x7fb24effcd60: (void (i2p::transport::SSUServer::*)(i2p::transport::SSUServer * const, std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > > *)) 0x56529b440730 <i2p::transport::SSUServer::HandleReceivedPackets(std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*)>) at /usr/include/c++/8/bits/invoke.h:89
No locals.
#14 std::__invoke<void (i2p::transport::SSUServer::*&)(std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*), i2p::transport::SSUServer*&, std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >&, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*&> (__fn=
    @0x7fb24effcd60: (void (i2p::transport::SSUServer::*)(i2p::transport::SSUServer * const, std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > > *)) 0x56529b440730 <i2p::transport::SSUServer::HandleReceivedPackets(std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*)>) at /usr/include/c++/8/bits/invoke.h:95
No locals.
#15 std::_Bind<void (i2p::transport::SSUServer::*(i2p::transport::SSUServer*, std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*))(std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<--Type <RET> for more, q to quit, c to continue without paging--
boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*)>::__call<void, , 0ul, 1ul, 2ul>(std::tuple<>&&, std::_Index_tuple<0ul, 1ul, 2ul>) (__args=..., this=0x7fb24effcd60)
    at /usr/include/c++/8/functional:400
No locals.
#16 std::_Bind<void (i2p::transport::SSUServer::*(i2p::transport::SSUServer*, std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*))(std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*)>::operator()<, void>() (
    this=0x7fb24effcd60) at /usr/include/c++/8/functional:484
No locals.
#17 boost::asio::asio_handler_invoke<std::_Bind<void (i2p::transport::SSUServer::*(i2p::transport::SSUServer*, std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*))(std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*)> >(std::_Bind<void (i2p::transport::SSUServer::*(i2p::transport::SSUServer*, std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*))(std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*)>&, ...) (function=...)
    at /usr/include/boost/asio/handler_invoke_hook.hpp:69
No locals.
#18 boost_asio_handler_invoke_helpers::invoke<std::_Bind<void (i2p::transport::SSUServer::*(i2p::transport::SSUServer*, std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*))(std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*)>, std::_Bind<void (i2p::transport::SSUServer::*(i2p::transport::SSUServer*, std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip:--Type <RET> for more, q to quit, c to continue without paging--
:udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*))(std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*)> >(std::_Bind<void (i2p::transport::SSUServer::*(i2p::transport::SSUServer*, std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*))(std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*)>&, std::_Bind<void (i2p::transport::SSUServer::*(i2p::transport::SSUServer*, std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*))(std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*)>&) (context=..., function=...)
    at /usr/include/boost/asio/detail/handler_invoke_helpers.hpp:37
No locals.
#19 boost::asio::detail::handler_work<std::_Bind<void (i2p::transport::SSUServer::*(i2p::transport::SSUServer*, std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*))(std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*)>, boost::asio::system_executor>::complete<std::_Bind<void (i2p::transport::SSUServer::*(i2p::transport::SSUServer*, std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*))(std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*)> >(std::_Bind<void (i2p::transport::SSUServer::*(i2p::transport::SSUServer*, std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> --Type <RET> for more, q to quit, c to continue without paging--
>, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*))(std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*)>&, std::_Bind<void (i2p::transport::SSUServer::*(i2p::transport::SSUServer*, std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*))(std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*)>&) (this=<synthetic pointer>, handler=..., function=...)
    at /usr/include/boost/asio/detail/handler_work.hpp:82
No locals.
#20 boost::asio::detail::completion_handler<std::_Bind<void (i2p::transport::SSUServer::*(i2p::transport::SSUServer*, std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*))(std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*)> >::do_complete(void*, boost::asio::detail::scheduler_operation*, boost::system::error_code const&, unsigned long) (owner=<optimized out>, base=<optimized out>) at /usr/include/boost/asio/detail/completion_handler.hpp:70
        b = <optimized out>
        h = <optimized out>
        p = {h = 0x7fb24effcd60, v = 0x0, p = 0x0}
        w = <optimized out>
        handler = {<std::_Weak_result_type<void (i2p::transport::SSUServer::*)(std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*)>> = {<std::_Weak_result_type_memfun<void (i2p::transport::SSUServer::*)(std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*), true>> = {<No data fields>}, <No data fields>},
          _M_f = (void (i2p::transport::SSUServer::*)(i2p::transport::SSUServer * const,
    std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >,
    std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > > *)) 0x56529b440730 <i2p::t--Type <RET> for more, q to quit, c to continue without paging--
ransport::SSUServer::HandleReceivedPackets(std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*)>,
          _M_bound_args = std::tuple containing = {[1] = 0x56529d0d6260,
            [2] = std::vector of length 1, capacity 1 = {0x7fb24002e470}, [3] = 0x56529d0d64b0}}
#21 0x000056529b43db40 in boost::asio::detail::scheduler_operation::complete (bytes_transferred=0, ec=...,
    owner=0x56529d0d65d0, this=<optimized out>) at /usr/include/boost/asio/detail/scheduler_operation.hpp:40
No locals.
#22 boost::asio::detail::scheduler::do_run_one (ec=..., this_thread=..., lock=..., this=0x56529d0d65d0)
    at /usr/include/boost/asio/detail/impl/scheduler.ipp:401
        task_result = 0
        on_exit = {scheduler_ = 0x56529d0d65d0, lock_ = 0x7fb24effcdf0, this_thread_ = 0x7fb24effce70}
        o = <optimized out>
        more_handlers = true
#23 boost::asio::detail::scheduler::run (ec=..., this=0x56529d0d65d0)
    at /usr/include/boost/asio/detail/impl/scheduler.ipp:154
        this_thread = {<boost::asio::detail::thread_info_base> = {<boost::asio::detail::noncopyable> = {<No data fields>}, reusable_memory_ = {0x0, 0x0}},
          private_op_queue = {<boost::asio::detail::noncopyable> = {<No data fields>}, front_ = 0x0,
            back_ = 0x0}, private_outstanding_work = 0}
        ctx = {<boost::asio::detail::noncopyable> = {<No data fields>}, key_ = 0x56529d0d65d0,
          value_ = 0x7fb24effce70, next_ = 0x0}
        lock = {<boost::asio::detail::noncopyable> = {<No data fields>}, mutex_ = @0x56529d0d6600,
          locked_ = false}
        n = <optimized out>
        this_thread = <optimized out>
        ctx = <optimized out>
        lock = <optimized out>
        n = <optimized out>
#24 boost::asio::io_context::run (this=0x56529d0d6280) at /usr/include/boost/asio/impl/io_context.ipp:62
        ec = {m_val = 0, m_cat = 0x7fb25637e070}
        s = <optimized out>
        ec = <optimized out>
        s = <optimized out>
#25 i2p::transport::SSUServer::Run (this=0x56529d0d6260) at libi2pd/SSU.cpp:151
No locals.
#26 0x00007fb2561c3b2f in ?? () from /lib/x86_64-linux-gnu/libstdc++.so.6
No symbol table info available.
#27 0x00007fb2562a3fa3 in start_thread (arg=<optimized out>) at pthread_create.c:486
        ret = <optimized out>
        pd = <optimized out>
        now = <optimized out>
--Type <RET> for more, q to quit, c to continue without paging--
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140403806295808, -7499625107459512088, 140729144613950,
                140729144613951, 140403806295808, 140729144614416, 7534354280133060840, 7534336253627754728},
              mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0,
              canceltype = 0}}}
        not_first_call = <optimized out>
#28 0x00007fb255ea14cf in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
No locals.
(gdb)
LLE8 commented 3 years ago

Версия 3 июня, Debian 10.9 64 bit, ipv4=true, ipv6=true, Graceful shutdown

root@box-101051:~# gdb /usr/sbin/i2pd  /var/lib/i2pd/core
GNU gdb (Debian 8.2.1-2+b3) 8.2.1
Copyright (C) 2018 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
    <http://www.gnu.org/software/gdb/documentation/>.

For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from /usr/sbin/i2pd...Reading symbols from /usr/lib/debug/.build-id/67/497e49789823363825bd019d08f53e5acd1472.debug...done.
done.
[New LWP 32340]
[New LWP 32221]
[New LWP 32222]
[New LWP 32336]
[New LWP 32337]
[New LWP 32338]
[New LWP 32339]
[New LWP 32341]
[New LWP 32342]
[New LWP 32343]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Core was generated by `/usr/sbin/i2pd --conf=/etc/i2pd/i2pd.conf --tunconf=/etc/i2pd/tunnels.conf --tu'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0  0x0000562af4daa14f in __gnu_cxx::__exchange_and_add (__val=-1, __mem=0x7c8) at /usr/include/c++/8/ext/atomicity.h:82
82            return __exchange_and_add(__mem, __val);
[Current thread is 1 (Thread 0x7f97f8edd700 (LWP 32340))]
(gdb) info threads
  Id   Target Id                         Frame
* 1    Thread 0x7f97f8edd700 (LWP 32340) 0x0000562af4daa14f in __gnu_cxx::__exchange_and_add (__val=-1, __mem=0x7c8) at /usr/include/c++/8/ext/atomicity.h:82
  2    Thread 0x7f97fb763740 (LWP 32221) __memset_avx2_erms () at ../sysdeps/x86_64/multiarch/memset-vec-unaligned-erms.S:151
  3    Thread 0x7f97fb6e2700 (LWP 32222) futex_wait_cancelable (private=0, expected=0, futex_word=0x562af5031864 <i2p::log::logger+292>) at ../sysdeps/unix/sysv/linux/futex-internal.h:88
  4    Thread 0x7f97faee1700 (LWP 32336) futex_abstimed_wait_cancelable (private=0, abstime=0x7f97faee0e80, expected=0, futex_word=0x562af503131c <i2p::data::netdb+444>)
    at ../sysdeps/unix/sysv/linux/futex-internal.h:205
  5    Thread 0x7f97fa6e0700 (LWP 32337) futex_wait_cancelable (private=0, expected=0, futex_word=0x562af5030e90 <i2p::transport::transports+304>)
    at ../sysdeps/unix/sysv/linux/futex-internal.h:88
  6    Thread 0x7f97f9edf700 (LWP 32338) 0x00007f97fb8707ef in epoll_wait (epfd=6, events=events@entry=0x7f97f9ede740, maxevents=maxevents@entry=128, timeout=-1)
    at ../sysdeps/unix/sysv/linux/epoll_wait.c:30
  7    Thread 0x7f97f96de700 (LWP 32339) 0x00007f97fb8707ef in epoll_wait (epfd=9, events=events@entry=0x7f97f96dd790, maxevents=maxevents@entry=128, timeout=-1)
    at ../sysdeps/unix/sysv/linux/epoll_wait.c:30
  8    Thread 0x7f97f3fff700 (LWP 32341) 0x00007f97fb8707ef in epoll_wait (epfd=12, events=events@entry=0x7f97f3ffe790, maxevents=maxevents@entry=128, timeout=-1)
    at ../sysdeps/unix/sysv/linux/epoll_wait.c:30
  9    Thread 0x7f97f37fe700 (LWP 32342) 0x00007f97fb8707ef in epoll_wait (epfd=15, events=events@entry=0x7f97f37fd790, maxevents=maxevents@entry=128, timeout=-1)
    at ../sysdeps/unix/sysv/linux/epoll_wait.c:30
  10   Thread 0x7f97f2ffd700 (LWP 32343) 0x00007f97fb8707ef in epoll_wait (epfd=25, events=events@entry=0x7f97f2ffc790, maxevents=maxevents@entry=128, timeout=-1)
    at ../sysdeps/unix/sysv/linux/epoll_wait.c:30
(gdb) bt full
#0  0x0000562af4daa14f in __gnu_cxx::__exchange_and_add (__val=-1, __mem=0x7c8) at /usr/include/c++/8/ext/atomicity.h:82
No locals.
#1  __gnu_cxx::__exchange_and_add_dispatch (__val=-1, __mem=0x7c8) at /usr/include/c++/8/ext/atomicity.h:82
No locals.
#2  __gnu_cxx::__exchange_and_add_dispatch (__val=-1, __mem=0x7c8) at /usr/include/c++/8/ext/atomicity.h:78
No locals.
#3  std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::_M_release (this=0x7c0) at /usr/include/c++/8/bits/shared_ptr_base.h:152
No locals.
#4  0x0000562af4eff7cc in std::__shared_count<(__gnu_cxx::_Lock_policy)2>::~__shared_count (this=<optimized out>, __in_chrg=<optimized out>)
    at /usr/include/c++/8/bits/shared_ptr_base.h:1167
No locals.
#5  std::__shared_ptr<i2p::crypto::DHKeys, (__gnu_cxx::_Lock_policy)2>::~__shared_ptr (this=<optimized out>, __in_chrg=<optimized out>) at /usr/include/c++/8/bits/shared_ptr_base.h:1167
No locals.
#6  std::__shared_ptr<i2p::crypto::DHKeys, (__gnu_cxx::_Lock_policy)2>::operator= (__r=..., this=0x7f97e80bb958) at /usr/include/c++/8/bits/shared_ptr_base.h:1263
No locals.
#7  std::shared_ptr<i2p::crypto::DHKeys>::operator= (__r=..., this=0x7f97e80bb958) at /usr/include/c++/8/bits/shared_ptr.h:335
No locals.
#8  i2p::transport::SSUSession::Reset (this=0x7f97e80bb200) at libi2pd/SSUSession.cpp:939
No locals.
#9  0x0000562af4eff861 in i2p::transport::SSUSession::Close (this=0x7f97e80bb200) at libi2pd/SSUSession.cpp:924
No locals.
#10 0x0000562af4ecc71c in i2p::transport::SSUServer::DeleteSession (this=this@entry=0x562af84857d0,
    session=std::shared_ptr<i2p::transport::SSUSession> (use count -396567806, weak count 32662) = {...}) at libi2pd/SSU.cpp:595
        ep = <optimized out>
#11 0x0000562af4f00c2d in i2p::transport::SSUSession::ProcessNextMessage (this=0x7f97e80bb200, buf=<optimized out>, len=<optimized out>, senderEndpoint=...)
    at /usr/include/c++/8/bits/shared_ptr_base.h:1190
        address = std::shared_ptr<const i2p::data::RouterInfo::Address> (use count 2, weak count 0) = {get() = 0x562af7f08a40}
#12 0x0000562af4ed127f in i2p::transport::SSUServer::HandleReceivedPackets (this=0x562af84857d0, packets=..., sessions=0x562af8485a20) at libi2pd/SSU.cpp:412
        packet = @0x7f97e83ca6a0: 0x7f97ec0155a0
        __for_range = <optimized out>
        __for_begin = <optimized out>
        __for_end = <optimized out>
        session = std::shared_ptr<i2p::transport::SSUSession> (use count -396567806, weak count 32662) = {get() = 0x7f97e80bb200}
#13 0x0000562af4ed5c48 in std::__invoke_impl<void, void (i2p::transport::SSUServer::*&)(std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*), i2p::transport::SSUServer*&, std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >&, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*&> (
    __t=@0x7f97f8edcd90: 0x562af84857d0, __f=
    @0x7f97f8edcd60: (void (i2p::transport::SSUServer::*)(i2p::transport::SSUServer * const, std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > > *)) 0x562af4ed1170 <i2p::transport::SSUServer::HandleReceivedPackets(std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*)>) at /usr/include/c++/8/bits/invoke.h:89
No locals.
#14 std::__invoke<void (i2p::transport::SSUServer::*&)(std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*), i2p::transport::SSUServer*&, std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >&--Type <RET> for more, q to quit, c to continue without paging--
, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*&> (__fn=
    @0x7f97f8edcd60: (void (i2p::transport::SSUServer::*)(i2p::transport::SSUServer * const, std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > > *)) 0x562af4ed1170 <i2p::transport::SSUServer::HandleReceivedPackets(std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*)>) at /usr/include/c++/8/bits/invoke.h:95
No locals.
#15 std::_Bind<void (i2p::transport::SSUServer::*(i2p::transport::SSUServer*, std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*))(std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*)>::__call<void, , 0ul, 1ul, 2ul>(std::tuple<>&&, std::_Index_tuple<0ul, 1ul, 2ul>) (__args=..., this=0x7f97f8edcd60) at /usr/include/c++/8/functional:400
No locals.
#16 std::_Bind<void (i2p::transport::SSUServer::*(i2p::transport::SSUServer*, std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*))(std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*)>::operator()<, void>() (this=0x7f97f8edcd60)
    at /usr/include/c++/8/functional:484
No locals.
#17 boost::asio::asio_handler_invoke<std::_Bind<void (i2p::transport::SSUServer::*(i2p::transport::SSUServer*, std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*))(std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*)> >(std::_Bind<void (i2p::transport::SSUServer::*(i2p::transport::SSUServer*, std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*))(std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*)>&, ...) (function=...) at /usr/include/boost/asio/handler_invoke_hook.hpp:69
No locals.
#18 boost_asio_handler_invoke_helpers::invoke<std::_Bind<void (i2p::transport::SSUServer::*(i2p::transport::SSUServer*, std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*))(std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*)>, std::_Bind<void (i2p::transport::SSUServer::*(i2p::transport::SSUServer*, std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*))(std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*)> >(std::_Bind<void (i2p::transport::SSUServer::*(i2p::transport::SSUServer*, std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*))(std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*)>&, std::_Bind<void (i2p::transport::SSUServer::*(i2p::transport::SSUServer*, std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<bo--Type <RET> for more, q to quit, c to continue without paging--
ost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*))(std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*)>&) (context=..., function=...)
    at /usr/include/boost/asio/detail/handler_invoke_helpers.hpp:37
No locals.
#19 boost::asio::detail::handler_work<std::_Bind<void (i2p::transport::SSUServer::*(i2p::transport::SSUServer*, std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*))(std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*)>, boost::asio::system_executor>::complete<std::_Bind<void (i2p::transport::SSUServer::*(i2p::transport::SSUServer*, std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*))(std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*)> >(std::_Bind<void (i2p::transport::SSUServer::*(i2p::transport::SSUServer*, std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*))(std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*)>&, std::_Bind<void (i2p::transport::SSUServer::*(i2p::transport::SSUServer*, std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*))(std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*)>&) (
    this=<synthetic pointer>, handler=..., function=...) at /usr/include/boost/asio/detail/handler_work.hpp:82
No locals.
#20 boost::asio::detail::completion_handler<std::_Bind<void (i2p::transport::SSUServer::*(i2p::transport::SSUServer*, std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*))(std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*)> >::do_complete(void*, boost::asio::detail::scheduler_operation*, boost::system::error_code const&, unsigned long) (owner=<optimized out>, base=<optimized out>) at /usr/include/boost/asio/detail/completion_handler.hpp:70
        b = <optimized out>
        h = <optimized out>
        p = {h = 0x7f97f8edcd60, v = 0x0, p = 0x0}
        w = <optimized out>
        handler = {<std::_Weak_result_type<void (i2p::transport::SSUServer::*)(std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*)>> = {<std::_Weak_result_type_memfun<void (i2p::transport::SSUServer::*)(std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*), true>> = {<No data fields>}, <No data fields>}, _M_f = (void (i2p::transport::SSUServer::*)(i2p::transport::SSUServer * const,
    std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >,
    std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > > *)) 0x562af4ed1170 <i2p::transport::SSUServer::HandleReceivedPackets(std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*)>, _M_bound_args = std::tuple containing = {[1] = 0x562af84857d0, [2] = std::vector of length 1, capacity 1 = {0x7f97ec0155a0}, [3] = 0x562af8485a20}}
--Type <RET> for more, q to quit, c to continue without paging--
#21 0x0000562af4ece580 in boost::asio::detail::scheduler_operation::complete (bytes_transferred=0, ec=..., owner=0x562af8485b40, this=<optimized out>)
    at /usr/include/boost/asio/detail/scheduler_operation.hpp:40
No locals.
#22 boost::asio::detail::scheduler::do_run_one (ec=..., this_thread=..., lock=..., this=0x562af8485b40) at /usr/include/boost/asio/detail/impl/scheduler.ipp:401
        task_result = 0
        on_exit = {scheduler_ = 0x562af8485b40, lock_ = 0x7f97f8edcdf0, this_thread_ = 0x7f97f8edce70}
        o = <optimized out>
        more_handlers = true
#23 boost::asio::detail::scheduler::run (ec=..., this=0x562af8485b40) at /usr/include/boost/asio/detail/impl/scheduler.ipp:154
        this_thread = {<boost::asio::detail::thread_info_base> = {<boost::asio::detail::noncopyable> = {<No data fields>}, reusable_memory_ = {0x0, 0x0}},
          private_op_queue = {<boost::asio::detail::noncopyable> = {<No data fields>}, front_ = 0x0, back_ = 0x0}, private_outstanding_work = 0}
        ctx = {<boost::asio::detail::noncopyable> = {<No data fields>}, key_ = 0x562af8485b40, value_ = 0x7f97f8edce70, next_ = 0x0}
        lock = {<boost::asio::detail::noncopyable> = {<No data fields>}, mutex_ = @0x562af8485b70, locked_ = false}
        n = <optimized out>
        this_thread = <optimized out>
        ctx = <optimized out>
        lock = <optimized out>
        n = <optimized out>
#24 boost::asio::io_context::run (this=0x562af84857f0) at /usr/include/boost/asio/impl/io_context.ipp:62
        ec = {m_val = 0, m_cat = 0x7f97fbd4d070}
        s = <optimized out>
        ec = <optimized out>
        s = <optimized out>
#25 i2p::transport::SSUServer::Run (this=0x562af84857d0) at libi2pd/SSU.cpp:151
No locals.
#26 0x00007f97fbb92b2f in ?? () from /lib/x86_64-linux-gnu/libstdc++.so.6
No symbol table info available.
#27 0x00007f97fbc72fa3 in start_thread (arg=<optimized out>) at pthread_create.c:486
        ret = <optimized out>
        pd = <optimized out>
        now = <optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140290693125888, -5716554286943369229, 140721115915470, 140721115915471, 140290693125888, 140721115915936, 5730067406735345651,
                5730073682749097971}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = <optimized out>
#28 0x00007f97fb8704cf in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
No locals.
(gdb)
LLE8 commented 3 years ago

Транк от 8 августа, graceful shutdown, Debian 10.10

root@box-101051:/var/log/i2pd# gdb /usr/sbin/i2pd /var/lib/i2pd/core
GNU gdb (Debian 8.2.1-2+b3) 8.2.1
Copyright (C) 2018 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
    <http://www.gnu.org/software/gdb/documentation/>.

For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from /usr/sbin/i2pd...Reading symbols from /usr/lib/debug/.build-id/80/e71ffca0b42843005537fdc1f182334f1521df.debug...done.
done.
[New LWP 2401]
[New LWP 2282]
[New LWP 2283]
[New LWP 2397]
[New LWP 2398]
[New LWP 2399]
[New LWP 2400]
[New LWP 2402]
[New LWP 2403]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Core was generated by `/usr/sbin/i2pd --conf=/etc/i2pd/i2pd.conf --tunconf=/etc/i2pd/tunnels.conf --tu'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0  0x00007f1111a5ea92 in std::_Rb_tree_rebalance_for_erase(std::_Rb_tree_node_base*, std::_Rb_tree_node_base&) ()
   from /lib/x86_64-linux-gnu/libstdc++.so.6
[Current thread is 1 (Thread 0x7f110a7fc700 (LWP 2401))]
(gdb) info threads
  Id   Target Id                        Frame
* 1    Thread 0x7f110a7fc700 (LWP 2401) 0x00007f1111a5ea92 in std::_Rb_tree_rebalance_for_erase(std::_Rb_tree_node_base*, std::_Rb_tree_node_base&) () from /lib/x86_64-linux-gnu/libstdc++.so.6
  2    Thread 0x7f1111641740 (LWP 2282) 0x00005631099e2117 in __gnu_cxx::__exchange_and_add (__val=-1, __mem=0x7f10ec277e18)
    at /usr/include/c++/8/ext/atomicity.h:82
  3    Thread 0x7f11115c0700 (LWP 2283) futex_wait_cancelable (private=0, expected=0, futex_word=0x563109c87be4 <i2p::log::logger+292>)
    at ../sysdeps/unix/sysv/linux/futex-internal.h:88
  4    Thread 0x7f1110dbf700 (LWP 2397) futex_abstimed_wait_cancelable (private=0, abstime=0x7f1110dbecd0, expected=0,
    futex_word=0x563109c875fc <i2p::data::netdb+444>) at ../sysdeps/unix/sysv/linux/futex-internal.h:205
  5    Thread 0x7f110bfff700 (LWP 2398) futex_wait_cancelable (private=0, expected=0, futex_word=0x563109c87014 <i2p::transport::transports+308>)
    at ../sysdeps/unix/sysv/linux/futex-internal.h:88
  6    Thread 0x7f110b7fe700 (LWP 2399)
    0x0000563109a3190f in std::_Rb_tree<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, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, std::less<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, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >::_M_erase (__x=<optimized out>, this=<optimized out>)
    at /usr/include/c++/8/bits/stl_tree.h:1866
  7    Thread 0x7f110affd700 (LWP 2400) 0x00007f111174e7ef in epoll_wait (epfd=9, events=events@entry=0x7f110affc780,
    maxevents=maxevents@entry=128, timeout=-1) at ../sysdeps/unix/sysv/linux/epoll_wait.c:30
  8    Thread 0x7f1109ffb700 (LWP 2402) 0x00007f111174e7ef in epoll_wait (epfd=12, events=events@entry=0x7f1109ffa780,
    maxevents=maxevents@entry=128, timeout=-1) at ../sysdeps/unix/sysv/linux/epoll_wait.c:30
  9    Thread 0x7f11097fa700 (LWP 2403) 0x00007f111174e7ef in epoll_wait (epfd=23, events=events@entry=0x7f11097f9780,
    maxevents=maxevents@entry=128, timeout=-1) at ../sysdeps/unix/sysv/linux/epoll_wait.c:30
(gdb) bt full
#0  0x00007f1111a5ea92 in std::_Rb_tree_rebalance_for_erase(std::_Rb_tree_node_base*, std::_Rb_tree_node_base&) ()
   from /lib/x86_64-linux-gnu/libstdc++.so.6
No symbol table info available.
#1  0x0000563109b13111 in std::_Rb_tree<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> >, std::_Select1st<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > >, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >::_M_erase_aux (__position=...,
    this=0x56310bdbfaa0) at /usr/include/c++/8/bits/stl_tree.h:2486
        __y = <optimized out>
        __y = <optimized out>
#2  std::_Rb_tree<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> >, std::_Select1st<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > >, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >::_M_erase_aux (__last=
    {first = {impl_ = {data_ = {base = {sa_family = 2, sa_data = "7ļHR\207\000\000\000\000\000\000\000"}, v4 = {sin_family = 2, sin_port = 50231, sin_addr = {s_addr = 2270316732}, sin_zero = "\000\000\000\000\000\000\000"}, v6 = {sin6_family = 2, sin6_port = 50231, sin6_flowinfo = 2270316732, sin6_addr = {__in6_u = {__u6_addr8 = '\000' <repeats 15 times>, __u6_addr16 = {0, 0, 0, 0, 0, 0, 0, 0}, __u6_addr32 = {0, 0, 0, 0}}}, sin6_scope_id = 0}}}}, second = std::shared_ptr<i2p::transport::SSUSession> (use count 1, weak count 1) = {get() = 0x7f10fc5b2c00}}, __first=
    {first = {impl_ = {data_ = {base = {sa_family = 2, sa_data = "7ļHR\207\000\000\000\000\000\000\000"}, v4 = {sin_family = 2, sin_port = 50231, sin_addr = {s_addr = 2270316732}, sin_zero = "\000\000\000\000\000\000\000"}, v6 = {sin6_family = 2, sin6_port = 50231, sin6_flowinfo = 2270316732, sin6_addr = {__in6_u = {__u6_addr8 = '\000' <repeats 15 times>, __u6_addr16 = {0, 0, 0, 0, 0, 0, 0, 0}, __u6_addr32 = {0, 0, 0, 0}}}, sin6_scope_id = 0}}}}, second = std::shared_ptr<i2p::transport::SSUSession> (use count 1, weak count 1) = {get() = 0x7f10fc5b2c00}}, this=0x56310bdbfaa0)
    at /usr/include/c++/8/bits/stl_tree.h:2507
No locals.
#3  std::_Rb_tree<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> >, std::_Select1st<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > >, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >::erase (this=0x56310bdbfaa0, __x=...)
    at /usr/include/c++/8/bits/stl_tree.h:2518
        __p = <optimized out>
        __old_size = 508
#4  0x0000563109b40fad in i2p::transport::SSUSession::ProcessNextMessage (this=0x7f10fc06aa00, buf=<optimized out>, len=<optimized out>,
    senderEndpoint=...) at /usr/include/c++/8/bits/shared_ptr_base.h:1190
        address = std::shared_ptr<const i2p::data::RouterInfo::Address> (use count 2, weak count 0) = {get() = 0x56310b58cb10}
#5  0x0000563109b0ce9f in i2p::transport::SSUServer::HandleReceivedPackets (this=0x56310bdbf850, packets=..., sessions=0x56310bdbfaa0)
    at libi2pd/SSU.cpp:416
        packet = @0x7f10fc200240: 0x7f1104030ac0
        __for_range = <optimized out>
        __for_begin = <optimized out>
        __for_end = <optimized out>
        session = std::shared_ptr<i2p::transport::SSUSession> (use count 4, weak count 1) = {get() = 0x7f10fc06aa00}
#6  0x0000563109b13fd1 in std::__invoke_impl<void, void (i2p::transport::SSUServer::*&)(std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less--Type <RET> for more, q to quit, c to continue without paging--
<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*), i2p::transport::SSUServer*&, std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >&, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*&> (__t=@0x7f110a7fbd80: 0x56310bdbf850, __f=
    @0x7f110a7fbd50: (void (i2p::transport::SSUServer::*)(i2p::transport::SSUServer * const, std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > > *)) 0x563109b0cd90 <i2p::transport::SSUServer::HandleReceivedPackets(std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*)>) at /usr/include/c++/8/bits/invoke.h:89
No locals.
#7  std::__invoke<void (i2p::transport::SSUServer::*&)(std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*), i2p::transport::SSUServer*&, std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >&, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*&> (__fn=
    @0x7f110a7fbd50: (void (i2p::transport::SSUServer::*)(i2p::transport::SSUServer * const, std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > > *)) 0x563109b0cd90 <i2p::transport::SSUServer::HandleReceivedPackets(std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*)>) at /usr/include/c++/8/bits/invoke.h:95
No locals.
#8  std::_Bind<void (i2p::transport::SSUServer::*(i2p::transport::SSUServer*, std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*))(std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*)>::__call<void, , 0ul, 1ul, 2ul>(std::tuple<>&&, std::_Index_tuple<0ul, 1ul, 2ul>) (__args=..., this=0x7f110a7fbd50)
    at /usr/include/c++/8/functional:400
No locals.
#9  std::_Bind<void (i2p::transport::SSUServer::*(i2p::transport::SSUServer*, std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*))(std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >--Type <RET> for more, q to quit, c to continue without paging--
*)>::operator()<, void>() (this=0x7f110a7fbd50) at /usr/include/c++/8/functional:484
No locals.
#10 boost::asio::asio_handler_invoke<std::_Bind<void (i2p::transport::SSUServer::*(i2p::transport::SSUServer*, std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*))(std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*)> >(std::_Bind<void (i2p::transport::SSUServer::*(i2p::transport::SSUServer*, std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*))(std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*)>&, ...) (function=...) at /usr/include/boost/asio/handler_invoke_hook.hpp:69
No locals.
#11 boost_asio_handler_invoke_helpers::invoke<std::_Bind<void (i2p::transport::SSUServer::*(i2p::transport::SSUServer*, std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*))(std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*)>, std::_Bind<void (i2p::transport::SSUServer::*(i2p::transport::SSUServer*, std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*))(std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*)> >(std::_Bind<void (i2p::transport::SSUServer::*(i2p::transport::SSUServer*, std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*))(std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*)>&, std::_Bind<void (i2p::transport::SSUServer::*(i2p::transport::SSUServer*, std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*))(std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*)>&) (context=..., function=...) at /usr/include/boost/asio/detail/handler_invoke_helpers.hpp:37
No locals.
#12 boost::asio::detail::handler_work<std::_Bind<void (i2p::transport::SSUServer::*(i2p::transport::SSUServer*, std::vector<i2p::transport::SSUPac--Type <RET> for more, q to quit, c to continue without paging--
ket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*))(std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*)>, boost::asio::system_executor>::complete<std::_Bind<void (i2p::transport::SSUServer::*(i2p::transport::SSUServer*, std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*))(std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*)> >(std::_Bind<void (i2p::transport::SSUServer::*(i2p::transport::SSUServer*, std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*))(std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*)>&, std::_Bind<void (i2p::transport::SSUServer::*(i2p::transport::SSUServer*, std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*))(std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*)>&) (this=<synthetic pointer>, handler=..., function=...)
    at /usr/include/boost/asio/detail/handler_work.hpp:82
No locals.
#13 boost::asio::detail::completion_handler<std::_Bind<void (i2p::transport::SSUServer::*(i2p::transport::SSUServer*, std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*))(std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*)> >::do_complete(void*, boost::asio::detail::scheduler_operation*, boost::system::error_code const&, unsigned long) (owner=<optimized out>, base=0x7f1104014430) at /usr/include/boost/asio/detail/completion_handler.hpp:70
        b = <optimized out>
        h = 0x7f1104014430
        p = {h = 0x7f110a7fbd50, v = 0x0, p = 0x0}
        w = <optimized out>
        handler = {<std::_Weak_result_type<void (i2p::transport::SSUServer::*)(std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*)>> = {<std::_Weak_result_type_memfun<void (i2p::transport::SSUServer::*)(std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transpor--Type <RET> for more, q to quit, c to continue without paging--
t::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*), true>> = {<No data fields>}, <No data fields>},
          _M_f = (void (i2p::transport::SSUServer::*)(i2p::transport::SSUServer * const,
    std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >,
    std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > > *)) 0x563109b0cd90 <i2p::transport::SSUServer::HandleReceivedPackets(std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*)>, _M_bound_args = std::tuple containing = {[1] = 0x56310bdbf850,
            [2] = std::vector of length 1, capacity 1 = {0x7f1104030ac0}, [3] = 0x56310bdbfaa0}}
#14 0x0000563109b09b28 in boost::asio::detail::scheduler_operation::complete (bytes_transferred=0, ec=..., owner=0x56310bdbfbc0,
    this=<optimized out>) at /usr/include/boost/asio/detail/scheduler_operation.hpp:40
No locals.
#15 boost::asio::detail::scheduler::do_run_one (ec=..., this_thread=..., lock=..., this=0x56310bdbfbc0)
    at /usr/include/boost/asio/detail/impl/scheduler.ipp:401
        task_result = 0
        on_exit = {scheduler_ = 0x56310bdbfbc0, lock_ = 0x7f110a7fbe00, this_thread_ = 0x7f110a7fbe70}
        o = <optimized out>
        more_handlers = true
#16 boost::asio::detail::scheduler::run (ec=..., this=0x56310bdbfbc0) at /usr/include/boost/asio/detail/impl/scheduler.ipp:154
        this_thread = {<boost::asio::detail::thread_info_base> = {<boost::asio::detail::noncopyable> = {<No data fields>}, reusable_memory_ = {
              0x0, 0x0}}, private_op_queue = {<boost::asio::detail::noncopyable> = {<No data fields>}, front_ = 0x0, back_ = 0x0},
          private_outstanding_work = 0}
        ctx = {<boost::asio::detail::noncopyable> = {<No data fields>}, key_ = 0x56310bdbfbc0, value_ = 0x7f110a7fbe70, next_ = 0x0}
        lock = {<boost::asio::detail::noncopyable> = {<No data fields>}, mutex_ = @0x56310bdbfbf0, locked_ = false}
        n = <optimized out>
        this_thread = <optimized out>
        ctx = <optimized out>
        lock = <optimized out>
        n = <optimized out>
#17 boost::asio::io_context::run (this=0x56310bdbf870) at /usr/include/boost/asio/impl/io_context.ipp:62
        ec = {m_val = 0, m_cat = 0x7f1111c2b070}
        s = <optimized out>
        ec = <optimized out>
        s = <optimized out>
#18 i2p::transport::SSUServer::Run (this=0x56310bdbf850) at libi2pd/SSU.cpp:155
No locals.
#19 0x00007f1111a70b2f in ?? () from /lib/x86_64-linux-gnu/libstdc++.so.6
No symbol table info available.
#20 0x00007f1111b50fa3 in start_thread (arg=<optimized out>) at pthread_create.c:486
        ret = <optimized out>
        pd = <optimized out>
--Type <RET> for more, q to quit, c to continue without paging--
        now = <optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {139711167317760, -1776301755133763500, 140724331415198, 140724331415199, 139711167317760,
                140724331415664, 1836160265525747796, 1836181794593661012}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {
              prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = <optimized out>
#21 0x00007f111174e4cf in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
No locals.
(gdb)
LLE8 commented 3 years ago

2.38, Debian 9.13 64 bit, uptime 98 d, graceful shutdown

# gdb /usr/sbin/i2pd /var/lib/i2pd/core
GNU gdb (Debian 7.12-6) 7.12.0.20161007-git
Copyright (C) 2016 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from /usr/sbin/i2pd...Reading symbols from /usr/lib/debug/.build-id/d8/9c8442d2be35c25dae9e15367c433169cf938e.debug...done.
done.
[New LWP 10057]
[New LWP 9977]
[New LWP 9978]
[New LWP 10055]
[New LWP 10056]
[New LWP 10058]
[New LWP 10059]
[New LWP 10060]
[New LWP 10061]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Core was generated by `/usr/sbin/i2pd --conf=/etc/i2pd/i2pd.conf --tunconf=/etc/i2pd/tunnels.conf --tu'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0  0x000055f23ea1619b in std::_Hashtable<i2p::data::Tag<32ul>, std::pair<i2p::data::Tag<32ul> const, i2p::transport::Peer>, std::allocator<std::pair<i2p::data::Tag<32ul> const, i2p::transport::Peer> >, std::__detail::_Select1st, std::equal_to<i2p::data::Tag<32ul> >, std::hash<i2p::data::Tag<32ul> >, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, true> >::_M_find_before_node (
    this=0x55f23ed9a108 <i2p::transport::transports+104>, __n=735, __k=..., __code=8951128281974710217)
    at /usr/include/c++/6/bits/hashtable.h:1423
1423              if (!__p->_M_nxt || _M_bucket_index(__p->_M_next()) != __n)
[Current thread is 1 (Thread 0x7f0a95283700 (LWP 10057))]
(gdb) info threads
  Id   Target Id         Frame
* 1    Thread 0x7f0a95283700 (LWP 10057) 0x000055f23ea1619b in std::_Hashtable<i2p::data::Tag<32ul>, std::pair<i2p::data::Tag<32ul> const, i2p::transport::Peer>, std::allocator<std::pair<i2p::data::Tag<32ul> const, i2p::transport::Peer> >, std::__detail::_Select1st, std::equal_to<i2p::data::Tag<32ul> >, std::hash<i2p::data::Tag<32ul> >, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, true> >::_M_find_before_node (this=0x55f23ed9a108 <i2p::transport::transports+104>, __n=735, __k=..., __code=8951128281974710217)
    at /usr/include/c++/6/bits/hashtable.h:1423
  2    Thread 0x7f0a994e0740 (LWP 9977) __GI___libc_free (mem=0x7f0a70c93070) at malloc.c:2966
  3    Thread 0x7f0a96a86700 (LWP 9978) pthread_cond_wait@@GLIBC_2.3.2 ()
    at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
  4    Thread 0x7f0a96285700 (LWP 10055) pthread_cond_timedwait@@GLIBC_2.3.2 ()
    at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:225
  5    Thread 0x7f0a95a84700 (LWP 10056) pthread_cond_wait@@GLIBC_2.3.2 ()
    at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
  6    Thread 0x7f0a94a82700 (LWP 10058) 0x00007f0a96f7c303 in epoll_wait () at ../sysdeps/unix/syscall-template.S:84
  7    Thread 0x7f0a8ffff700 (LWP 10059) 0x00007f0a96f7c303 in epoll_wait () at ../sysdeps/unix/syscall-template.S:84
  8    Thread 0x7f0a8f7fe700 (LWP 10060) 0x00007f0a96f7c303 in epoll_wait () at ../sysdeps/unix/syscall-template.S:84
  9    Thread 0x7f0a8effd700 (LWP 10061) 0x00007f0a96f7c303 in epoll_wait () at ../sysdeps/unix/syscall-template.S:84
(gdb) bt full
#0  0x000055f23ea1619b in std::_Hashtable<i2p::data::Tag<32ul>, std::pair<i2p::data::Tag<32ul> const, i2p::transport::Peer>, std::allocator<std::pair<i2p::data::Tag<32ul> const, i2p::transport::Peer> >, std::__detail::_Select1st, std::equal_to<i2p::data::Tag<32ul> >, std::hash<i2p::data::Tag<32ul> >, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, true> >::_M_find_before_node (
    this=0x55f23ed9a108 <i2p::transport::transports+104>, __n=735, __k=..., __code=8951128281974710217)
    at /usr/include/c++/6/bits/hashtable.h:1423
        __p = 0x7f0a780a4fe0
        __prev_p = 0x7f0a7807ae50
#1  0x000055f23ea1620e in std::_Hashtable<i2p::data::Tag<32ul>, std::pair<i2p::data::Tag<32ul> const, i2p::transport::Peer>, std::allocator<std::pair<i2p::data::Tag<32ul> const, i2p::transport::Peer> >, std::__detail::_Select1st, std::equal_to<i2p::data::Tag<32ul> >, std::hash<i2p::data::Tag<32ul> >, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, true> >::_M_find_node (__c=<optimized out>,
    __key=..., __bkt=<optimized out>, this=<optimized out>) at /usr/include/c++/6/bits/hashtable.h:634
        __before_n = <optimized out>
#2  std::_Hashtable<i2p::data::Tag<32ul>, std::pair<i2p::data::Tag<32ul> const, i2p::transport::Peer>, std::allocator<std::pair<i2p::data::Tag<32ul> const, i2p::transport::Peer> >, std::__detail::_Select1st, std::equal_to<i2p::data::Tag<32ul> >, std::hash<i2p::data::Tag<32ul> >, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, true> >::find (this=<optimized out>, __k=...)
    at /usr/include/c++/6/bits/hashtable.h:1294
        __code = <optimized out>
        __n = <optimized out>
        __p = <optimized out>
#3  0x000055f23ea127c5 in std::unordered_map<i2p::data::Tag<32ul>, i2p::transport::Peer, std::hash<i2p::data::Tag<32ul> >, std::equal_to<i2p::data::Tag<32ul> >, std::allocator<std::pair<i2p::data::Tag<32ul> const, i2p::transport::Peer> > >::find (
    __x=..., this=<optimized out>) at /usr/include/c++/6/bits/unordered_map.h:851
No locals.
#4  i2p::transport::Transports::<lambda()>::operator() (__closure=0x7f0a95282d10) at libi2pd/Transports.cpp:701
        remoteIdentity = std::shared_ptr (count 3, weak 0) 0x0
        ident = {{m_Buf = "\311\037\016R\277\313\070|\213\363v\213!qA -C\252A\243R\247\005(@\203\003\210k\204\230", ll = {
              8951128281974710217, 2324263271587574667, 407385152435143469, 10990027222609510440}}}
        this = 0x55f23ed9a0a0 <i2p::transport::transports>
        session = std::shared_ptr (count 1, weak 1) 0x7f0a8034bae0
#5  boost::asio::asio_handler_invoke<i2p::transport::Transports::PeerDisconnected(std::shared_ptr<i2p::transport::TransportSession>)::<lambda()> > (function=...) at /usr/include/boost/asio/handler_invoke_hook.hpp:69
No locals.
#6  boost_asio_handler_invoke_helpers::invoke<i2p::transport::Transports::PeerDisconnected(std::shared_ptr<i2p::transport::TransportSession>)::<lambda()>, i2p::transport::Transports::PeerDisconnected(std::shared_ptr<i2p::transport::TransportSession>)::<lambda()> > (context=..., function=...) at /usr/include/boost/asio/detail/handler_invoke_helpers.hpp:37
No locals.
#7  boost::asio::detail::completion_handler<i2p::transport::Transports::PeerDisconnected(std::shared_ptr<i2p::transport::TransportSession>)::<lambda()> >::do_complete(boost::asio::detail::io_service_impl *, boost::asio::detail::operation *, const boost::system::error_code &, std::size_t) (owner=<optimized out>, base=<optimized out>)
    at /usr/include/boost/asio/detail/completion_handler.hpp:68
---Type <return> to continue, or q <return> to quit---
        h = <optimized out>
        p = {h = <optimized out>, v = 0x0, p = 0x0}
        handler = {__session = std::shared_ptr (count 1, weak 1) 0x7f0a8034bae0,
          __this = 0x55f23ed9a0a0 <i2p::transport::transports>}
#8  0x000055f23ea10c05 in boost::asio::detail::task_io_service_operation::complete (bytes_transferred=0, ec=..., owner=...,
    this=<optimized out>) at /usr/include/boost/asio/detail/task_io_service_operation.hpp:38
No locals.
#9  boost::asio::detail::task_io_service::do_run_one (ec=..., this_thread=..., lock=..., this=0x55f240d9f230)
    at /usr/include/boost/asio/detail/impl/task_io_service.ipp:372
        task_result = 0
        on_exit = {task_io_service_ = 0x55f240d9f230, lock_ = 0x7f0a95282dd0, this_thread_ = 0x7f0a95282e50}
        more_handlers = <optimized out>
#10 boost::asio::detail::task_io_service::run (ec=..., this=0x55f240d9f230)
    at /usr/include/boost/asio/detail/impl/task_io_service.ipp:149
        this_thread = {<boost::asio::detail::thread_info_base> = {<boost::asio::detail::noncopyable> = {<No data fields>},
            reusable_memory_ = 0x7f0a802bb470}, private_op_queue = {<boost::asio::detail::noncopyable> = {<No data fields>},
            front_ = 0x0, back_ = 0x0}, private_outstanding_work = 0}
        ctx = {<boost::asio::detail::noncopyable> = {<No data fields>}, key_ = 0x55f240d9f230, value_ = 0x7f0a95282e50,
          next_ = 0x0}
        lock = {<boost::asio::detail::noncopyable> = {<No data fields>}, mutex_ = @0x55f240d9f260, locked_ = false}
        n = <optimized out>
#11 boost::asio::io_service::run (this=<optimized out>) at /usr/include/boost/asio/impl/io_service.ipp:59
        ec = {m_val = 0, m_cat = 0x7f0a987a40c8}
#12 i2p::transport::Transports::Run (this=0x55f23ed9a0a0 <i2p::transport::transports>) at libi2pd/Transports.cpp:334
No locals.
#13 0x00007f0a97806e6f in std::execute_native_thread_routine (__p=0x55f240d9f570)
    at ../../../../../src/libstdc++-v3/src/c++11/thread.cc:83
        __t = std::unique_ptr<std::thread::_State> containing 0x55f240d9f570
#14 0x00007f0a97ce24a4 in start_thread (arg=0x7f0a95283700) at pthread_create.c:456
        __res = <optimized out>
        pd = 0x7f0a95283700
        now = <optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {139683428841216, 5363006510446149151, 140732457579086, 140732457579087,
                139683420450816, 3, -5442582205815587297, -5442576381464150497}, mask_was_saved = 0}}, priv = {pad = {0x0,
              0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = <optimized out>
        pagesize_m1 = <optimized out>
        sp = <optimized out>
        freesize = <optimized out>
        __PRETTY_FUNCTION__ = "start_thread"
#15 0x00007f0a96f7bd0f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:97
No locals.
(gdb)
LLE8 commented 2 years ago

2.39, Debian 10.11 64 bit, uptime 50 d, graceful shutdown перед завершением занимал 163000 КБ ОЗУ

# gdb   /usr/sbin/i2pd /var/lib/i2pd/core
GNU gdb (Debian 8.2.1-2+b3) 8.2.1
Copyright (C) 2018 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
    <http://www.gnu.org/software/gdb/documentation/>.

For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from /usr/sbin/i2pd...Reading symbols from /usr/lib/debug/.build-id/94/53e851bdf9e07cdf4c737e83a91d9cc9731c1b.debug...done.
done.
[New LWP 19291]
[New LWP 19292]
[New LWP 19297]
[New LWP 19298]
[New LWP 19299]
[New LWP 19300]
[New LWP 19302]
[New LWP 19303]
[New LWP 19301]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Core was generated by `/usr/sbin/i2pd --conf=/etc/i2pd/i2pd.conf --tunconf=/etc/i2pd/tunnels.conf --tu'.
Program terminated with signal SIGABRT, Aborted.
#0  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
50      ../sysdeps/unix/sysv/linux/raise.c: No such file or directory.
[Current thread is 1 (Thread 0x7fe374f58740 (LWP 19291))]
(gdb) info threads
  Id   Target Id                         Frame
* 1    Thread 0x7fe374f58740 (LWP 19291) __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
  2    Thread 0x7fe374ed7700 (LWP 19292) futex_wait_cancelable (private=0, expected=0, futex_word=0x55f26608fd40 <i2p::log::logger+288>) at ../sysdeps/unix/sysv/linux/futex-internal.h:88
  3    Thread 0x7fe36ffff700 (LWP 19297) futex_abstimed_wait_cancelable (private=0, abstime=0x7fe36fffecd0, expected=0, futex_word=0x55f26608f458 <i2p::data::netdb+440>)
    at ../sysdeps/unix/sysv/linux/futex-internal.h:205
  4    Thread 0x7fe36f7fe700 (LWP 19298) futex_wait_cancelable (private=0, expected=0, futex_word=0x55f26608f0b0 <i2p::transport::transports+304>)
    at ../sysdeps/unix/sysv/linux/futex-internal.h:88
  5    Thread 0x7fe36effd700 (LWP 19299) 0x00007fe3750657ef in epoll_wait (epfd=6, events=events@entry=0x7fe36effc730, maxevents=maxevents@entry=128, timeout=-1)
    at ../sysdeps/unix/sysv/linux/epoll_wait.c:30
  6    Thread 0x7fe36e7fc700 (LWP 19300) 0x00007fe3750657ef in epoll_wait (epfd=9, events=events@entry=0x7fe36e7fb780, maxevents=maxevents@entry=128, timeout=-1)
    at ../sysdeps/unix/sysv/linux/epoll_wait.c:30
  7    Thread 0x7fe36d7fa700 (LWP 19302) 0x00007fe3750657ef in epoll_wait (epfd=12, events=events@entry=0x7fe36d7f9780, maxevents=maxevents@entry=128, timeout=-1)
    at ../sysdeps/unix/sysv/linux/epoll_wait.c:30
  8    Thread 0x7fe36cff9700 (LWP 19303) 0x00007fe3750657ef in epoll_wait (epfd=23, events=events@entry=0x7fe36cff8780, maxevents=maxevents@entry=128, timeout=-1)
    at ../sysdeps/unix/sysv/linux/epoll_wait.c:30
  9    Thread 0x7fe36dffb700 (LWP 19301) 0x000055f265de6907 in __gnu_cxx::__exchange_and_add (__val=-1, __mem=0x48) at /usr/include/c++/8/ext/atomicity.h:82
(gdb) bt full
#0  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
        set = {__val = {0, 18446744073709551615 <repeats 12 times>, 140614902639216, 140614901839063, 6269412239}}
        pid = <optimized out>
        tid = <optimized out>
        ret = <optimized out>
#1  0x00007fe374f8e5fe in __GI_abort () at abort.c:100
        act = {__sigaction_handler = {sa_handler = 0x0, sa_sigaction = 0x0}, sa_mask = {__val = {18446744073709551615 <repeats 16 times>}}, sa_flags = 0, sa_restorer = 0x0}
        sigs = {__val = {32, 0 <repeats 15 times>}}
#2  0x00007fe374fe5508 in __libc_message (action=action@entry=do_abort, fmt=fmt@entry=0x7fe3750f028d "%s\n") at ../sysdeps/posix/libc_fatal.c:181
        ap = {{gp_offset = 24, fp_offset = 32766, overflow_arg_area = 0x7ffe0f8e81f0, reg_save_area = 0x7ffe0f8e8180}}
        fd = 2
        list = <optimized out>
        nlist = <optimized out>
        cp = <optimized out>
        written = <optimized out>
#3  0x00007fe374febc1a in malloc_printerr (str=str@entry=0x7fe3750f1b98 "corrupted size vs. prev_size in fastbins") at malloc.c:5341
No locals.
#4  0x00007fe374febe84 in malloc_consolidate (av=av@entry=0x7fe35c000020) at malloc.c:4487
        fb = <optimized out>
        maxfb = 0x7fe35c000078
        p = <optimized out>
        nextp = 0x7fe35c087ee0
        unsorted_bin = 0x7fe35c000080
        first_unsorted = <optimized out>
        nextchunk = <optimized out>
        size = <optimized out>
        nextsize = <optimized out>
        prevsize = <optimized out>
        nextinuse = <optimized out>
        bck = <optimized out>
        fwd = <optimized out>
#5  0x00007fe374fed79a in _int_free (av=0x7fe35c000020, p=0x7fe35c9549e0, have_lock=<optimized out>) at malloc.c:4392
        size = 103872
        fb = <optimized out>
        nextchunk = 0x7fe35c96dfa0
        nextsize = 11952
        nextinuse = <optimized out>
        prevsize = <optimized out>
        bck = <optimized out>
        fwd = <optimized out>
        __PRETTY_FUNCTION__ = "_int_free"
#6  0x000055f265f555fd in __gnu_cxx::new_allocator<std::__detail::_Hash_node_base*>::deallocate (this=<synthetic pointer>, __p=<optimized out>) at /usr/include/c++/8/ext/new_allocator.h:116
No locals.
#7  std::allocator_traits<std::allocator<std::__detail::_Hash_node_base*> >::deallocate (__a=<synthetic pointer>..., __n=<optimized out>, __p=<optimized out>)
    at /usr/include/c++/8/bits/alloc_traits.h:462
No locals.
#8  std::__detail::_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<unsigned int, false> > >::_M_deallocate_buckets (this=0x7fe35c600270, __n=<optimized out>,
    __bkts=<optimized out>) at /usr/include/c++/8/bits/hashtable_policy.h:2137
        __ptr = <optimized out>
--Type <RET> for more, q to quit, c to continue without paging--c
        __alloc = <optimized out>
        __ptr = <optimized out>
        __alloc = <optimized out>
#9  std::_Hashtable<unsigned int, unsigned int, std::allocator<unsigned int>, std::__detail::_Identity, std::equal_to<unsigned int>, std::hash<unsigned int>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<false, true, true> >::_M_deallocate_buckets (__n=<optimized out>, __bkts=<optimized out>, this=0x7fe35c600270) at /usr/include/c++/8/bits/hashtable.h:375
No locals.
#10 std::_Hashtable<unsigned int, unsigned int, std::allocator<unsigned int>, std::__detail::_Identity, std::equal_to<unsigned int>, std::hash<unsigned int>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<false, true, true> >::_M_deallocate_buckets (this=0x7fe35c600270) at /usr/include/c++/8/bits/hashtable.h:380
No locals.
#11 std::_Hashtable<unsigned int, unsigned int, std::allocator<unsigned int>, std::__detail::_Identity, std::equal_to<unsigned int>, std::hash<unsigned int>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<false, true, true> >::~_Hashtable (this=0x7fe35c600270, __in_chrg=<optimized out>) at /usr/include/c++/8/bits/hashtable.h:1375
No locals.
#12 std::unordered_set<unsigned int, std::hash<unsigned int>, std::equal_to<unsigned int>, std::allocator<unsigned int> >::~unordered_set (this=0x7fe35c600270, __in_chrg=<optimized out>) at /usr/include/c++/8/bits/unordered_set.h:97
No locals.
#13 i2p::transport::SSUData::~SSUData (this=0x7fe35c6001f8, __in_chrg=<optimized out>) at libi2pd/SSUData.cpp:42
No locals.
#14 0x000055f265f5024a in i2p::transport::SSUSession::~SSUSession (this=0x7fe35c5ffc50, __in_chrg=<optimized out>) at libi2pd/TransportSession.h:27
No locals.
#15 0x000055f265e36712 in std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::_M_release (this=0x7fe35c5ffc40) at /usr/include/c++/8/bits/shared_ptr_base.h:148
No locals.
#16 std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::_M_release (this=0x7fe35c5ffc40) at /usr/include/c++/8/bits/shared_ptr_base.h:148
No locals.
#17 std::__shared_count<(__gnu_cxx::_Lock_policy)2>::~__shared_count (this=0x7fe35c5b6b68, __in_chrg=<optimized out>) at /usr/include/c++/8/bits/shared_ptr_base.h:728
No locals.
#18 std::__shared_ptr<i2p::transport::SSUSession, (__gnu_cxx::_Lock_policy)2>::~__shared_ptr (this=0x7fe35c5b6b60, __in_chrg=<optimized out>) at /usr/include/c++/8/bits/shared_ptr_base.h:1167
No locals.
#19 std::shared_ptr<i2p::transport::SSUSession>::~shared_ptr (this=0x7fe35c5b6b60, __in_chrg=<optimized out>) at /usr/include/c++/8/bits/shared_ptr.h:103
No locals.
#20 std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> >::~pair (this=0x7fe35c5b6b40, __in_chrg=<optimized out>) at /usr/include/c++/8/bits/stl_pair.h:208
No locals.
#21 __gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >::destroy<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > (this=0x55f2696c10a0, __p=0x7fe35c5b6b40) at /usr/include/c++/8/ext/new_allocator.h:140
No locals.
#22 std::allocator_traits<std::allocator<std::_Rb_tree_node<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > > >::destroy<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > (__a=..., __p=0x7fe35c5b6b40) at /usr/include/c++/8/bits/alloc_traits.h:487
No locals.
#23 std::_Rb_tree<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> >, std::_Select1st<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > >, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >::_M_destroy_node (this=0x55f2696c10a0, __p=0x7fe35c5b6b20) at /usr/include/c++/8/bits/stl_tree.h:661
No locals.
#24 std::_Rb_tree<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> >, std::_Select1st<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > >, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >::_M_drop_node (this=0x55f2696c10a0, __p=0x7fe35c5b6b20) at /usr/include/c++/8/bits/stl_tree.h:669
No locals.
#25 std::_Rb_tree<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> >, std::_Select1st<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > >, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >::_M_erase (this=this@entry=0x55f2696c10a0, __x=0x7fe35c5b6b20) at /usr/include/c++/8/bits/stl_tree.h:1874
        __y = 0x0
#26 0x000055f265e3668f in std::_Rb_tree<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> >, std::_Select1st<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > >, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >::_M_erase (this=this@entry=0x55f2696c10a0, __x=0x7fe35c038360) at /usr/include/c++/8/bits/stl_tree.h:1866
        __y = <optimized out>
#27 0x000055f265e3668f in std::_Rb_tree<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> >, std::_Select1st<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > >, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >::_M_erase (this=this@entry=0x55f2696c10a0, __x=0x7fe35c2d5e40) at /usr/include/c++/8/bits/stl_tree.h:1866
        __y = <optimized out>
#28 0x000055f265e3668f in std::_Rb_tree<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> >, std::_Select1st<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > >, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >::_M_erase (this=this@entry=0x55f2696c10a0, __x=0x7fe35c036c20) at /usr/include/c++/8/bits/stl_tree.h:1866
        __y = <optimized out>
#29 0x000055f265e3668f in std::_Rb_tree<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> >, std::_Select1st<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > >, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >::_M_erase (this=this@entry=0x55f2696c10a0, __x=0x7fe35c2d7170) at /usr/include/c++/8/bits/stl_tree.h:1866
        __y = <optimized out>
#30 0x000055f265e3668f in std::_Rb_tree<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> >, std::_Select1st<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > >, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >::_M_erase (this=this@entry=0x55f2696c10a0, __x=0x7fe35c268e70) at /usr/include/c++/8/bits/stl_tree.h:1866
        __y = <optimized out>
#31 0x000055f265e3668f in std::_Rb_tree<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> >, std::_Select1st<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > >, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >::_M_erase (this=this@entry=0x55f2696c10a0, __x=0x7fe35c46a140) at /usr/include/c++/8/bits/stl_tree.h:1866
        __y = <optimized out>
#32 0x000055f265e3668f in std::_Rb_tree<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> >, std::_Select1st<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > >, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >::_M_erase (this=0x55f2696c10a0, __x=0x7fe35c7293f0) at /usr/include/c++/8/bits/stl_tree.h:1866
        __y = <optimized out>
#33 0x000055f265ef6ebc in std::_Rb_tree<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> >, std::_Select1st<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > >, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >::clear (this=0x55f2696c10a0) at /usr/include/c++/8/bits/stl_tree.h:1185
No locals.
#34 std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >::clear (this=0x55f2696c10a0) at /usr/include/c++/8/bits/stl_map.h:1133
No locals.
#35 i2p::transport::SSUServer::DeleteAllSessions (this=this@entry=0x55f2696c0e50) at libi2pd/SSU.cpp:612
No locals.
#36 0x000055f265ef7889 in i2p::transport::SSUServer::Stop (this=0x55f2696c0e50) at libi2pd/SSU.cpp:116
No locals.
#37 0x000055f265e873dd in i2p::transport::Transports::Stop (this=0x55f26608ef80 <i2p::transport::transports>) at libi2pd/Transports.cpp:303
No locals.
#38 0x000055f265e18a09 in i2p::util::Daemon_Singleton::stop (this=0x55f26608e280 <i2p::util::DaemonLinux::Instance()::instance>) at daemon/Daemon.cpp:464
No locals.
#39 0x000055f265db9a40 in main (argc=8, argv=0x7ffe0f8e8658) at daemon/i2pd.cpp:34
No locals.
(gdb)
LLE8 commented 2 years ago

2.39, Debian 9.13 64 bit, uptime 50d, graceful shutdown

# gdb /usr/sbin/i2pd  /var/lib/i2pd/core
GNU gdb (Debian 7.12-6) 7.12.0.20161007-git
Copyright (C) 2016 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from /usr/sbin/i2pd...Reading symbols from /usr/lib/debug/.build-id/54/3e838682117c685e33cfe3d28fe228e2b691da.debug...done.
done.
[New LWP 12514]
[New LWP 12508]
[New LWP 12510]
[New LWP 12511]
[New LWP 12512]
[New LWP 12513]
[New LWP 12516]
[New LWP 12515]
[New LWP 12507]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Core was generated by `/usr/sbin/i2pd --conf=/etc/i2pd/i2pd.conf --tunconf=/etc/i2pd/tunnels.conf --tu'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0  std::_Rb_tree_rebalance_for_erase (__z=__z@entry=0x7f7be0407450, __header=...) at ../../../../../src/libstdc++-v3/src/c++98/tree.cc:415
415     ../../../../../src/libstdc++-v3/src/c++98/tree.cc: No such file or directory.
[Current thread is 1 (Thread 0x7f7bee7fc700 (LWP 12514))]
(gdb) info threads
  Id   Target Id         Frame
* 1    Thread 0x7f7bee7fc700 (LWP 12514) std::_Rb_tree_rebalance_for_erase (__z=__z@entry=0x7f7be0407450, __header=...) at ../../../../../src/libstdc++-v3/src/c++98/tree.cc:415
  2    Thread 0x7f7bf54ad700 (LWP 12508) pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
  3    Thread 0x7f7bf4cac700 (LWP 12510) pthread_cond_timedwait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:225
  4    Thread 0x7f7beffff700 (LWP 12511) pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
  5    Thread 0x7f7bef7fe700 (LWP 12512) 0x00007f7bf59a3303 in epoll_wait () at ../sysdeps/unix/syscall-template.S:84
  6    Thread 0x7f7beeffd700 (LWP 12513) 0x00007f7bf59a3303 in epoll_wait () at ../sysdeps/unix/syscall-template.S:84
  7    Thread 0x7f7bed7fa700 (LWP 12516) 0x00007f7bf59a3303 in epoll_wait () at ../sysdeps/unix/syscall-template.S:84
  8    Thread 0x7f7bedffb700 (LWP 12515) 0x00007f7bf59a3303 in epoll_wait () at ../sysdeps/unix/syscall-template.S:84
  9    Thread 0x7f7bf7f07740 (LWP 12507) std::vector<i2p::data::RouterInfo::Introducer, std::allocator<i2p::data::RouterInfo::Introducer> >::~vector (this=0x7f7bd161eb88,
    __in_chrg=<optimized out>) at /usr/include/c++/6/bits/stl_vector.h:426
(gdb) bt full
#0  std::_Rb_tree_rebalance_for_erase (__z=__z@entry=0x7f7be0407450, __header=...) at ../../../../../src/libstdc++-v3/src/c++98/tree.cc:415
        __w = 0x0
        __root = @0x561eabe5cec0: 0x7f7be0152760
        __leftmost = @0x561eabe5cec8: 0x7f7be0b15110
        __rightmost = @0x561eabe5ced0: 0x7f7be0274de0
        __y = 0x7f7be0407450
        __x = 0x0
        __x_parent = 0x7f7be0640620
#1  0x0000561ea7e2d506 in std::_Rb_tree<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> >, std::_Select1st<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > >, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >::_M_erase_aux (
    __position=..., this=0x561eabe5ceb0) at /usr/include/c++/6/bits/stl_tree.h:2274
        __y = <optimized out>
#2  std::_Rb_tree<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> >, std::_Select1st<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > >, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >::erase[abi:cxx11](std::_Rb_tree_const_iterator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > >) (__position=..., this=0x561eabe5ceb0)
    at /usr/include/c++/6/bits/stl_tree.h:1036
No locals.
#3  std::_Rb_tree<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> >, std::_Select1st<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > >, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >::_M_erase_aux (__last=
    {first = {impl_ = {data_ = {base = {sa_family = 2, sa_data = ")n\331x3u\000\000\000\000\000\000\000"}, v4 = {sin_family = 2, sin_port = 28201, sin_addr = {s_addr = 1966307545}, sin_zero = "\000\000\000\000\000\000\000"}, v6 = {sin6_family = 2, sin6_port = 28201, sin6_flowinfo = 1966307545, sin6_addr = {__in6_u = {__u6_addr8 = '\000' <repeats 15 times>, __u6_addr16 = {0, 0, 0, 0, 0, 0, 0, 0}, __u6_addr32 = {0, 0, 0, 0}}}, sin6_scope_id = 0}}}}, second = std::shared_ptr (count -526722161, weak 32634) 0x7f7be09f1610}, __first=
  {first = {impl_ = {data_ = {base = {sa_family = 2, sa_data = ")n\331x3u\000\000\000\000\000\000\000"}, v4 = {sin_family = 2, sin_port = 28201, sin_addr = {s_addr = 1966307545}, sin_zero = "\000\000\000\000\000\000\000"}, v6 = {sin6_family = 2, sin6_port = 28201, sin6_flowinfo = 1966307545, sin6_addr = {__in6_u = {__u6_addr8 = '\000' <repeats 15 times>, __u6_addr16 = {0, 0, 0, 0, 0, 0, 0, 0}, __u6_addr32 = {0, 0, 0, 0}}}, sin6_scope_id = 0}}}}, second = std::shared_ptr (count -526722161, weak 32634) 0x7f7be09f1610}, this=0x561eabe5ceb0)
    at /usr/include/c++/6/bits/stl_tree.h:2289
No locals.
#4  std::_Rb_tree<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> >, std::_Select1st<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > >, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >::erase[abi:cxx11](std::_Rb_tree_const_iterator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > >, std::_Rb_tree_const_iterator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > >) (__last=
  {first = {impl_ = {data_ = {base = {sa_family = 2, sa_data = ")n\331x3u\000\000\000\000\000\000\000"}, v4 = {sin_family = 2, sin_port = 28201, sin_addr = {s_addr = 1966307545}, sin_zero = "\000\000\000\000\000\000\000"}, v6 = {sin6_family = 2, sin6_port = 28201, sin6_flowinfo = 1966307545, sin6_addr = {__in6_u = {__u6_addr8 = '\000' <repeats 15 times>, __u6_addr16 = {0, 0, 0, 0, 0, 0, 0, 0}, __u6_addr32 = {0, 0, 0, 0}}}, sin6_scope_id = 0}}}}, second = std::shared_ptr (count -526722161, weak 32634) 0x7f7be09f1610}, __first=..., this=0x561eabe5ceb0)
    at /usr/include/c++/6/bits/stl_tree.h:1069
No locals.
#5  std::_Rb_tree<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> >, std::_Select1st<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > >, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >::erase (
    this=this@entry=0x561eabe5ceb0, __x=...) at /usr/include/c++/6/bits/stl_tree.h:2300
        __p = {first = non-dereferenceable iterator for associative container, second =
  {first = {impl_ = {data_ = {base = {sa_family = 2, sa_data = ")n\331x3u\000\000\000\000\000\000\000"}, v4 = {sin_family = 2, sin_port = 28201, sin_addr = {s_addr = 1966307545}, sin_zero = "\000\000\000\000\000\000\000"}, v6 = {sin6_family = 2, sin6_port = 28201, sin6_flowinfo = 1966307545, sin6_addr = {__in6_u = {__u6_addr8 = '\000' <repeats 15 times>, __u6_addr16 = {0, 0, 0, 0, 0, 0, 0, 0}, __u6_addr32 = {0, 0, 0, 0}}}, sin6_scope_id = 0}}}}, second = std::shared_ptr (count -526722161, weak 32634) 0x7f7be09f1610}}
#6  0x0000561ea7e23a10 in std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::---Type <return> to continue, or q <return> to quit---
ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >::erase (__x=..., this=0x561eabe5ceb0)
    at /usr/include/c++/6/bits/stl_map.h:981
No locals.
#7  i2p::transport::SSUServer::DeleteSession (this=0x561eabe5cc60, session=std::shared_ptr (count -529198448, weak 32634) 0x7f7be05cb390) at libi2pd/SSU.cpp:604
No locals.
#8  0x0000561ea7e49f6e in i2p::transport::SSUSession::ProcessNextMessage (this=0x7f7be05cb390,
    buf=0x7f7be801ed50 "Q\254x\222A\272\235\070c\257\254\214\066\372.W\217\361\361Z\254Zn*\362M\276\230\033\f\251\356\217'\006C\271\207\373\264\066\022\212\375\253P\210\340\217\361\361Z\254Zn*\362M\276\230\033\f\251", <incomplete sequence \356>, len=<optimized out>, senderEndpoint=...) at libi2pd/SSUSession.cpp:135
        address = std::shared_ptr (count 2, weak 0) 0x561eab4cf4c0
#9  0x0000561ea7e26223 in i2p::transport::SSUServer::HandleReceivedPackets (this=0x561eabe5cc60, packets=..., sessions=0x561eabe5ceb0) at libi2pd/SSU.cpp:416
        __for_range = <optimized out>
        session = std::shared_ptr (count -529198448, weak 32634) 0x7f7be05cb390
#10 0x0000561ea7e2d8f9 in std::__invoke_impl<void, void (i2p::transport::SSUServer::* const&)(std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*), i2p::transport::SSUServer*&, std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >&, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*&> (__t=<optimized out>,
    __f=
    @0x7f7bee7fbd60: (void (i2p::transport::SSUServer::*)(i2p::transport::SSUServer * const, std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > > *)) 0x561ea7e26130 <i2p::transport::SSUServer::HandleReceivedPackets(std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*)>) at /usr/include/c++/6/functional:227
No locals.
#11 std::__invoke<void (i2p::transport::SSUServer::* const&)(std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*), i2p::transport::SSUServer*&, std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >&, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*&> (__fn=
    @0x7f7bee7fbd60: (void (i2p::transport::SSUServer::*)(i2p::transport::SSUServer * const, std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > > *)) 0x561ea7e26130 <i2p::transport::SSUServer::HandleReceivedPackets(std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*)>) at /usr/include/c++/6/functional:251
No locals.
#12 std::_Mem_fn_base<void (i2p::transport::SSUServer::*)(std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*), true>::operator()<i2p::transport::SSUServer*&, std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >&, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*&> (this=0x7f7bee7fbd60)
    at /usr/include/c++/6/functional:604
No locals.
#13 std::_Bind<std::_Mem_fn<void (i2p::transport::SSUServer::*)(std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*)> (i2p::transport::SSUServer*, std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*)>::__call<void, , 0ul, 1ul, 2ul>(std::tuple<>&&, std::_In---Type <return> to continue, or q <return> to quit---
dex_tuple<0ul, 1ul, 2ul>) (__args=<optimized out>, this=0x7f7bee7fbd60) at /usr/include/c++/6/functional:934
No locals.
#14 std::_Bind<std::_Mem_fn<void (i2p::transport::SSUServer::*)(std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*)> (i2p::transport::SSUServer*, std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*)>::operator()<, void>() (this=0x7f7bee7fbd60)
    at /usr/include/c++/6/functional:993
No locals.
#15 boost::asio::asio_handler_invoke<std::_Bind<std::_Mem_fn<void (i2p::transport::SSUServer::*)(std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*)> (i2p::transport::SSUServer*, std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*)> >(std::_Bind<std::_Mem_fn<void (i2p::transport::SSUServer::*)(std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*)> (i2p::transport::SSUServer*, std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*)>&, ...) (function=...) at /usr/include/boost/asio/handler_invoke_hook.hpp:69
No locals.
#16 boost_asio_handler_invoke_helpers::invoke<std::_Bind<std::_Mem_fn<void (i2p::transport::SSUServer::*)(std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*)> (i2p::transport::SSUServer*, std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*)>, std::_Bind<std::_Mem_fn<void (i2p::transport::SSUServer::*)(std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*)> (i2p::transport::SSUServer*, std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*)> >(std::_Bind<std::_Mem_fn<void (i2p::transport::SSUServer::*)(std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*)> (i2p::transport::SSUServer*, std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*)>&, std::_Bind<std::_Mem_fn<void (i2p::transport::SSUServer::*)(std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*)> (i2p::transport::SSUServer*, std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*)>&) (context=..., function=...) at /usr/include/boost/asio/detail/handler_invoke_helpers.hpp:37
No locals.
#17 boost::asio::detail::completion_handler<std::_Bind<std::_Mem_fn<void (i2p::transport::SSUServer::*)(std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*)> (i2p::transport::SSUServer*, std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*)> >::do_complete(boost::asio::detail::task_io_service*, boost::asio::detail::task_io_service_operation*, boost::system::error_code const&, unsigned long) (owner=<optimized out>, base=<optimized out>)
    at /usr/include/boost/asio/detail/completion_handler.hpp:68
        h = <optimized out>
---Type <return> to continue, or q <return> to quit---
        p = {h = <optimized out>, v = 0x0, p = 0x0}
        handler = {<std::_Weak_result_type<std::_Mem_fn<void (i2p::transport::SSUServer::*)(std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*)> >> = {<std::_Weak_result_type_impl<std::_Mem_fn<void (i2p::transport::SSUServer::*)(std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*)> >> = {<std::_Maybe_get_result_type<std::_Mem_fn<void (i2p::transport::SSUServer::*)(std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*)>, void>> = {<No data fields>}, <No data fields>}, <No data fields>},
          _M_f = {<std::_Mem_fn_base<void (i2p::transport::SSUServer::*)(std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*), true>> = {<std::_Maybe_unary_or_binary_function<void, i2p::transport::SSUServer*, std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*>> = {<No data fields>}, _M_pmf = (void (i2p::transport::SSUServer::*)(i2p::transport::SSUServer * const,
    std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >,
    std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > > *)) 0x561ea7e26130 <i2p::transport::SSUServer::HandleReceivedPackets(std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*)>}, <No data fields>}, _M_bound_args = std::tuple containing = {[1] = 0x561eabe5cc60, [2] = std::vector of length 1, capacity 1 = {0x7f7be801ed50},
            [3] = 0x561eabe5ceb0}}
#18 0x0000561ea7e27cdd in boost::asio::detail::task_io_service_operation::complete (bytes_transferred=0, ec=..., owner=..., this=<optimized out>)
    at /usr/include/boost/asio/detail/task_io_service_operation.hpp:38
No locals.
#19 boost::asio::detail::task_io_service::do_run_one (ec=..., this_thread=..., lock=..., this=0x561eabe5cfd0) at /usr/include/boost/asio/detail/impl/task_io_service.ipp:372
        task_result = 0
        on_exit = {task_io_service_ = 0x561eabe5cfd0, lock_ = 0x7f7bee7fbe10, this_thread_ = 0x7f7bee7fbe90}
        more_handlers = <optimized out>
#20 boost::asio::detail::task_io_service::run (ec=..., this=0x561eabe5cfd0) at /usr/include/boost/asio/detail/impl/task_io_service.ipp:149
        this_thread = {<boost::asio::detail::thread_info_base> = {<boost::asio::detail::noncopyable> = {<No data fields>}, reusable_memory_ = 0x0},
          private_op_queue = {<boost::asio::detail::noncopyable> = {<No data fields>}, front_ = 0x0, back_ = 0x0}, private_outstanding_work = 0}
        ctx = {<boost::asio::detail::noncopyable> = {<No data fields>}, key_ = 0x561eabe5cfd0, value_ = 0x7f7bee7fbe90, next_ = 0x0}
        lock = {<boost::asio::detail::noncopyable> = {<No data fields>}, mutex_ = @0x561eabe5d000, locked_ = false}
        n = <optimized out>
#21 boost::asio::io_service::run (this=0x561eabe5cc80) at /usr/include/boost/asio/impl/io_service.ipp:59
        ec = {m_val = 0, m_cat = 0x7f7bf71cb0c8}
#22 i2p::transport::SSUServer::Run (this=0x561eabe5cc60) at libi2pd/SSU.cpp:155
No locals.
#23 0x00007f7bf622de6f in std::execute_native_thread_routine (__p=0x561eabe5dda0) at ../../../../../src/libstdc++-v3/src/c++11/thread.cc:83
        __t = std::unique_ptr<std::thread::_State> containing 0x561eabe5dda0
#24 0x00007f7bf67094a4 in start_thread (arg=0x7f7bee7fc700) at pthread_create.c:456
        __res = <optimized out>
        pd = 0x7f7bee7fc700
        now = <optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140170259056384, 3898894253336910221, 140736369434558, 140736369434559, 140170250665984, 3, -3968661562512287347, -3968714383404607091},
              mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = <optimized out>
---Type <return> to continue, or q <return> to quit---
        pagesize_m1 = <optimized out>
        sp = <optimized out>
        freesize = <optimized out>
        __PRETTY_FUNCTION__ = "start_thread"
#25 0x00007f7bf59a2d0f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:97
No locals.
(gdb)
LLE8 commented 2 years ago

И еще один vds 2.39, Debian 10.10 64 bit, uptime 50 d, graceful shutdown

# gdb /usr/sbin/i2pd  /var/lib/i2pd/core
GNU gdb (Debian 8.2.1-2+b3) 8.2.1
Copyright (C) 2018 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
    <http://www.gnu.org/software/gdb/documentation/>.

For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from /usr/sbin/i2pd...Reading symbols from /usr/lib/debug/.build-id/b4/6ae396975bd22d0a6c9ade2b84423dd45f093e.debug...done.
done.
[New LWP 27322]
[New LWP 27200]
[New LWP 27319]
[New LWP 27320]
[New LWP 27323]
[New LWP 27324]
[New LWP 27321]
[New LWP 27318]
[New LWP 27199]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Core was generated by `/usr/sbin/i2pd --conf=/etc/i2pd/i2pd.conf --tunconf=/etc/i2pd/tunnels.conf --tu'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0  0x00005640afded907 in __gnu_cxx::__exchange_and_add (__val=-1, __mem=0x788) at /usr/include/c++/8/ext/atomicity.h:82
82            return __exchange_and_add(__mem, __val);
[Current thread is 1 (Thread 0x7f4a937fe700 (LWP 27322))]
(gdb) info threads
  Id   Target Id                         Frame
* 1    Thread 0x7f4a937fe700 (LWP 27322) 0x00005640afded907 in __gnu_cxx::__exchange_and_add (__val=-1, __mem=0x788) at /usr/include/c++/8/ext/atomicity.h:82
  2    Thread 0x7f4a9a191700 (LWP 27200) futex_wait_cancelable (private=0, expected=0, futex_word=0x5640b0096be0 <i2p::log::logger+288>) at ../sysdeps/unix/sysv/linux/futex-internal.h:88
  3    Thread 0x7f4a9918f700 (LWP 27319) futex_wait_cancelable (private=0, expected=0, futex_word=0x5640b0096014 <i2p::transport::transports+308>)
    at ../sysdeps/unix/sysv/linux/futex-internal.h:88
  4    Thread 0x7f4a9898e700 (LWP 27320) 0x00007f4a9a31f7ef in epoll_wait (epfd=6, events=events@entry=0x7f4a9898d730, maxevents=maxevents@entry=128, timeout=-1)
    at ../sysdeps/unix/sysv/linux/epoll_wait.c:30
  5    Thread 0x7f4a92ffd700 (LWP 27323) 0x00007f4a9a31f7ef in epoll_wait (epfd=12, events=events@entry=0x7f4a92ffc780, maxevents=maxevents@entry=128, timeout=-1)
    at ../sysdeps/unix/sysv/linux/epoll_wait.c:30
  6    Thread 0x7f4a927fc700 (LWP 27324) 0x00007f4a9a31f7ef in epoll_wait (epfd=23, events=events@entry=0x7f4a927fb780, maxevents=maxevents@entry=128, timeout=-1)
    at ../sysdeps/unix/sysv/linux/epoll_wait.c:30
  7    Thread 0x7f4a93fff700 (LWP 27321) 0x00007f4a9a31f7ef in epoll_wait (epfd=9, events=events@entry=0x7f4a93ffe780, maxevents=maxevents@entry=128, timeout=-1)
    at ../sysdeps/unix/sysv/linux/epoll_wait.c:30
  8    Thread 0x7f4a99990700 (LWP 27318) futex_abstimed_wait_cancelable (private=0, abstime=0x7f4a9998fcd0, expected=0, futex_word=0x5640b00965f8 <i2p::data::netdb+440>)
    at ../sysdeps/unix/sysv/linux/futex-internal.h:205
  9    Thread 0x7f4a9a212740 (LWP 27199)
    0x00005640aff4f773 in std::_Rb_tree<unsigned int, std::pair<unsigned int const, std::shared_ptr<i2p::data::RouterInfo const> >, std::_Select1st<std::pair<unsigned int const, std::shared_ptr<i2p::data::RouterInfo const> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, std::shared_ptr<i2p::data::RouterInfo const> > > >::_M_erase (
    this=0x7f4a843ea7f8, __x=0x7f4a6c6e1aa0) at /usr/include/c++/8/bits/stl_tree.h:1866
(gdb) bt full
#0  0x00005640afded907 in __gnu_cxx::__exchange_and_add (__val=-1, __mem=0x788) at /usr/include/c++/8/ext/atomicity.h:82
No locals.
#1  __gnu_cxx::__exchange_and_add_dispatch (__val=-1, __mem=0x788) at /usr/include/c++/8/ext/atomicity.h:82
No locals.
#2  __gnu_cxx::__exchange_and_add_dispatch (__val=-1, __mem=0x788) at /usr/include/c++/8/ext/atomicity.h:78
No locals.
#3  std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::_M_release (this=0x780) at /usr/include/c++/8/bits/shared_ptr_base.h:152
No locals.
#4  0x00005640aff4afe1 in std::__shared_count<(__gnu_cxx::_Lock_policy)2>::~__shared_count (this=<optimized out>, __in_chrg=<optimized out>)
    at /usr/include/c++/8/bits/shared_ptr_base.h:1167
No locals.
#5  std::__shared_ptr<i2p::crypto::DHKeys, (__gnu_cxx::_Lock_policy)2>::~__shared_ptr (this=<optimized out>, __in_chrg=<optimized out>) at /usr/include/c++/8/bits/shared_ptr_base.h:1167
No locals.
#6  std::__shared_ptr<i2p::crypto::DHKeys, (__gnu_cxx::_Lock_policy)2>::operator= (__r=..., this=0x7f4a840c87b8) at /usr/include/c++/8/bits/shared_ptr_base.h:1263
No locals.
#7  std::shared_ptr<i2p::crypto::DHKeys>::operator= (__r=..., this=0x7f4a840c87b8) at /usr/include/c++/8/bits/shared_ptr.h:335
No locals.
#8  i2p::transport::SSUSession::Reset (this=0x7f4a840c8060) at libi2pd/SSUSession.cpp:939
No locals.
#9  0x00005640aff4b071 in i2p::transport::SSUSession::Close (this=0x7f4a840c8060) at libi2pd/SSUSession.cpp:924
No locals.
#10 0x00005640aff16bbc in i2p::transport::SSUServer::DeleteSession (this=this@entry=0x5640b1f9e080,
    session=std::shared_ptr<i2p::transport::SSUSession> (use count -2071520382, weak count 32585) = {...}) at libi2pd/SSU.cpp:599
        ep = <optimized out>
#11 0x00005640aff4cd4d in i2p::transport::SSUSession::ProcessNextMessage (this=0x7f4a840c8060, buf=<optimized out>, len=<optimized out>, senderEndpoint=...)
    at /usr/include/c++/8/bits/shared_ptr_base.h:1190
        address = std::shared_ptr<const i2p::data::RouterInfo::Address> (use count 2, weak count 0) = {get() = 0x5640b16e43b0}
#12 0x00005640aff187bf in i2p::transport::SSUServer::HandleReceivedPackets (this=0x5640b1f9e080, packets=..., sessions=0x5640b1f9e2d0) at libi2pd/SSU.cpp:416
        packet = @0x7f4a8c013050: 0x7f4a8c060f10
        __for_range = <optimized out>
        __for_begin = <optimized out>
        __for_end = <optimized out>
        session = std::shared_ptr<i2p::transport::SSUSession> (use count -2071520382, weak count 32585) = {get() = 0x7f4a840c8060}
#13 0x00005640aff1f8f1 in std::__invoke_impl<void, void (i2p::transport::SSUServer::*&)(std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*), i2p::transport::SSUServer*&, std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >&, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*&> (
    __t=@0x7f4a937fdd80: 0x5640b1f9e080, __f=
    @0x7f4a937fdd50: (void (i2p::transport::SSUServer::*)(i2p::transport::SSUServer * const, std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > > *)) 0x5640aff186b0 <i2p::transport::SSUServer::HandleReceivedPackets(std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*)>) at /usr/include/c++/8/bits/invoke.h:89
No locals.
#14 std::__invoke<void (i2p::transport::SSUServer::*&)(std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*), i2p::transport::SSUServer*&, std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >&--Type <RET> for more, q to quit, c to continue without paging--
, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*&> (__fn=
    @0x7f4a937fdd50: (void (i2p::transport::SSUServer::*)(i2p::transport::SSUServer * const, std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > > *)) 0x5640aff186b0 <i2p::transport::SSUServer::HandleReceivedPackets(std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*)>) at /usr/include/c++/8/bits/invoke.h:95
No locals.
#15 std::_Bind<void (i2p::transport::SSUServer::*(i2p::transport::SSUServer*, std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*))(std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*)>::__call<void, , 0ul, 1ul, 2ul>(std::tuple<>&&, std::_Index_tuple<0ul, 1ul, 2ul>) (__args=..., this=0x7f4a937fdd50) at /usr/include/c++/8/functional:400
No locals.
#16 std::_Bind<void (i2p::transport::SSUServer::*(i2p::transport::SSUServer*, std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*))(std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*)>::operator()<, void>() (this=0x7f4a937fdd50)
    at /usr/include/c++/8/functional:484
No locals.
#17 boost::asio::asio_handler_invoke<std::_Bind<void (i2p::transport::SSUServer::*(i2p::transport::SSUServer*, std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*))(std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*)> >(std::_Bind<void (i2p::transport::SSUServer::*(i2p::transport::SSUServer*, std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*))(std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*)>&, ...) (function=...) at /usr/include/boost/asio/handler_invoke_hook.hpp:69
No locals.
#18 boost_asio_handler_invoke_helpers::invoke<std::_Bind<void (i2p::transport::SSUServer::*(i2p::transport::SSUServer*, std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*))(std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*)>, std::_Bind<void (i2p::transport::SSUServer::*(i2p::transport::SSUServer*, std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*))(std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*)> >(std::_Bind<void (i2p::transport::SSUServer::*(i2p::transport::SSUServer*, std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*))(std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*)>&, std::_Bind<void (i2p::transport::SSUServer::*(i2p::transport::SSUServer*, std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<bo--Type <RET> for more, q to quit, c to continue without paging--
ost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*))(std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*)>&) (context=..., function=...)
    at /usr/include/boost/asio/detail/handler_invoke_helpers.hpp:37
No locals.
#19 boost::asio::detail::handler_work<std::_Bind<void (i2p::transport::SSUServer::*(i2p::transport::SSUServer*, std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*))(std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*)>, boost::asio::system_executor>::complete<std::_Bind<void (i2p::transport::SSUServer::*(i2p::transport::SSUServer*, std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*))(std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*)> >(std::_Bind<void (i2p::transport::SSUServer::*(i2p::transport::SSUServer*, std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*))(std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*)>&, std::_Bind<void (i2p::transport::SSUServer::*(i2p::transport::SSUServer*, std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*))(std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*)>&) (
    this=<synthetic pointer>, handler=..., function=...) at /usr/include/boost/asio/detail/handler_work.hpp:82
No locals.
#20 boost::asio::detail::completion_handler<std::_Bind<void (i2p::transport::SSUServer::*(i2p::transport::SSUServer*, std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*))(std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*)> >::do_complete(void*, boost::asio::detail::scheduler_operation*, boost::system::error_code const&, unsigned long) (owner=<optimized out>, base=0x7f4a8c059130) at /usr/include/boost/asio/detail/completion_handler.hpp:70
        b = <optimized out>
        h = 0x7f4a8c059130
        p = {h = 0x7f4a937fdd50, v = 0x0, p = 0x0}
        w = <optimized out>
        handler = {<std::_Weak_result_type<void (i2p::transport::SSUServer::*)(std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*)>> = {<std::_Weak_result_type_memfun<void (i2p::transport::SSUServer::*)(std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*), true>> = {<No data fields>}, <No data fields>}, _M_f = (void (i2p::transport::SSUServer::*)(i2p::transport::SSUServer * const,
    std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >,
    std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > > *)) 0x5640aff186b0 <i2p::transport::SSUServer::HandleReceivedPackets(std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*)>, _M_bound_args = std::tuple containing = {[1] = 0x5640b1f9e080, [2] = std::vector of length 1, capacity 1 = {0x7f4a8c060f10}, [3] = 0x5640b1f9e2d0}}
--Type <RET> for more, q to quit, c to continue without paging--
#21 0x00005640aff15488 in boost::asio::detail::scheduler_operation::complete (bytes_transferred=0, ec=..., owner=0x5640b1f9e3f0, this=<optimized out>)
    at /usr/include/boost/asio/detail/scheduler_operation.hpp:40
No locals.
#22 boost::asio::detail::scheduler::do_run_one (ec=..., this_thread=..., lock=..., this=0x5640b1f9e3f0) at /usr/include/boost/asio/detail/impl/scheduler.ipp:401
        task_result = 0
        on_exit = {scheduler_ = 0x5640b1f9e3f0, lock_ = 0x7f4a937fde00, this_thread_ = 0x7f4a937fde70}
        o = <optimized out>
        more_handlers = true
#23 boost::asio::detail::scheduler::run (ec=..., this=0x5640b1f9e3f0) at /usr/include/boost/asio/detail/impl/scheduler.ipp:154
        this_thread = {<boost::asio::detail::thread_info_base> = {<boost::asio::detail::noncopyable> = {<No data fields>}, reusable_memory_ = {0x0, 0x0}},
          private_op_queue = {<boost::asio::detail::noncopyable> = {<No data fields>}, front_ = 0x0, back_ = 0x0}, private_outstanding_work = 0}
        ctx = {<boost::asio::detail::noncopyable> = {<No data fields>}, key_ = 0x5640b1f9e3f0, value_ = 0x7f4a937fde70, next_ = 0x0}
        lock = {<boost::asio::detail::noncopyable> = {<No data fields>}, mutex_ = @0x5640b1f9e420, locked_ = false}
        n = <optimized out>
        this_thread = <optimized out>
        ctx = <optimized out>
        lock = <optimized out>
        n = <optimized out>
#24 boost::asio::io_context::run (this=0x5640b1f9e0a0) at /usr/include/boost/asio/impl/io_context.ipp:62
        ec = {m_val = 0, m_cat = 0x7f4a9a7fc070}
        s = <optimized out>
        ec = <optimized out>
        s = <optimized out>
#25 i2p::transport::SSUServer::Run (this=0x5640b1f9e080) at libi2pd/SSU.cpp:155
No locals.
#26 0x00007f4a9a641b2f in ?? () from /lib/x86_64-linux-gnu/libstdc++.so.6
No symbol table info available.
#27 0x00007f4a9a721fa3 in start_thread (arg=<optimized out>) at pthread_create.c:486
        ret = <optimized out>
        pd = <optimized out>
        now = <optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {139958278940416, -1613226449127656244, 140732003904062, 140732003904063, 139958278940416, 140732003904528, 1660013968514299084,
                1660033804827964620}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = <optimized out>
#28 0x00007f4a9a31f4cf in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
No locals.
(gdb)
LLE8 commented 2 years ago

Debian 10.11 64 bit 1af9117b80ec0461d32eb7229d81ba57f2ed8775 uptime 5d, 130000 КБ ОЗУ systemctl stop i2pd

# gdb /usr/sbin/i2pd /var/lib/i2pd/core
GNU gdb (Debian 8.2.1-2+b3) 8.2.1
Copyright (C) 2018 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
    <http://www.gnu.org/software/gdb/documentation/>.

For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from /usr/sbin/i2pd...Reading symbols from /usr/lib/debug/.build-id/fb/5169f17a0dd3981addb62055361a895bdb293a.debug...done.
done.
[New LWP 3615]
[New LWP 3616]
[New LWP 3711]
[New LWP 3712]
[New LWP 3713]
[New LWP 3714]
[New LWP 3715]
[New LWP 3716]
[New LWP 3717]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Core was generated by `/usr/sbin/i2pd --conf=/etc/i2pd/i2pd.conf --tunconf=/etc/i2pd/tunnels.conf --tu'.
Program terminated with signal SIGABRT, Aborted.
#0  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
50      ../sysdeps/unix/sysv/linux/raise.c: No such file or directory.
[Current thread is 1 (Thread 0x7f2969d33740 (LWP 3615))]
(gdb) info threads
  Id   Target Id                        Frame
* 1    Thread 0x7f2969d33740 (LWP 3615) __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
  2    Thread 0x7f2969cb2700 (LWP 3616) futex_wait_cancelable (private=0, expected=0, futex_word=0x55c8dacdc8c0 <i2p::log::logger+288>) at ../sysdeps/unix/sysv/linux/futex-internal.h:88
  3    Thread 0x7f29694b1700 (LWP 3711) futex_abstimed_wait_cancelable (private=0, abstime=0x7f29694b0cd0, expected=0, futex_word=0x55c8dacdc17c <i2p::data::netdb+444>)
    at ../sysdeps/unix/sysv/linux/futex-internal.h:205
  4    Thread 0x7f2968cb0700 (LWP 3712) futex_wait_cancelable (private=0, expected=0, futex_word=0x55c8dacdbe90 <i2p::transport::transports+304>)
    at ../sysdeps/unix/sysv/linux/futex-internal.h:88
  5    Thread 0x7f2963fff700 (LWP 3713) 0x00007f2969e407ef in epoll_wait (epfd=6, events=events@entry=0x7f2963ffe730, maxevents=maxevents@entry=128, timeout=-1)
    at ../sysdeps/unix/sysv/linux/epoll_wait.c:30
  6    Thread 0x7f29637fe700 (LWP 3714) 0x00007f2969e407ef in epoll_wait (epfd=9, events=events@entry=0x7f29637fd780, maxevents=maxevents@entry=128, timeout=-1)
    at ../sysdeps/unix/sysv/linux/epoll_wait.c:30
  7    Thread 0x7f2962ffd700 (LWP 3715) 0x00007f2969e407ef in epoll_wait (epfd=18, events=events@entry=0x7f2962ffc780, maxevents=maxevents@entry=128, timeout=-1)
    at ../sysdeps/unix/sysv/linux/epoll_wait.c:30
  8    Thread 0x7f29627fc700 (LWP 3716) 0x00007f2969e407ef in epoll_wait (epfd=12, events=events@entry=0x7f29627fb780, maxevents=maxevents@entry=128, timeout=-1)
    at ../sysdeps/unix/sysv/linux/epoll_wait.c:30
  9    Thread 0x7f2961ffb700 (LWP 3717) 0x00007f2969e407ef in epoll_wait (epfd=23, events=events@entry=0x7f2961ffa780, maxevents=maxevents@entry=128, timeout=-1)
    at ../sysdeps/unix/sysv/linux/epoll_wait.c:30
(gdb) bt full
#0  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
        set = {__val = {0, 18446744073709551615 <repeats 12 times>, 94321149886160, 139815851117264, 139815851225312}}
        pid = <optimized out>
        tid = <optimized out>
        ret = <optimized out>
#1  0x00007f2969d695fe in __GI_abort () at abort.c:100
        act = {__sigaction_handler = {sa_handler = 0x0, sa_sigaction = 0x0}, sa_mask = {__val = {18446744073709551615 <repeats 16 times>}}, sa_flags = 0, sa_restorer = 0x0}
        sigs = {__val = {32, 0 <repeats 15 times>}}
#2  0x00007f2969dc0508 in __libc_message (action=action@entry=do_abort, fmt=fmt@entry=0x7f2969ecb28d "%s\n") at ../sysdeps/posix/libc_fatal.c:181
        ap = {{gp_offset = 24, fp_offset = 32553, overflow_arg_area = 0x7ffd9cc24780, reg_save_area = 0x7ffd9cc24710}}
        fd = 2
        list = <optimized out>
        nlist = <optimized out>
        cp = <optimized out>
        written = <optimized out>
#3  0x00007f2969dc6c1a in malloc_printerr (str=str@entry=0x7f2969eccb98 "corrupted size vs. prev_size in fastbins") at malloc.c:5341
No locals.
#4  0x00007f2969dc6e84 in malloc_consolidate (av=av@entry=0x7f2954000020) at malloc.c:4487
        fb = <optimized out>
        maxfb = 0x7f2954000078
        p = <optimized out>
        nextp = 0x7f29542d6b20
        unsorted_bin = 0x7f2954000080
        first_unsorted = <optimized out>
        nextchunk = <optimized out>
        size = <optimized out>
        nextsize = <optimized out>
        prevsize = <optimized out>
        nextinuse = <optimized out>
        bck = <optimized out>
        fwd = <optimized out>
#5  0x00007f2969dc879a in _int_free (av=0x7f2954000020, p=0x7f29546c0890, have_lock=<optimized out>) at malloc.c:4392
        size = 112144
        fb = <optimized out>
        nextchunk = 0x7f29546dbea0
        nextsize = 96
        nextinuse = <optimized out>
        prevsize = <optimized out>
        bck = <optimized out>
        fwd = <optimized out>
        __PRETTY_FUNCTION__ = "_int_free"
#6  0x000055c8daba2667 in __gnu_cxx::new_allocator<std::__detail::_Hash_node_base*>::deallocate (this=<synthetic pointer>, __p=<optimized out>) at /usr/include/c++/8/ext/new_allocator.h:116
No locals.
#7  std::allocator_traits<std::allocator<std::__detail::_Hash_node_base*> >::deallocate (__a=<synthetic pointer>..., __n=<optimized out>, __p=<optimized out>)
    at /usr/include/c++/8/bits/alloc_traits.h:462
No locals.
#8  std::__detail::_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<unsigned int const, unsigned long>, false> > >::_M_deallocate_buckets (this=0x7f29541927e0,
    __n=<optimized out>, __bkts=<optimized out>) at /usr/include/c++/8/bits/hashtable_policy.h:2137
        __ptr = <optimized out>
--Type <RET> for more, q to quit, c to continue without paging--c
        __alloc = <optimized out>
        __ptr = <optimized out>
        __alloc = <optimized out>
#9  std::_Hashtable<unsigned int, std::pair<unsigned int const, unsigned long>, std::allocator<std::pair<unsigned int const, unsigned long> >, std::__detail::_Select1st, std::equal_to<unsigned int>, std::hash<unsigned int>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<false, false, true> >::_M_deallocate_buckets (__n=<optimized out>, __bkts=<optimized out>, this=0x7f29541927e0) at /usr/include/c++/8/bits/hashtable.h:375
No locals.
#10 std::_Hashtable<unsigned int, std::pair<unsigned int const, unsigned long>, std::allocator<std::pair<unsigned int const, unsigned long> >, std::__detail::_Select1st, std::equal_to<unsigned int>, std::hash<unsigned int>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<false, false, true> >::_M_deallocate_buckets (this=0x7f29541927e0) at /usr/include/c++/8/bits/hashtable.h:380
No locals.
#11 std::_Hashtable<unsigned int, std::pair<unsigned int const, unsigned long>, std::allocator<std::pair<unsigned int const, unsigned long> >, std::__detail::_Select1st, std::equal_to<unsigned int>, std::hash<unsigned int>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<false, false, true> >::~_Hashtable (this=0x7f29541927e0, __in_chrg=<optimized out>) at /usr/include/c++/8/bits/hashtable.h:1375
No locals.
#12 std::unordered_map<unsigned int, unsigned long, std::hash<unsigned int>, std::equal_to<unsigned int>, std::allocator<std::pair<unsigned int const, unsigned long> > >::~unordered_map (this=0x7f29541927e0, __in_chrg=<optimized out>) at /usr/include/c++/8/bits/unordered_map.h:102
No locals.
#13 i2p::transport::SSUData::~SSUData (this=0x7f2954192778, __in_chrg=<optimized out>) at libi2pd/SSUData.cpp:41
No locals.
#14 0x000055c8dab9cbaa in i2p::transport::SSUSession::~SSUSession (this=0x7f29541921d0, __in_chrg=<optimized out>) at libi2pd/TransportSession.h:27
No locals.
#15 0x000055c8daa7f5a2 in std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::_M_release (this=0x7f29541921c0) at /usr/include/c++/8/bits/shared_ptr_base.h:148
No locals.
#16 std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::_M_release (this=0x7f29541921c0) at /usr/include/c++/8/bits/shared_ptr_base.h:148
No locals.
#17 std::__shared_count<(__gnu_cxx::_Lock_policy)2>::~__shared_count (this=0x7f29540a4c88, __in_chrg=<optimized out>) at /usr/include/c++/8/bits/shared_ptr_base.h:728
No locals.
#18 std::__shared_ptr<i2p::transport::SSUSession, (__gnu_cxx::_Lock_policy)2>::~__shared_ptr (this=0x7f29540a4c80, __in_chrg=<optimized out>) at /usr/include/c++/8/bits/shared_ptr_base.h:1167
No locals.
#19 std::shared_ptr<i2p::transport::SSUSession>::~shared_ptr (this=0x7f29540a4c80, __in_chrg=<optimized out>) at /usr/include/c++/8/bits/shared_ptr.h:103
No locals.
#20 std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> >::~pair (this=0x7f29540a4c60, __in_chrg=<optimized out>) at /usr/include/c++/8/bits/stl_pair.h:208
No locals.
#21 __gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >::destroy<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > (this=0x55c8de41a9d0, __p=0x7f29540a4c60) at /usr/include/c++/8/ext/new_allocator.h:140
No locals.
#22 std::allocator_traits<std::allocator<std::_Rb_tree_node<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > > >::destroy<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > (__a=..., __p=0x7f29540a4c60) at /usr/include/c++/8/bits/alloc_traits.h:487
No locals.
#23 std::_Rb_tree<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> >, std::_Select1st<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > >, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >::_M_destroy_node (this=0x55c8de41a9d0, __p=0x7f29540a4c40) at /usr/include/c++/8/bits/stl_tree.h:661
No locals.
#24 std::_Rb_tree<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> >, std::_Select1st<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > >, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >::_M_drop_node (this=0x55c8de41a9d0, __p=0x7f29540a4c40) at /usr/include/c++/8/bits/stl_tree.h:669
No locals.
#25 std::_Rb_tree<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> >, std::_Select1st<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > >, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >::_M_erase (this=this@entry=0x55c8de41a9d0, __x=0x7f29540a4c40) at /usr/include/c++/8/bits/stl_tree.h:1874
        __y = 0x7f294c1e6770
#26 0x000055c8daa7f51f in std::_Rb_tree<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> >, std::_Select1st<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > >, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >::_M_erase (this=this@entry=0x55c8de41a9d0, __x=0x7f295405f820) at /usr/include/c++/8/bits/stl_tree.h:1866
        __y = <optimized out>
#27 0x000055c8daa7f51f in std::_Rb_tree<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> >, std::_Select1st<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > >, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >::_M_erase (this=this@entry=0x55c8de41a9d0, __x=0x7f2954096b10) at /usr/include/c++/8/bits/stl_tree.h:1866
        __y = <optimized out>
#28 0x000055c8daa7f51f in std::_Rb_tree<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> >, std::_Select1st<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > >, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >::_M_erase (this=this@entry=0x55c8de41a9d0, __x=0x7f294c031830) at /usr/include/c++/8/bits/stl_tree.h:1866
        __y = <optimized out>
#29 0x000055c8daa7f51f in std::_Rb_tree<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> >, std::_Select1st<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > >, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >::_M_erase (this=0x55c8de41a9d0, __x=0x7f29540aa1a0) at /usr/include/c++/8/bits/stl_tree.h:1866
        __y = <optimized out>
#30 0x000055c8dab4430c in std::_Rb_tree<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> >, std::_Select1st<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > >, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >::clear (this=0x55c8de41a9d0) at /usr/include/c++/8/bits/stl_tree.h:1185
No locals.
#31 std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >::clear (this=0x55c8de41a9d0) at /usr/include/c++/8/bits/stl_map.h:1133
No locals.
#32 i2p::transport::SSUServer::DeleteAllSessions (this=this@entry=0x55c8de41a780) at libi2pd/SSU.cpp:612
No locals.
#33 0x000055c8dab44c19 in i2p::transport::SSUServer::Stop (this=0x55c8de41a780) at libi2pd/SSU.cpp:116
No locals.
#34 0x000055c8daad132d in i2p::transport::Transports::Stop (this=0x55c8dacdbd60 <i2p::transport::transports>) at libi2pd/Transports.cpp:303
No locals.
#35 0x000055c8daa61909 in i2p::util::Daemon_Singleton::stop (this=0x55c8dacdb240 <i2p::util::DaemonLinux::Instance()::instance>) at daemon/Daemon.cpp:464
No locals.
#36 0x000055c8daa093f0 in main (argc=8, argv=0x7ffd9cc24b58) at daemon/i2pd.cpp:34
No locals.
(gdb)
LLE8 commented 2 years ago

Debian 9.13 64 bit 1af9117b80ec0461d32eb7229d81ba57f2ed8775 Cъело 100 МБ ОЗУ при наличии свопа Упало в процессе grace shutdown при swapoff -a

# gdb  /usr/sbin/i2pd /var/lib/i2pd/core
GNU gdb (Debian 7.12-6) 7.12.0.20161007-git
Copyright (C) 2016 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from /usr/sbin/i2pd...Reading symbols from /usr/lib/debug/.build-id/00/f87118ac2dd1ae3d7898458e90134f104494ff.debug...done.
done.
[New LWP 26127]
[New LWP 26033]
[New LWP 26034]
[New LWP 26123]
[New LWP 26124]
[New LWP 26125]
[New LWP 26126]
[New LWP 26129]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Core was generated by `/usr/sbin/i2pd --conf=/etc/i2pd/i2pd.conf --tunconf=/etc/i2pd/tunnels.conf --tu'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0  0x00007f5decc633d6 in std::local_Rb_tree_rotate_left (__root=@0x55dfdfc275f0: 0x0, __x=0x7f5de01de1e0) at ../../../../../src/libstdc++-v3/src/c++98/tree.cc:145
145     ../../../../../src/libstdc++-v3/src/c++98/tree.cc: No such file or directory.
[Current thread is 1 (Thread 0x7f5de96f0700 (LWP 26127))]
(gdb) info threads
  Id   Target Id         Frame
* 1    Thread 0x7f5de96f0700 (LWP 26127) 0x00007f5decc633d6 in std::local_Rb_tree_rotate_left (__root=@0x55dfdfc275f0: 0x0, __x=0x7f5de01de1e0)
    at ../../../../../src/libstdc++-v3/src/c++98/tree.cc:145
  2    Thread 0x7f5dee94f740 (LWP 26033) 0x00007f5ded1526dd in pthread_join (threadid=140041325053696, thread_return=0x0) at pthread_join.c:90
  3    Thread 0x7f5debef5700 (LWP 26034) pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
  4    Thread 0x7f5deb6f4700 (LWP 26123) pthread_cond_timedwait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:225
  5    Thread 0x7f5deaef3700 (LWP 26124) pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
  6    Thread 0x7f5dea6f2700 (LWP 26125) 0x00007f5dec3eb303 in epoll_wait () at ../sysdeps/unix/syscall-template.S:84
  7    Thread 0x7f5de9ef1700 (LWP 26126) 0x00007f5dec3eb303 in epoll_wait () at ../sysdeps/unix/syscall-template.S:84
  8    Thread 0x7f5ddbfff700 (LWP 26129) 0x00007f5dec3eb303 in epoll_wait () at ../sysdeps/unix/syscall-template.S:84
(gdb) bt full
#0  0x00007f5decc633d6 in std::local_Rb_tree_rotate_left (__root=@0x55dfdfc275f0: 0x0, __x=0x7f5de01de1e0) at ../../../../../src/libstdc++-v3/src/c++98/tree.cc:145
        __y = <optimized out>
#1  std::_Rb_tree_rebalance_for_erase (__z=__z@entry=0x7f5de028a800, __header=...) at ../../../../../src/libstdc++-v3/src/c++98/tree.cc:400
        __w = <optimized out>
        __root = @0x55dfdfc275f0: 0x0
        __leftmost = @0x55dfdfc275f8: 0x55dfdfc275e8
        __rightmost = @0x55dfdfc27600: 0x55dfdfc275e8
        __y = 0x7f5de028a800
        __x = <optimized out>
        __x_parent = 0x7f5de01de1e0
#2  0x000055dfdcb81426 in std::_Rb_tree<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> >, std::_Select1st<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > >, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >::_M_erase_aux (
    __position=..., this=0x55dfdfc275e0) at /usr/include/c++/6/bits/stl_tree.h:2274
        __y = <optimized out>
#3  std::_Rb_tree<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> >, std::_Select1st<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > >, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >::erase[abi:cxx11](std::_Rb_tree_const_iterator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > >) (__position=..., this=0x55dfdfc275e0)
    at /usr/include/c++/6/bits/stl_tree.h:1036
No locals.
#4  std::_Rb_tree<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> >, std::_Select1st<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > >, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >::_M_erase_aux (__last=
  {first = {impl_ = {data_ = {base = {sa_family = 2, sa_data = "=#\260\342\257\267\000\000\000\000\000\000\000"}, v4 = {sin_family = 2, sin_port = 9021, sin_addr = {s_addr = 3081757360}, sin_zero = "\000\000\000\000\000\000\000"}, v6 = {sin6_family = 2, sin6_port = 9021, sin6_flowinfo = 3081757360, sin6_addr = {__in6_u = {__u6_addr8 = '\000' <repeats 15 times>, __u6_addr16 = {0, 0, 0, 0, 0, 0, 0, 0}, __u6_addr32 = {0, 0, 0, 0}}}, sin6_scope_id = 0}}}}, second = std::shared_ptr (expired, weak 0) 0x7f5de03a7340}, __first=
  {first = {impl_ = {data_ = {base = {sa_family = 2, sa_data = "=#\260\342\257\267\000\000\000\000\000\000\000"}, v4 = {sin_family = 2, sin_port = 9021, sin_addr = {s_addr = 3081757360}, sin_zero = "\000\000\000\000\000\000\000"}, v6 = {sin6_family = 2, sin6_port = 9021, sin6_flowinfo = 3081757360, sin6_addr = {__in6_u = {__u6_addr8 = '\000' <repeats 15 times>, __u6_addr16 = {0, 0, 0, 0, 0, 0, 0, 0}, __u6_addr32 = {0, 0, 0, 0}}}, sin6_scope_id = 0}}}}, second = std::shared_ptr (expired, weak 0) 0x7f5de03a7340}, this=0x55dfdfc275e0)
    at /usr/include/c++/6/bits/stl_tree.h:2289
No locals.
#5  std::_Rb_tree<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> >, std::_Select1st<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > >, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >::erase[abi:cxx11](std::_Rb_tree_const_iterator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > >, std::_Rb_tree_const_iterator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > >) (__last=
  {first = {impl_ = {data_ = {base = {sa_family = 2, sa_data = "=#\260\342\257\267\000\000\000\000\000\000\000"}, v4 = {sin_family = 2, sin_port = 9021, sin_addr = {s_addr = 3081757360}, sin_zero = "\000\000\000\000\000\000\000"}, v6 = {sin6_family = 2, sin6_port = 9021, sin6_flowinfo = 3081757360, sin6_addr = {__in6_u = {__u6_addr8 = '\000' <repeats 15 times>, __u6_addr16 = {0, 0, 0, 0, 0, 0, 0, 0}, __u6_addr32 = {0, 0, 0, 0}}}, sin6_scope_id = 0}}}}, second = std::shared_ptr (expired, weak 0) 0x7f5de03a7340}, __first=..., this=0x55dfdfc275e0)
    at /usr/include/c++/6/bits/stl_tree.h:1069
No locals.
#6  std::_Rb_tree<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> >, std::_Select1st<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > >, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >::erase (
    this=this@entry=0x55dfdfc275e0, __x=...) at /usr/include/c++/6/bits/stl_tree.h:2300
        __p = {first = non-dereferenceable iterator for associative container, second =
  {first = {impl_ = {data_ = {base = {sa_family = 2, sa_data = "=#\260\342\257\267\000\000\000\000\000\000\000"}, v4 = {sin_family = 2, sin_port = 9021, sin_addr = {s_addr = 3081757360}, sin_zero = "\000\000\000\000\000\000\000"}, v6 = {sin6_family = 2, sin6_port = 9021, sin6_flowinfo = 3081757360, sin6_addr = {__in6_u = {__u6_addr8 = '\000' <repeats 15 times>, __u6_addr16 = {0, 0, 0, 0, 0, 0, 0, 0}, __u6_addr32 = {0, 0, 0, 0}}}, sin6_scope_id = 0}}}}, second = std::shared_ptr (expired, weak 0) 0x7f5de03a7340}}
#7  0x000055dfdcb77500 in std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >::erase (__x=..., this=0x55dfdfc275e0)
    at /usr/include/c++/6/bits/stl_map.h:981
No locals.
#8  i2p::transport::SSUServer::DeleteSession (this=0x55dfdfc27390, session=std::shared_ptr (count 2, weak -1) 0x7f5de0791900) at libi2pd/SSU.cpp:604
No locals.
---Type <return> to continue, or q <return> to quit---
#9  0x000055dfdcb9df4e in i2p::transport::SSUSession::ProcessNextMessage (this=0x7f5de0791900,
    buf=0x7f5ddd8304a0 "Ș\236\233\324\f\236/\204\322\355\327ĨCH%\274:@@\227\273\v\341ê\031_\337)\367\027\070\221\275\345o\222O\255\261\233\241Z\202b\267%\274:@@\227\273\v\341ê\031_\337", <incomplete sequence \367>, len=<optimized out>, senderEndpoint=...) at libi2pd/SSUSession.cpp:135
        address = std::shared_ptr (count 2, weak 0) 0x55dfdf26f4e0
#10 0x000055dfdcb79da4 in i2p::transport::SSUServer::HandleReceivedPackets (this=0x55dfdfc27390, packets=std::vector of length 1, capacity 1 = {...}, sessions=0x55dfdfc275e0)
    at libi2pd/SSU.cpp:416
        __for_range = std::vector of length 1, capacity 1 = {0x7f5ddd8304a0}
        session = std::shared_ptr (count 2, weak -1) 0x7f5de0791900
#11 0x000055dfdcb81819 in std::__invoke_impl<void, void (i2p::transport::SSUServer::* const&)(std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*), i2p::transport::SSUServer*&, std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >&, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*&> (__t=<optimized out>,
    __f=
    @0x7f5de96efd60: (void (i2p::transport::SSUServer::*)(i2p::transport::SSUServer * const, std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > > *)) 0x55dfdcb79ca0 <i2p::transport::SSUServer::HandleReceivedPackets(std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*)>) at /usr/include/c++/6/functional:227
No locals.
#12 std::__invoke<void (i2p::transport::SSUServer::* const&)(std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*), i2p::transport::SSUServer*&, std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >&, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*&> (__fn=
    @0x7f5de96efd60: (void (i2p::transport::SSUServer::*)(i2p::transport::SSUServer * const, std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > > *)) 0x55dfdcb79ca0 <i2p::transport::SSUServer::HandleReceivedPackets(std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*)>) at /usr/include/c++/6/functional:251
No locals.
#13 std::_Mem_fn_base<void (i2p::transport::SSUServer::*)(std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*), true>::operator()<i2p::transport::SSUServer*&, std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >&, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*&> (this=0x7f5de96efd60)
    at /usr/include/c++/6/functional:604
No locals.
#14 std::_Bind<std::_Mem_fn<void (i2p::transport::SSUServer::*)(std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*)> (i2p::transport::SSUServer*, std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*)>::__call<void, , 0ul, 1ul, 2ul>(std::tuple<>&&, std::_Index_tuple<0ul, 1ul, 2ul>) (__args=<optimized out>, this=0x7f5de96efd60) at /usr/include/c++/6/functional:934
No locals.
#15 std::_Bind<std::_Mem_fn<void (i2p::transport::SSUServer::*)(std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*)> (i2p::transport::SSUServer*, std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*)>::operator()<, void>() (this=0x7f5de96efd60)
    at /usr/include/c++/6/functional:993
No locals.
#16 boost::asio::asio_handler_invoke<std::_Bind<std::_Mem_fn<void (i2p::transport::SSUServer::*)(std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::p---Type <return> to continue, or q <return> to quit---
air<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*)> (i2p::transport::SSUServer*, std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*)> >(std::_Bind<std::_Mem_fn<void (i2p::transport::SSUServer::*)(std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*)> (i2p::transport::SSUServer*, std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*)>&, ...) (function=...) at /usr/include/boost/asio/handler_invoke_hook.hpp:69
No locals.
#17 boost_asio_handler_invoke_helpers::invoke<std::_Bind<std::_Mem_fn<void (i2p::transport::SSUServer::*)(std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*)> (i2p::transport::SSUServer*, std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*)>, std::_Bind<std::_Mem_fn<void (i2p::transport::SSUServer::*)(std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*)> (i2p::transport::SSUServer*, std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*)> >(std::_Bind<std::_Mem_fn<void (i2p::transport::SSUServer::*)(std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*)> (i2p::transport::SSUServer*, std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*)>&, std::_Bind<std::_Mem_fn<void (i2p::transport::SSUServer::*)(std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*)> (i2p::transport::SSUServer*, std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*)>&) (context=..., function=...) at /usr/include/boost/asio/detail/handler_invoke_helpers.hpp:37
No locals.
#18 boost::asio::detail::completion_handler<std::_Bind<std::_Mem_fn<void (i2p::transport::SSUServer::*)(std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*)> (i2p::transport::SSUServer*, std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*)> >::do_complete(boost::asio::detail::task_io_service*, boost::asio::detail::task_io_service_operation*, boost::system::error_code const&, unsigned long) (owner=<optimized out>, base=<optimized out>)
    at /usr/include/boost/asio/detail/completion_handler.hpp:68
        h = <optimized out>
        p = {h = <optimized out>, v = 0x0, p = 0x0}
        handler = {<std::_Weak_result_type<std::_Mem_fn<void (i2p::transport::SSUServer::*)(std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*)> >> = {<std::_Weak_result_type_impl<std::_Mem_fn<void (i2p::transport::SSUServer::*)(std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*)> >> = {<std::_Maybe_get_result_type<std::_Mem_fn<void (i2p::transport::SSUServer::*)(std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*)>, void>> = {<No data fields>}, <No data fields>}, <No data fields>},
          _M_f = {<std::_Mem_fn_base<void (i2p::transport::SSUServer::*)(std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*), true>> = {<std::_Maybe_unary_or_binary_function<void, i2p::transport::SSUServer*, std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*>> = {<No data fields>}, _M_pmf = (void (i2p::transport::SSUServer::*)(i2p::transport::SSUServer * const,
    std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >,
    std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::alloc---Type <return> to continue, or q <return> to quit---
ator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > > *)) 0x55dfdcb79ca0 <i2p::transport::SSUServer::HandleReceivedPackets(std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*)>}, <No data fields>}, _M_bound_args = std::tuple containing = {[1] = 0x55dfdfc27390, [2] = std::vector of length 1, capacity 1 = {0x7f5ddd8304a0},
            [3] = 0x55dfdfc275e0}}
#19 0x000055dfdcb7b8bd in boost::asio::detail::task_io_service_operation::complete (bytes_transferred=0, ec=..., owner=..., this=<optimized out>)
    at /usr/include/boost/asio/detail/task_io_service_operation.hpp:38
No locals.
#20 boost::asio::detail::task_io_service::do_run_one (ec=..., this_thread=..., lock=..., this=0x55dfdfc27740) at /usr/include/boost/asio/detail/impl/task_io_service.ipp:372
        task_result = 0
        on_exit = {task_io_service_ = 0x55dfdfc27740, lock_ = 0x7f5de96efe10, this_thread_ = 0x7f5de96efe90}
        more_handlers = <optimized out>
#21 boost::asio::detail::task_io_service::run (ec=..., this=0x55dfdfc27740) at /usr/include/boost/asio/detail/impl/task_io_service.ipp:149
        this_thread = {<boost::asio::detail::thread_info_base> = {<boost::asio::detail::noncopyable> = {<No data fields>}, reusable_memory_ = 0x0},
          private_op_queue = {<boost::asio::detail::noncopyable> = {<No data fields>}, front_ = 0x0, back_ = 0x0}, private_outstanding_work = 0}
        ctx = {<boost::asio::detail::noncopyable> = {<No data fields>}, key_ = 0x55dfdfc27740, value_ = 0x7f5de96efe90, next_ = 0x0}
        lock = {<boost::asio::detail::noncopyable> = {<No data fields>}, mutex_ = @0x55dfdfc27770, locked_ = false}
        n = <optimized out>
#22 boost::asio::io_service::run (this=0x55dfdfc273b0) at /usr/include/boost/asio/impl/io_service.ipp:59
        ec = {m_val = 0, m_cat = 0x7f5dedc130c8}
#23 i2p::transport::SSUServer::Run (this=0x55dfdfc27390) at libi2pd/SSU.cpp:155
No locals.
#24 0x00007f5decc75e6f in std::execute_native_thread_routine (__p=0x55dfdfc286a0) at ../../../../../src/libstdc++-v3/src/c++11/thread.cc:83
        __t = std::unique_ptr<std::thread::_State> containing 0x55dfdfc286a0
#25 0x00007f5ded1514a4 in start_thread (arg=0x7f5de96f0700) at pthread_create.c:456
        __res = <optimized out>
        pd = 0x7f5de96f0700
        now = <optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140041325053696, 8040680776290153618, 140734051800926, 140734051800927, 140041316663296, 3, -7985464547876653934, -7985472874904537966},
              mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = <optimized out>
        pagesize_m1 = <optimized out>
        sp = <optimized out>
        freesize = <optimized out>
        __PRETTY_FUNCTION__ = "start_thread"
#26 0x00007f5dec3ead0f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:97
No locals.
(gdb)
LLE8 commented 2 years ago

i2pd version 2.40.0-18-g0d6e8015 (0.9.52) Debian 10.11 64 bit Graceful shutdown

# gdb /usr/sbin/i2pd /var/lib/i2pd/core
GNU gdb (Debian 8.2.1-2+b3) 8.2.1
Copyright (C) 2018 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
    <http://www.gnu.org/software/gdb/documentation/>.

For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from /usr/sbin/i2pd...Reading symbols from /usr/lib/debug/.build-id/63/98fa98645a9bb7d7861f0321d07b3a778328e4.debug...done.
done.
[New LWP 15622]
[New LWP 15618]
[New LWP 15619]
[New LWP 15621]
[New LWP 15624]
[New LWP 15625]
[New LWP 15620]
[New LWP 15623]
[New LWP 15612]
[New LWP 15609]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Core was generated by `/usr/sbin/i2pd --conf=/etc/i2pd/i2pd.conf --tunconf=/etc/i2pd/tunnels.conf --tu'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0  0x0000000000000000 in ?? ()
[Current thread is 1 (Thread 0x7f556f7fe700 (LWP 15622))]
(gdb) bt full
#0  0x0000000000000000 in ?? ()
No symbol table info available.
#1  0x000055b4ba4e8cc7 in std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::_M_release (this=0x7f5564199950) at /usr/include/c++/8/bits/shared_ptr_base.h:148
No locals.
#2  std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::_M_release (this=0x7f5564199950) at /usr/include/c++/8/bits/shared_ptr_base.h:148
No locals.
#3  0x000055b4ba61b42d in std::__shared_count<(__gnu_cxx::_Lock_policy)2>::~__shared_count (this=0x7f556f7fdc48, __in_chrg=<optimized out>) at /usr/include/c++/8/bits/shared_ptr_base.h:1167
No locals.
#4  std::__shared_ptr<i2p::transport::SSUSession, (__gnu_cxx::_Lock_policy)2>::~__shared_ptr (this=0x7f556f7fdc40, __in_chrg=<optimized out>)
    at /usr/include/c++/8/bits/shared_ptr_base.h:1167
No locals.
#5  std::shared_ptr<i2p::transport::SSUSession>::~shared_ptr (this=0x7f556f7fdc40, __in_chrg=<optimized out>) at /usr/include/c++/8/bits/shared_ptr.h:103
No locals.
#6  i2p::transport::SSUServer::HandleReceivedPackets (this=0x55b4bc57a030, packets=std::vector of length 1, capacity 1 = {...}, sessions=<optimized out>) at libi2pd/SSU.cpp:392
        session = std::shared_ptr<i2p::transport::SSUSession> (use count -1, weak count -1) = {get() = 0x7f5564199960}
#7  0x000055b4ba6226d1 in std::__invoke_impl<void, void (i2p::transport::SSUServer::*&)(std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*), i2p::transport::SSUServer*&, std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >&, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*&> (
    __t=@0x7f556f7fdd80: 0x55b4bc57a030, __f=
    @0x7f556f7fdd50: (void (i2p::transport::SSUServer::*)(i2p::transport::SSUServer * const, std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > > *)) 0x55b4ba61b2a0 <i2p::transport::SSUServer::HandleReceivedPackets(std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*)>) at /usr/include/c++/8/bits/invoke.h:89
No locals.
#8  std::__invoke<void (i2p::transport::SSUServer::*&)(std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*), i2p::transport::SSUServer*&, std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >&, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*&> (__fn=
    @0x7f556f7fdd50: (void (i2p::transport::SSUServer::*)(i2p::transport::SSUServer * const, std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > > *)) 0x55b4ba61b2a0 <i2p::transport::SSUServer::HandleReceivedPackets(std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*)>) at /usr/include/c++/8/bits/invoke.h:95
No locals.
#9  std::_Bind<void (i2p::transport::SSUServer::*(i2p::transport::SSUServer*, std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*))(std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*)>::__call<void, , 0ul, 1ul, 2ul>(std::tuple<>&&, std::_Index_tuple<0ul, 1ul, 2ul>) (__args=..., this=0x7f556f7fdd50) at /usr/include/c++/8/functional:400
No locals.
#10 std::_Bind<void (i2p::transport::SSUServer::*(i2p::transport::SSUServer*, std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*))(std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*)>::operator()<, void>() (this=0x7f556f7fdd50)
    at /usr/include/c++/8/functional:484
No locals.
#11 boost::asio::asio_handler_invoke<std::_Bind<void (i2p::transport::SSUServer::*(i2p::transport::SSUServer*, std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::al--Type <RET> for more, q to quit, c to continue without paging--
locator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*))(std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*)> >(std::_Bind<void (i2p::transport::SSUServer::*(i2p::transport::SSUServer*, std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*))(std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*)>&, ...) (function=...) at /usr/include/boost/asio/handler_invoke_hook.hpp:69
No locals.
#12 boost_asio_handler_invoke_helpers::invoke<std::_Bind<void (i2p::transport::SSUServer::*(i2p::transport::SSUServer*, std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*))(std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*)>, std::_Bind<void (i2p::transport::SSUServer::*(i2p::transport::SSUServer*, std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*))(std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*)> >(std::_Bind<void (i2p::transport::SSUServer::*(i2p::transport::SSUServer*, std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*))(std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*)>&, std::_Bind<void (i2p::transport::SSUServer::*(i2p::transport::SSUServer*, std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*))(std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*)>&) (context=..., function=...)
    at /usr/include/boost/asio/detail/handler_invoke_helpers.hpp:37
No locals.
#13 boost::asio::detail::handler_work<std::_Bind<void (i2p::transport::SSUServer::*(i2p::transport::SSUServer*, std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*))(std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*)>, boost::asio::system_executor>::complete<std::_Bind<void (i2p::transport::SSUServer::*(i2p::transport::SSUServer*, std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*))(std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*)> >(std::_Bind<void (i2p::transport::SSUServer::*(i2p::transport::SSUServer*, std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*))(std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*)>&, std::_Bind<void (i2p::transport::SSUServer::*(i2p::transport::SSUServer*, std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*))(std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*)>&) (
    this=<synthetic pointer>, handler=..., function=...) at /usr/include/boost/asio/detail/handler_work.hpp:82
No locals.
#14 boost::asio::detail::completion_handler<std::_Bind<void (i2p::transport::SSUServer::*(i2p::transport::SSUServer*, std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*))(std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*)> >::do_complete(void*, boost::a--Type <RET> for more, q to quit, c to continue without paging--
sio::detail::scheduler_operation*, boost::system::error_code const&, unsigned long) (owner=<optimized out>, base=0x7f5560085a10) at /usr/include/boost/asio/detail/completion_handler.hpp:70
        b = <optimized out>
        h = 0x7f5560085a10
        p = {h = 0x7f556f7fdd50, v = 0x0, p = 0x0}
        w = <optimized out>
        handler = {<std::_Weak_result_type<void (i2p::transport::SSUServer::*)(std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*)>> = {<std::_Weak_result_type_memfun<void (i2p::transport::SSUServer::*)(std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*), true>> = {<No data fields>}, <No data fields>}, _M_f = (void (i2p::transport::SSUServer::*)(i2p::transport::SSUServer * const,
    std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >,
    std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > > *)) 0x55b4ba61b2a0 <i2p::transport::SSUServer::HandleReceivedPackets(std::vector<i2p::transport::SSUPacket*, std::allocator<i2p::transport::SSUPacket*> >, std::map<boost::asio::ip::basic_endpoint<boost::asio::ip::udp>, std::shared_ptr<i2p::transport::SSUSession>, std::less<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> >, std::allocator<std::pair<boost::asio::ip::basic_endpoint<boost::asio::ip::udp> const, std::shared_ptr<i2p::transport::SSUSession> > > >*)>, _M_bound_args = std::tuple containing = {[1] = 0x55b4bc57a030, [2] = std::vector of length 1, capacity 1 = {0x7f556004e340}, [3] = 0x55b4bc57a280}}
#15 0x000055b4ba6181c8 in boost::asio::detail::scheduler_operation::complete (bytes_transferred=0, ec=..., owner=0x55b4bc57a3e0, this=<optimized out>)
    at /usr/include/boost/asio/detail/scheduler_operation.hpp:40
No locals.
#16 boost::asio::detail::scheduler::do_run_one (ec=..., this_thread=..., lock=..., this=0x55b4bc57a3e0) at /usr/include/boost/asio/detail/impl/scheduler.ipp:401
        task_result = 0
        on_exit = {scheduler_ = 0x55b4bc57a3e0, lock_ = 0x7f556f7fde00, this_thread_ = 0x7f556f7fde70}
        o = <optimized out>
        more_handlers = true
#17 boost::asio::detail::scheduler::run (ec=..., this=0x55b4bc57a3e0) at /usr/include/boost/asio/detail/impl/scheduler.ipp:154
        this_thread = {<boost::asio::detail::thread_info_base> = {<boost::asio::detail::noncopyable> = {<No data fields>}, reusable_memory_ = {0x0, 0x0}},
          private_op_queue = {<boost::asio::detail::noncopyable> = {<No data fields>}, front_ = 0x0, back_ = 0x0}, private_outstanding_work = 0}
        ctx = {<boost::asio::detail::noncopyable> = {<No data fields>}, key_ = 0x55b4bc57a3e0, value_ = 0x7f556f7fde70, next_ = 0x0}
        lock = {<boost::asio::detail::noncopyable> = {<No data fields>}, mutex_ = @0x55b4bc57a410, locked_ = false}
        n = <optimized out>
        this_thread = <optimized out>
        ctx = <optimized out>
        lock = <optimized out>
        n = <optimized out>
#18 boost::asio::io_context::run (this=0x55b4bc57a050) at /usr/include/boost/asio/impl/io_context.ipp:62
        ec = {m_val = 0, m_cat = 0x7f5576b5b070}
        s = <optimized out>
        ec = <optimized out>
        s = <optimized out>
#19 i2p::transport::SSUServer::Run (this=0x55b4bc57a030) at libi2pd/SSU.cpp:155
No locals.
#20 0x00007f55769a0b2f in ?? () from /lib/x86_64-linux-gnu/libstdc++.so.6
No symbol table info available.
#21 0x00007f5576a80fa3 in start_thread (arg=<optimized out>) at pthread_create.c:486
        ret = <optimized out>
        pd = <optimized out>
        now = <optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140004919600896, 8191668616068056335, 140736916469694, 140736916469695, 140004919600896, 140736916470160, -8141248310297770737,
                -8141300431329311473}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = <optimized out>
#22 0x00007f557667e4cf in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
No locals.
(gdb) info threads
  Id   Target Id                         Frame
* 1    Thread 0x7f556f7fe700 (LWP 15622) 0x0000000000000000 in ?? ()
  2    Thread 0x7f5575cef700 (LWP 15618) futex_abstimed_wait_cancelable (private=0, abstime=0x7f5575ceecd0, expected=0, futex_word=0x55b4ba79d2bc <i2p::data::netdb+444>)
    at ../sysdeps/unix/sysv/linux/futex-internal.h:205
  3    Thread 0x7f55754ee700 (LWP 15619) futex_wait_cancelable (private=0, expected=0, futex_word=0x55b4ba79ce30 <i2p::transport::transports+304>)
    at ../sysdeps/unix/sysv/linux/futex-internal.h:88
  4    Thread 0x7f556ffff700 (LWP 15621) 0x00007f557667e7ef in epoll_wait (epfd=9, events=events@entry=0x7f556fffe780, maxevents=maxevents@entry=128, timeout=-1)
    at ../sysdeps/unix/sysv/linux/epoll_wait.c:30
  5    Thread 0x7f556e7fc700 (LWP 15624) 0x00007f557667e7ef in epoll_wait (epfd=15, events=events@entry=0x7f556e7fb780, maxevents=maxevents@entry=128, timeout=-1)
    at ../sysdeps/unix/sysv/linux/epoll_wait.c:30
  6    Thread 0x7f556dffb700 (LWP 15625) 0x00007f557667e7ef in epoll_wait (epfd=25, events=events@entry=0x7f556dffa780, maxevents=maxevents@entry=128, timeout=-1)
    at ../sysdeps/unix/sysv/linux/epoll_wait.c:30
  7    Thread 0x7f5574ced700 (LWP 15620) 0x00007f557667e7ef in epoll_wait (epfd=6, events=events@entry=0x7f5574cec730, maxevents=maxevents@entry=128, timeout=-1)
    at ../sysdeps/unix/sysv/linux/epoll_wait.c:30
  8    Thread 0x7f556effd700 (LWP 15623) 0x00007f557667e7ef in epoll_wait (epfd=12, events=events@entry=0x7f556effc780, maxevents=maxevents@entry=128, timeout=-1)
    at ../sysdeps/unix/sysv/linux/epoll_wait.c:30
  9    Thread 0x7f55764f0700 (LWP 15612) futex_wait_cancelable (private=0, expected=0, futex_word=0x55b4ba79d820 <i2p::log::logger+288>) at ../sysdeps/unix/sysv/linux/futex-internal.h:88
  10   Thread 0x7f5576571740 (LWP 15609) __lll_unlock_wake_private () at ../sysdeps/unix/sysv/linux/x86_64/lowlevellock.S:309
(gdb)
r4sas commented 2 years ago

Я думаю безсмысленно кидать сообщения о падениях при остановке с участием SSU... ибо одно и то же в логе постоянно.

LLE8 commented 2 years ago

Мне казалось, что тот баг с участием SSU давно исправлен

r4sas commented 2 years ago

Он вроде был исправлен для случая падения при отсутствии транзита вообще. А грейсфул такой, что в момент окончания таймера еще могут оставаться транзитные туннели, у которых время почти закончилось.

r4sas commented 1 year ago

SSU в скором времени будет выведен из обращения у нас (если быть точнее - после следующего релиза), поэтому закрываю этот иссуй ибо сомневаюсь что чего-либо будет делаться в этом направлении.

LLE8 commented 1 year ago

Может кто-то найдет что-то полезное Debian 11.6 64 bit i2pd version 2.45.1-86-g86fc12e3 (0.9.57) i2pd.conf незначительно изменен nettime.frompeers = false nat = false bandwidth = X notransit = false floodfill = false transittunnels = 16000 Uptime приблизительно 1 час systemctl stop i2pd

~# gdb /usr/sbin/i2pd -c /var/lib/i2pd/core
GNU gdb (Debian 10.1-1.7) 10.1.90.20210103-git
Copyright (C) 2021 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<https://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
    <http://www.gnu.org/software/gdb/documentation/>.

For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from /usr/sbin/i2pd...
Reading symbols from /usr/lib/debug/.build-id/e2/b44ae575a1e531013d31c454380bfc011b5196.debug...
[New LWP 381]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Core was generated by `/usr/sbin/i2pd --conf=/etc/i2pd/i2pd.conf --tunconf=/etc/i2pd/tunnels.conf --tu'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0  boost::asio::detail::epoll_reactor::deregister_descriptor (this=0x4653494641665956, descriptor=13, descriptor_data=@0x7fbd400cf438: 0x7fbd40176f30, closing=<optimized out>)
    at /usr/include/boost/asio/detail/impl/epoll_reactor.ipp:363
363           epoll_event ev = { 0, { 0 } };
(gdb) info threads
  Id   Target Id                       Frame
* 1    Thread 0x7fbd5beebc80 (LWP 381) boost::asio::detail::epoll_reactor::deregister_descriptor (this=0x4653494641665956, descriptor=13, descriptor_data=@0x7fbd400cf438: 0x7fbd40176f30, closing=<optimized out>)
    at /usr/include/boost/asio/detail/impl/epoll_reactor.ipp:363
(gdb) bt full
#0  boost::asio::detail::epoll_reactor::deregister_descriptor (this=0x4653494641665956, descriptor=13, descriptor_data=@0x7fbd400cf438: 0x7fbd40176f30, closing=<optimized out>)
    at /usr/include/boost/asio/detail/impl/epoll_reactor.ipp:363
        ev = {events = 1080496800, data = {ptr = 0x400cf3a000007fbd, fd = 32701, u32 = 32701, u64 = 4615331586668265405}}
        ops = {<boost::asio::detail::noncopyable> = {<No data fields>}, front_ = 0x7fbd40496730, back_ = 0x7fbd400cf5b8}
        descriptor_lock = {<boost::asio::detail::noncopyable> = {<No data fields>}, mutex_ = <optimized out>, locked_ = <optimized out>}
#1  0x000055d77733c33b in boost::asio::detail::reactive_socket_service_base::destroy (impl=..., this=<optimized out>) at /usr/include/boost/asio/detail/impl/reactive_socket_service_base.ipp:89
        ignored_ec = {val_ = 2023409072, failed_ = 215, cat_ = 0x2458af2209298e00}
#2  boost::asio::detail::io_object_impl<boost::asio::detail::reactive_socket_service<boost::asio::ip::tcp>, boost::asio::execution::any_executor<boost::asio::execution::context_as_t<boost::asio::execution_context&>, boost::asio::execution::detail::blocking::never_t<0>, boost::asio::execution::prefer_only<boost::asio::execution::detail::blocking::possibly_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::tracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::untracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::fork_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::continuation_t<0> > > >::~io_object_impl (this=0x7fbd400cf428, __in_chrg=<optimized out>) at /usr/include/boost/asio/detail/io_object_impl.hpp:90
No locals.
#3  boost::asio::basic_socket<boost::asio::ip::tcp, boost::asio::execution::any_executor<boost::asio::execution::context_as_t<boost::asio::execution_context&>, boost::asio::execution::detail::blocking::never_t<0>, boost::asio::execution::prefer_only<boost::asio::execution::detail::blocking::possibly_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::tracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::untracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::fork_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::continuation_t<0> > > >::~basic_socket (this=0x7fbd400cf428, __in_chrg=<optimized out>) at /usr/include/boost/asio/basic_socket.hpp:1797
No locals.
#4  boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::execution::any_executor<boost::asio::execution::context_as_t<boost::asio::execution_context&>, boost::asio::execution::detail::blocking::never_t<0>, boost::asio::execution::prefer_only<boost::asio::execution::detail::blocking::possibly_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::tracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::untracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::fork_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::continuation_t<0> > > >::~basic_stream_socket (this=0x7fbd400cf428, __in_chrg=<optimized out>) at /usr/include/boost/asio/basic_stream_socket.hpp:331
No locals.
#5  i2p::transport::NTCP2Session::~NTCP2Session (this=0x7fbd400cf3a0, __in_chrg=<optimized out>) at libi2pd/NTCP2.cpp:353
No locals.
#6  0x000055d7772fbcbe in std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::_M_release (this=0x7fbd400cf390) at /usr/include/c++/10/bits/shared_ptr_base.h:158
No locals.
#7  std::__shared_count<(__gnu_cxx::_Lock_policy)2>::~__shared_count (this=0x7fbd380ff398, __in_chrg=<optimized out>) at /usr/include/c++/10/bits/shared_ptr_base.h:733
No locals.
#8  std::__shared_ptr<i2p::transport::TransportSession, (__gnu_cxx::_Lock_policy)2>::~__shared_ptr (this=0x7fbd380ff390, __in_chrg=<optimized out>) at /usr/include/c++/10/bits/shared_ptr_base.h:1183
No locals.
#9  std::shared_ptr<i2p::transport::TransportSession>::~shared_ptr (this=0x7fbd380ff390, __in_chrg=<optimized out>) at /usr/include/c++/10/bits/shared_ptr.h:121
No locals.
#10 __gnu_cxx::new_allocator<std::_List_node<std::shared_ptr<i2p::transport::TransportSession> > >::destroy<std::shared_ptr<i2p::transport::TransportSession> > (__p=0x7fbd380ff390, this=0x7fbd3816b290)
    at /usr/include/c++/10/ext/new_allocator.h:156
No locals.
#11 std::allocator_traits<std::allocator<std::_List_node<std::shared_ptr<i2p::transport::TransportSession> > > >::destroy<std::shared_ptr<i2p::transport::TransportSession> > (__p=0x7fbd380ff390, __a=...)
    at /usr/include/c++/10/bits/alloc_traits.h:531
No locals.
#12 std::__cxx11::_List_base<std::shared_ptr<i2p::transport::TransportSession>, std::allocator<std::shared_ptr<i2p::transport::TransportSession> > >::_M_clear (this=0x7fbd3816b290) at /usr/include/c++/10/bits/list.tcc:77
        __tmp = 0x7fbd380ff380
        __val = 0x7fbd380ff390
        __cur = 0x7fbd3816b290
        __cur = <optimized out>
        __tmp = <optimized out>
        __val = <optimized out>
#13 std::__cxx11::_List_base<std::shared_ptr<i2p::transport::TransportSession>, std::allocator<std::shared_ptr<i2p::transport::TransportSession> > >::~_List_base (this=0x7fbd3816b290, __in_chrg=<optimized out>)
    at /usr/include/c++/10/bits/stl_list.h:499
No locals.
#14 std::__cxx11::list<std::shared_ptr<i2p::transport::TransportSession>, std::allocator<std::shared_ptr<i2p::transport::TransportSession> > >::~list (this=0x7fbd3816b290, __in_chrg=<optimized out>)
    at /usr/include/c++/10/bits/stl_list.h:827
No locals.
#15 i2p::transport::Peer::~Peer (this=0x7fbd3816b278, __in_chrg=<optimized out>) at libi2pd/Transports.h:67
No locals.
#16 std::pair<i2p::data::Tag<32ul> const, i2p::transport::Peer>::~pair (this=0x7fbd3816b258, __in_chrg=<optimized out>) at /usr/include/c++/10/bits/stl_pair.h:211
No locals.
#17 __gnu_cxx::new_allocator<std::__detail::_Hash_node<std::pair<i2p::data::Tag<32ul> const, i2p::transport::Peer>, true> >::destroy<std::pair<i2p::data::Tag<32ul> const, i2p::transport::Peer> > (__p=0x7fbd3816b258,
    this=<optimized out>) at /usr/include/c++/10/ext/new_allocator.h:156
No locals.
#18 std::allocator_traits<std::allocator<std::__detail::_Hash_node<std::pair<i2p::data::Tag<32ul> const, i2p::transport::Peer>, true> > >::destroy<std::pair<i2p::data::Tag<32ul> const, i2p::transport::Peer> > (__p=0x7fbd3816b258,
    __a=...) at /usr/include/c++/10/bits/alloc_traits.h:531
No locals.
#19 std::__detail::_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<i2p::data::Tag<32ul> const, i2p::transport::Peer>, true> > >::_M_deallocate_node (__n=0x7fbd3816b250, this=<optimized out>)
--Type <RET> for more, q to quit, c to continue without paging--
    at /usr/include/c++/10/bits/hashtable_policy.h:2053
No locals.
#20 std::__detail::_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<i2p::data::Tag<32ul> const, i2p::transport::Peer>, true> > >::_M_deallocate_nodes (this=0x55d7775186b0 <i2p::transport::transports+112>,
    __n=0x7fbd381be670) at /usr/include/c++/10/bits/hashtable_policy.h:2075
        __tmp = 0x7fbd3816b250
#21 std::_Hashtable<i2p::data::Tag<32ul>, std::pair<i2p::data::Tag<32ul> const, i2p::transport::Peer>, std::allocator<std::pair<i2p::data::Tag<32ul> const, i2p::transport::Peer> >, std::__detail::_Select1st, std::equal_to<i2p::data::Tag<32ul> >, std::hash<i2p::data::Tag<32ul> >, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, true> >::clear (
    this=this@entry=0x55d7775186b0 <i2p::transport::transports+112>) at /usr/include/c++/10/bits/hashtable.h:2030
No locals.
#22 0x000055d7772f12da in std::unordered_map<i2p::data::Tag<32ul>, i2p::transport::Peer, std::hash<i2p::data::Tag<32ul> >, std::equal_to<i2p::data::Tag<32ul> >, std::allocator<std::pair<i2p::data::Tag<32ul> const, i2p::transport::Peer> > >::clear (this=0x55d7775186b0 <i2p::transport::transports+112>) at /usr/include/c++/10/bits/unordered_map.h:842
No locals.
#23 i2p::transport::Transports::Stop (this=this@entry=0x55d777518640 <i2p::transport::transports>) at libi2pd/Transports.cpp:323
No locals.
#24 0x000055d7772f1512 in i2p::transport::Transports::~Transports (this=0x55d777518640 <i2p::transport::transports>, __in_chrg=<optimized out>) at libi2pd/Transports.cpp:152
No locals.
#25 0x00007fbd5bf304d7 in __run_exit_handlers (status=0, listp=0x7fbd5c0c4718 <__exit_funcs>, run_list_atexit=run_list_atexit@entry=true, run_dtors=run_dtors@entry=true) at exit.c:108
        atfct = <optimized out>
        onfct = <optimized out>
        cxafct = <optimized out>
        f = <optimized out>
        new_exitfn_called = 185
        cur = 0x55d7786525d0
        restart = <optimized out>
#26 0x00007fbd5bf3067a in __GI_exit (status=<optimized out>) at exit.c:139
No locals.
#27 0x00007fbd5bf18d11 in __libc_start_main (main=0x55d777180450 <main(int, char**)>, argc=8, argv=0x7ffce8e2d648, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7ffce8e2d638)
    at ../csu/libc-start.c:342
        result = <optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {0, -7213244401618554516, 94383904589424, 0, 0, 0, -3480623707142786708, -3516975909582835348}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x8, 0x7ffce8e2d648}, data = {prev = 0x0,
              cleanup = 0x0, canceltype = 8}}}
        not_first_call = <optimized out>
#28 0x000055d7771b069a in _start ()
No symbol table info available.
(gdb)
orignal commented 1 year ago

Опять при остановке?

LLE8 commented 1 year ago

Да, но не graceful, а systemctl stop i2pd

LLE8 commented 1 year ago

повторяется i2pd version 2.45.1-97-g1ad38c0b systemctl stop i2pd

~# gdb /usr/sbin/i2pd -c /var/lib/i2pd/core
GNU gdb (Debian 10.1-1.7) 10.1.90.20210103-git
Copyright (C) 2021 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<https://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
    <http://www.gnu.org/software/gdb/documentation/>.

For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from /usr/sbin/i2pd...
Reading symbols from /usr/lib/debug/.build-id/a9/d3085bcb6cb2350e5e13822457490ce6e7e209.debug...
[New LWP 3623]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Core was generated by `/usr/sbin/i2pd --conf=/etc/i2pd/i2pd.conf --tunconf=/etc/i2pd/tunnels.conf --tu'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0  boost::asio::detail::epoll_reactor::deregister_descriptor (this=0x3930386a6f537362, descriptor=15, descriptor_data=@0x7fd51037cf98: 0x7fd5141293c0, closing=<optimized out>)
    at /usr/include/boost/asio/detail/impl/epoll_reactor.ipp:363
363           epoll_event ev = { 0, { 0 } };
(gdb) info threads
  Id   Target Id                        Frame
* 1    Thread 0x7fd53011bc80 (LWP 3623) boost::asio::detail::epoll_reactor::deregister_descriptor (this=0x3930386a6f537362, descriptor=15, descriptor_data=@0x7fd51037cf98: 0x7fd5141293c0, closing=<optimized out>)
    at /usr/include/boost/asio/detail/impl/epoll_reactor.ipp:363
(gdb) bt full
#0  boost::asio::detail::epoll_reactor::deregister_descriptor (this=0x3930386a6f537362, descriptor=15, descriptor_data=@0x7fd51037cf98: 0x7fd5141293c0, closing=<optimized out>)
    at /usr/include/boost/asio/detail/impl/epoll_reactor.ipp:363
        ev = {events = 269142048, data = {ptr = 0x1037cf0000007fd5, fd = 32725, u32 = 32725, u64 = 1168630227232915413}}
        ops = {<boost::asio::detail::noncopyable> = {<No data fields>}, front_ = 0x7fd510480690, back_ = 0x7fd51037d118}
        descriptor_lock = {<boost::asio::detail::noncopyable> = {<No data fields>}, mutex_ = <optimized out>, locked_ = <optimized out>}
#1  0x0000563f1095b01b in boost::asio::detail::reactive_socket_service_base::destroy (impl=..., this=<optimized out>) at /usr/include/boost/asio/detail/impl/reactive_socket_service_base.ipp:89
        ignored_ec = {val_ = 76415872, failed_ = 213, cat_ = 0xcfc315bec00e4800}
#2  boost::asio::detail::io_object_impl<boost::asio::detail::reactive_socket_service<boost::asio::ip::tcp>, boost::asio::execution::any_executor<boost::asio::execution::context_as_t<boost::asio::execution_context&>, boost::asio::execution::detail::blocking::never_t<0>, boost::asio::execution::prefer_only<boost::asio::execution::detail::blocking::possibly_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::tracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::untracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::fork_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::continuation_t<0> > > >::~io_object_impl (this=0x7fd51037cf88, __in_chrg=<optimized out>) at /usr/include/boost/asio/detail/io_object_impl.hpp:90
No locals.
#3  boost::asio::basic_socket<boost::asio::ip::tcp, boost::asio::execution::any_executor<boost::asio::execution::context_as_t<boost::asio::execution_context&>, boost::asio::execution::detail::blocking::never_t<0>, boost::asio::execution::prefer_only<boost::asio::execution::detail::blocking::possibly_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::tracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::untracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::fork_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::continuation_t<0> > > >::~basic_socket (this=0x7fd51037cf88, __in_chrg=<optimized out>) at /usr/include/boost/asio/basic_socket.hpp:1797
No locals.
#4  boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::execution::any_executor<boost::asio::execution::context_as_t<boost::asio::execution_context&>, boost::asio::execution::detail::blocking::never_t<0>, boost::asio::execution::prefer_only<boost::asio::execution::detail::blocking::possibly_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::tracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::untracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::fork_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::continuation_t<0> > > >::~basic_stream_socket (this=0x7fd51037cf88, __in_chrg=<optimized out>) at /usr/include/boost/asio/basic_stream_socket.hpp:331
No locals.
#5  i2p::transport::NTCP2Session::~NTCP2Session (this=0x7fd51037cf00, __in_chrg=<optimized out>) at libi2pd/NTCP2.cpp:353
No locals.
#6  0x0000563f1091a99e in std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::_M_release (this=0x7fd51037cef0) at /usr/include/c++/10/bits/shared_ptr_base.h:158
No locals.
#7  std::__shared_count<(__gnu_cxx::_Lock_policy)2>::~__shared_count (this=0x7fd504444ff8, __in_chrg=<optimized out>) at /usr/include/c++/10/bits/shared_ptr_base.h:733
No locals.
#8  std::__shared_ptr<i2p::transport::TransportSession, (__gnu_cxx::_Lock_policy)2>::~__shared_ptr (this=0x7fd504444ff0, __in_chrg=<optimized out>) at /usr/include/c++/10/bits/shared_ptr_base.h:1183
No locals.
#9  std::shared_ptr<i2p::transport::TransportSession>::~shared_ptr (this=0x7fd504444ff0, __in_chrg=<optimized out>) at /usr/include/c++/10/bits/shared_ptr.h:121
No locals.
#10 __gnu_cxx::new_allocator<std::_List_node<std::shared_ptr<i2p::transport::TransportSession> > >::destroy<std::shared_ptr<i2p::transport::TransportSession> > (__p=0x7fd504444ff0, this=0x7fd51419a1f0)
    at /usr/include/c++/10/ext/new_allocator.h:156
No locals.
#11 std::allocator_traits<std::allocator<std::_List_node<std::shared_ptr<i2p::transport::TransportSession> > > >::destroy<std::shared_ptr<i2p::transport::TransportSession> > (__p=0x7fd504444ff0, __a=...)
    at /usr/include/c++/10/bits/alloc_traits.h:531
No locals.
#12 std::__cxx11::_List_base<std::shared_ptr<i2p::transport::TransportSession>, std::allocator<std::shared_ptr<i2p::transport::TransportSession> > >::_M_clear (this=0x7fd51419a1f0) at /usr/include/c++/10/bits/list.tcc:77
        __tmp = 0x7fd504444fe0
        __val = 0x7fd504444ff0
        __cur = 0x7fd51419a1f0
        __cur = <optimized out>
        __tmp = <optimized out>
        __val = <optimized out>
#13 std::__cxx11::_List_base<std::shared_ptr<i2p::transport::TransportSession>, std::allocator<std::shared_ptr<i2p::transport::TransportSession> > >::~_List_base (this=0x7fd51419a1f0, __in_chrg=<optimized out>)
    at /usr/include/c++/10/bits/stl_list.h:499
No locals.
#14 std::__cxx11::list<std::shared_ptr<i2p::transport::TransportSession>, std::allocator<std::shared_ptr<i2p::transport::TransportSession> > >::~list (this=0x7fd51419a1f0, __in_chrg=<optimized out>)
    at /usr/include/c++/10/bits/stl_list.h:827
No locals.
#15 i2p::transport::Peer::~Peer (this=0x7fd51419a1d8, __in_chrg=<optimized out>) at libi2pd/Transports.h:67
No locals.
#16 std::pair<i2p::data::Tag<32ul> const, i2p::transport::Peer>::~pair (this=0x7fd51419a1b8, __in_chrg=<optimized out>) at /usr/include/c++/10/bits/stl_pair.h:211
No locals.
#17 __gnu_cxx::new_allocator<std::__detail::_Hash_node<std::pair<i2p::data::Tag<32ul> const, i2p::transport::Peer>, true> >::destroy<std::pair<i2p::data::Tag<32ul> const, i2p::transport::Peer> > (__p=0x7fd51419a1b8,
    this=<optimized out>) at /usr/include/c++/10/ext/new_allocator.h:156
No locals.
#18 std::allocator_traits<std::allocator<std::__detail::_Hash_node<std::pair<i2p::data::Tag<32ul> const, i2p::transport::Peer>, true> > >::destroy<std::pair<i2p::data::Tag<32ul> const, i2p::transport::Peer> > (__p=0x7fd51419a1b8,
    __a=...) at /usr/include/c++/10/bits/alloc_traits.h:531
No locals.
#19 std::__detail::_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<i2p::data::Tag<32ul> const, i2p::transport::Peer>, true> > >::_M_deallocate_node (__n=0x7fd51419a1b0, this=<optimized out>)
--Type <RET> for more, q to quit, c to continue without paging--
    at /usr/include/c++/10/bits/hashtable_policy.h:2053
No locals.
#20 std::__detail::_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<i2p::data::Tag<32ul> const, i2p::transport::Peer>, true> > >::_M_deallocate_nodes (this=0x563f10b376f0 <i2p::transport::transports+112>,
    __n=0x7fd5140c4e20) at /usr/include/c++/10/bits/hashtable_policy.h:2075
        __tmp = 0x7fd51419a1b0
#21 std::_Hashtable<i2p::data::Tag<32ul>, std::pair<i2p::data::Tag<32ul> const, i2p::transport::Peer>, std::allocator<std::pair<i2p::data::Tag<32ul> const, i2p::transport::Peer> >, std::__detail::_Select1st, std::equal_to<i2p::data::Tag<32ul> >, std::hash<i2p::data::Tag<32ul> >, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, true> >::clear (
    this=this@entry=0x563f10b376f0 <i2p::transport::transports+112>) at /usr/include/c++/10/bits/hashtable.h:2030
No locals.
#22 0x0000563f1090ffba in std::unordered_map<i2p::data::Tag<32ul>, i2p::transport::Peer, std::hash<i2p::data::Tag<32ul> >, std::equal_to<i2p::data::Tag<32ul> >, std::allocator<std::pair<i2p::data::Tag<32ul> const, i2p::transport::Peer> > >::clear (this=0x563f10b376f0 <i2p::transport::transports+112>) at /usr/include/c++/10/bits/unordered_map.h:842
No locals.
#23 i2p::transport::Transports::Stop (this=this@entry=0x563f10b37680 <i2p::transport::transports>) at libi2pd/Transports.cpp:323
No locals.
#24 0x0000563f109101f2 in i2p::transport::Transports::~Transports (this=0x563f10b37680 <i2p::transport::transports>, __in_chrg=<optimized out>) at libi2pd/Transports.cpp:152
No locals.
#25 0x00007fd5301604d7 in __run_exit_handlers (status=0, listp=0x7fd5302f4718 <__exit_funcs>, run_list_atexit=run_list_atexit@entry=true, run_dtors=run_dtors@entry=true) at exit.c:108
        atfct = <optimized out>
        onfct = <optimized out>
        cxafct = <optimized out>
        f = <optimized out>
        new_exitfn_called = 186
        cur = 0x563f111955d0
        restart = <optimized out>
#26 0x00007fd53016067a in __GI_exit (status=<optimized out>) at exit.c:139
No locals.
#27 0x00007fd530148d11 in __libc_start_main (main=0x563f1079e490 <main(int, char**)>, argc=8, argv=0x7ffe1934c008, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7ffe1934bff8)
    at ../csu/libc-start.c:342
        result = <optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {0, 4753735041227826933, 94828859549472, 0, 0, 0, 1331583310676502261, 1309678564558251765}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x8, 0x7ffe1934c008}, data = {prev = 0x0,
              cleanup = 0x0, canceltype = 8}}}
        not_first_call = <optimized out>
#28 0x0000563f107ce74a in _start ()
No symbol table info available.
(gdb)
LLE8 commented 1 year ago

И graceful shutdown тоже i2pd version 2.45.1-97-g1ad38c0b

~# gdb /usr/sbin/i2pd  -c /var/lib/i2pd/core
GNU gdb (Debian 10.1-1.7) 10.1.90.20210103-git
Copyright (C) 2021 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<https://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
    <http://www.gnu.org/software/gdb/documentation/>.

For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from /usr/sbin/i2pd...
Reading symbols from /usr/lib/debug/.build-id/27/7ee15c4c13d9b249e985a51f699327470dc33e.debug...
[New LWP 43075]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Core was generated by `/usr/sbin/i2pd --conf=/etc/i2pd/i2pd.conf --tunconf=/etc/i2pd/tunnels.conf --tu'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0  boost::asio::detail::epoll_reactor::deregister_descriptor (this=0x6e52426d77644f75, descriptor=12,
    descriptor_data=@0x7fd030122a68: 0x7fd0300e3930, closing=<optimized out>)
    at /usr/include/boost/asio/detail/impl/epoll_reactor.ipp:363
363           epoll_event ev = { 0, { 0 } };
(gdb) info threads
  Id   Target Id                         Frame
* 1    Thread 0x7fd0505ddc80 (LWP 43075) boost::asio::detail::epoll_reactor::deregister_descriptor (
    this=0x6e52426d77644f75, descriptor=12, descriptor_data=@0x7fd030122a68: 0x7fd0300e3930,
    closing=<optimized out>) at /usr/include/boost/asio/detail/impl/epoll_reactor.ipp:363
(gdb) bt full
#0  boost::asio::detail::epoll_reactor::deregister_descriptor (this=0x6e52426d77644f75, descriptor=12,
    descriptor_data=@0x7fd030122a68: 0x7fd0300e3930, closing=<optimized out>)
    at /usr/include/boost/asio/detail/impl/epoll_reactor.ipp:363
        ev = {events = 940607168, data = {ptr = 0x301229d000007fd0, fd = 32720, u32 = 32720,
            u64 = 3463877036731301840}}
        ops = {<boost::asio::detail::noncopyable> = {<No data fields>}, front_ = 0x7fd030015380,
          back_ = 0x7fd030122be8}
        descriptor_lock = {<boost::asio::detail::noncopyable> = {<No data fields>},
          mutex_ = <optimized out>, locked_ = <optimized out>}
#1  0x00005564e6ff455b in boost::asio::detail::reactive_socket_service_base::destroy (impl=...,
    this=<optimized out>) at /usr/include/boost/asio/detail/impl/reactive_socket_service_base.ipp:89
        ignored_ec = {val_ = 622221392, failed_ = 208, cat_ = 0x6bd19c1a04dae00}
#2  boost::asio::detail::io_object_impl<boost::asio::detail::reactive_socket_service<boost::asio::ip::tcp>, boost::asio::execution::any_executor<boost::asio::execution::context_as_t<boost::asio::execution_context&>, boost::asio::execution::detail::blocking::never_t<0>, boost::asio::execution::prefer_only<boost::asio::execution::detail::blocking::possibly_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::tracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::untracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::fork_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::continuation_t<0> > > >::~io_object_impl (this=0x7fd030122a58, __in_chrg=<optimized out>)
    at /usr/include/boost/asio/detail/io_object_impl.hpp:90
No locals.
#3  boost::asio::basic_socket<boost::asio::ip::tcp, boost::asio::execution::any_executor<boost::asio::execution::context_as_t<boost::asio::execution_context&>, boost::asio::execution::detail::blocking::never_t<0>, boost::asio::execution::prefer_only<boost::asio::execution::detail::blocking::possibly_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::tracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::untracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::fork_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::continuation_t<0> > > >::~basic_socket (
    this=0x7fd030122a58, __in_chrg=<optimized out>) at /usr/include/boost/asio/basic_socket.hpp:1797
No locals.
#4  boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::execution::any_executor<boost::asio::execution::context_as_t<boost::asio::execution_context&>, boost::asio::execution::detail::blocking::never_t<0>, boost::asio::execution::prefer_only<boost::asio::execution::detail::blocking::possibly_t<0> >, bo--Type <RET> for more, q to quit, c to continue without paging--
ost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::tracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::untracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::fork_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::continuation_t<0> > > >::~basic_stream_socket (this=0x7fd030122a58, __in_chrg=<optimized out>)
    at /usr/include/boost/asio/basic_stream_socket.hpp:331
No locals.
#5  i2p::transport::NTCP2Session::~NTCP2Session (this=0x7fd0301229d0, __in_chrg=<optimized out>)
    at libi2pd/NTCP2.cpp:353
No locals.
#6  0x00005564e6fb299e in std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::_M_release (
    this=0x7fd0301229c0) at /usr/include/c++/10/bits/shared_ptr_base.h:158
No locals.
#7  std::__shared_count<(__gnu_cxx::_Lock_policy)2>::~__shared_count (this=0x7fd0300ba248,
    __in_chrg=<optimized out>) at /usr/include/c++/10/bits/shared_ptr_base.h:733
No locals.
#8  std::__shared_ptr<i2p::transport::TransportSession, (__gnu_cxx::_Lock_policy)2>::~__shared_ptr (
    this=0x7fd0300ba240, __in_chrg=<optimized out>) at /usr/include/c++/10/bits/shared_ptr_base.h:1183
No locals.
#9  std::shared_ptr<i2p::transport::TransportSession>::~shared_ptr (this=0x7fd0300ba240,
    __in_chrg=<optimized out>) at /usr/include/c++/10/bits/shared_ptr.h:121
No locals.
#10 __gnu_cxx::new_allocator<std::_List_node<std::shared_ptr<i2p::transport::TransportSession> > >::destroy<std::shared_ptr<i2p::transport::TransportSession> > (__p=0x7fd0300ba240, this=0x7fd0381086c0)
    at /usr/include/c++/10/ext/new_allocator.h:156
No locals.
#11 std::allocator_traits<std::allocator<std::_List_node<std::shared_ptr<i2p::transport::TransportSession> > > >::destroy<std::shared_ptr<i2p::transport::TransportSession> > (__p=0x7fd0300ba240, __a=...)
    at /usr/include/c++/10/bits/alloc_traits.h:531
No locals.
#12 std::__cxx11::_List_base<std::shared_ptr<i2p::transport::TransportSession>, std::allocator<std::shared_ptr<i2p::transport::TransportSession> > >::_M_clear (this=0x7fd0381086c0)
    at /usr/include/c++/10/bits/list.tcc:77
        __tmp = 0x7fd0300ba230
--Type <RET> for more, q to quit, c to continue without paging--
        __val = 0x7fd0300ba240
        __cur = 0x7fd0381086c0
        __cur = <optimized out>
        __tmp = <optimized out>
        __val = <optimized out>
#13 std::__cxx11::_List_base<std::shared_ptr<i2p::transport::TransportSession>, std::allocator<std::shared_ptr<i2p::transport::TransportSession> > >::~_List_base (this=0x7fd0381086c0, __in_chrg=<optimized out>)
    at /usr/include/c++/10/bits/stl_list.h:499
No locals.
#14 std::__cxx11::list<std::shared_ptr<i2p::transport::TransportSession>, std::allocator<std::shared_ptr<i2p::transport::TransportSession> > >::~list (this=0x7fd0381086c0, __in_chrg=<optimized out>)
    at /usr/include/c++/10/bits/stl_list.h:827
No locals.
#15 i2p::transport::Peer::~Peer (this=0x7fd0381086a8, __in_chrg=<optimized out>)
    at libi2pd/Transports.h:67
No locals.
#16 std::pair<i2p::data::Tag<32ul> const, i2p::transport::Peer>::~pair (this=0x7fd038108688,
    __in_chrg=<optimized out>) at /usr/include/c++/10/bits/stl_pair.h:211
No locals.
#17 __gnu_cxx::new_allocator<std::__detail::_Hash_node<std::pair<i2p::data::Tag<32ul> const, i2p::transport::Peer>, true> >::destroy<std::pair<i2p::data::Tag<32ul> const, i2p::transport::Peer> > (
    __p=0x7fd038108688, this=<optimized out>) at /usr/include/c++/10/ext/new_allocator.h:156
No locals.
#18 std::allocator_traits<std::allocator<std::__detail::_Hash_node<std::pair<i2p::data::Tag<32ul> const, i2p::transport::Peer>, true> > >::destroy<std::pair<i2p::data::Tag<32ul> const, i2p::transport::Peer> > (
    __p=0x7fd038108688, __a=...) at /usr/include/c++/10/bits/alloc_traits.h:531
No locals.
#19 std::__detail::_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<i2p::data::Tag<32ul> const, i2p::transport::Peer>, true> > >::_M_deallocate_node (__n=0x7fd038108680, this=<optimized out>)
    at /usr/include/c++/10/bits/hashtable_policy.h:2053
No locals.
#20 std::__detail::_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<i2p::data::Tag<32ul> const, i2p::transport::Peer>, true> > >::_M_deallocate_nodes (
    this=0x5564e71cf6f0 <i2p::transport::transports+112>, __n=0x0)
--Type <RET> for more, q to quit, c to continue without paging--
    at /usr/include/c++/10/bits/hashtable_policy.h:2075
        __tmp = 0x7fd038108680
#21 std::_Hashtable<i2p::data::Tag<32ul>, std::pair<i2p::data::Tag<32ul> const, i2p::transport::Peer>, std::allocator<std::pair<i2p::data::Tag<32ul> const, i2p::transport::Peer> >, std::__detail::_Select1st, std::equal_to<i2p::data::Tag<32ul> >, std::hash<i2p::data::Tag<32ul> >, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, true> >::clear (this=this@entry=0x5564e71cf6f0 <i2p::transport::transports+112>)
    at /usr/include/c++/10/bits/hashtable.h:2030
No locals.
#22 0x00005564e6fa7fba in std::unordered_map<i2p::data::Tag<32ul>, i2p::transport::Peer, std::hash<i2p::data::Tag<32ul> >, std::equal_to<i2p::data::Tag<32ul> >, std::allocator<std::pair<i2p::data::Tag<32ul> const, i2p::transport::Peer> > >::clear (this=0x5564e71cf6f0 <i2p::transport::transports+112>)
    at /usr/include/c++/10/bits/unordered_map.h:842
No locals.
#23 i2p::transport::Transports::Stop (this=this@entry=0x5564e71cf680 <i2p::transport::transports>)
    at libi2pd/Transports.cpp:323
No locals.
#24 0x00005564e6fa81f2 in i2p::transport::Transports::~Transports (
    this=0x5564e71cf680 <i2p::transport::transports>, __in_chrg=<optimized out>)
    at libi2pd/Transports.cpp:152
No locals.
#25 0x00007fd0506224d7 in ?? () from /lib/x86_64-linux-gnu/libc.so.6
No symbol table info available.
#26 0x00007fd05062267a in exit () from /lib/x86_64-linux-gnu/libc.so.6
No symbol table info available.
#27 0x00007fd05060ad11 in __libc_start_main () from /lib/x86_64-linux-gnu/libc.so.6
No symbol table info available.
#28 0x00005564e6e6674a in _start () at /usr/include/boost/asio/detail/noncopyable.hpp:29
No symbol table info available.
(gdb)
LLE8 commented 1 year ago

i2pd version 2.46.1-21-gb7f0d87d (0.9.57) Boost version 1.74.0 OpenSSL 1.1.1n 15 Mar 2022 Баг неплохо воспроизводится, хотя и не каждый раз systemctl stop i2pd.service

GNU gdb (Debian 10.1-1.7) 10.1.90.20210103-git
Copyright (C) 2021 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<https://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
    <http://www.gnu.org/software/gdb/documentation/>.

For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from /usr/sbin/i2pd...
Reading symbols from /usr/lib/debug/.build-id/29/5cb74a743f4f00716671341f7d248b2bbd7eff.debug...
[New LWP 172658]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Core was generated by `/usr/sbin/i2pd --conf=/etc/i2pd/i2pd.conf --tunconf=/etc/i2pd/tunnels.conf --tu'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0  boost::asio::detail::epoll_reactor::deregister_descriptor (this=0x326b387a30724c35, descriptor=31,
    descriptor_data=@0x7f4a78abbcb8: 0x7f4a78008d80, closing=<optimized out>)
    at /usr/include/boost/asio/detail/impl/epoll_reactor.ipp:363
363           epoll_event ev = { 0, { 0 } };
(gdb) info threads
  Id   Target Id                          Frame
* 1    Thread 0x7f4a9766fc80 (LWP 172658) boost::asio::detail::epoll_reactor::deregister_descriptor (this=0x326b387a30724c35,
    descriptor=31, descriptor_data=@0x7f4a78abbcb8: 0x7f4a78008d80, closing=<optimized out>)
    at /usr/include/boost/asio/detail/impl/epoll_reactor.ipp:363
(gdb) bt full
#0  boost::asio::detail::epoll_reactor::deregister_descriptor (this=0x326b387a30724c35, descriptor=31,
    descriptor_data=@0x7f4a78abbcb8: 0x7f4a78008d80, closing=<optimized out>)
    at /usr/include/boost/asio/detail/impl/epoll_reactor.ipp:363
        ev = {events = 1879453248, data = {ptr = 0x78abbc2000007f4a, fd = 32586, u32 = 32586, u64 = 8695250351193882442}}
        ops = {<boost::asio::detail::noncopyable> = {<No data fields>}, front_ = 0x7f4a78e4c120, back_ = 0x7f4a78abbe38}
        descriptor_lock = {<boost::asio::detail::noncopyable> = {<No data fields>}, mutex_ = <optimized out>,
          locked_ = <optimized out>}
#1  0x000055658e01a11b in boost::asio::detail::reactive_socket_service_base::destroy (impl=..., this=<optimized out>)
    at /usr/include/boost/asio/detail/impl/reactive_socket_service_base.ipp:89
        ignored_ec = {val_ = 1814167968, failed_ = 74, cat_ = 0x5736e102fd49c500}
#2  boost::asio::detail::io_object_impl<boost::asio::detail::reactive_socket_service<boost::asio::ip::tcp>, boost::asio::execution::any_executor<boost::asio::execution::context_as_t<boost::asio::execution_context&>, boost::asio::execution::detail::blocking::never_t<0>, boost::asio::execution::prefer_only<boost::asio::execution::detail::blocking::possibly_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::tracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::untracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::fork_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::continuation_t<0> > > >::~io_object_impl (this=0x7f4a78abbca8, __in_chrg=<optimized out>) at /usr/include/boost/asio/detail/io_object_impl.hpp:90
No locals.
#3  boost::asio::basic_socket<boost::asio::ip::tcp, boost::asio::execution::any_executor<boost::asio::execution::context_as_t<boost::asio::execution_context&>, boost::asio::execution::detail::blocking::never_t<0>, boost::asio::execution::prefer_only<boost::asio::execution::detail::blocking::possibly_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::tracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::untracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::fork_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::continuation_t<0> > > >::~basic_socket (this=0x7f4a78abbca8, __in_chrg=<optimized out>)
    at /usr/include/boost/asio/basic_socket.hpp:1797
No locals.
#4  boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::execution::any_executor<boost::asio::execution::context_as_t<boost::asio::execution_context&>, boost::asio::execution::detail::blocking::never_t<0>, boost::asio::execution::prefer_only<boost::asio::execution::detail::blocking::possibly_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::tracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::untracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::fork_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::continuation_t<0> > > >::~basic_stream_socket (this=0x7f4a78abbca8,
    __in_chrg=<optimized out>) at /usr/include/boost/asio/basic_stream_socket.hpp:331
No locals.
#5  i2p::transport::NTCP2Session::~NTCP2Session (this=0x7f4a78abbc20, __in_chrg=<optimized out>) at libi2pd/NTCP2.cpp:353
No locals.
#6  0x000055658dfd6cde in std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::_M_release (this=0x7f4a78abbc10)
    at /usr/include/c++/10/bits/shared_ptr_base.h:158
No locals.
#7  std::__shared_count<(__gnu_cxx::_Lock_policy)2>::~__shared_count (this=0x7f4a70191658, __in_chrg=<optimized out>)
    at /usr/include/c++/10/bits/shared_ptr_base.h:733
No locals.
#8  std::__shared_ptr<i2p::transport::TransportSession, (__gnu_cxx::_Lock_policy)2>::~__shared_ptr (this=0x7f4a70191650,
    __in_chrg=<optimized out>) at /usr/include/c++/10/bits/shared_ptr_base.h:1183
No locals.
#9  std::shared_ptr<i2p::transport::TransportSession>::~shared_ptr (this=0x7f4a70191650, __in_chrg=<optimized out>)
    at /usr/include/c++/10/bits/shared_ptr.h:121
--Type <RET> for more, q to quit, c to continue without paging--
No locals.
#10 __gnu_cxx::new_allocator<std::_List_node<std::shared_ptr<i2p::transport::TransportSession> > >::destroy<std::shared_ptr<i2p::transport::TransportSession> > (__p=0x7f4a70191650, this=0x7f4a70062e40) at /usr/include/c++/10/ext/new_allocator.h:156
No locals.
#11 std::allocator_traits<std::allocator<std::_List_node<std::shared_ptr<i2p::transport::TransportSession> > > >::destroy<std::shared_ptr<i2p::transport::TransportSession> > (__p=0x7f4a70191650, __a=...) at /usr/include/c++/10/bits/alloc_traits.h:531
No locals.
#12 std::__cxx11::_List_base<std::shared_ptr<i2p::transport::TransportSession>, std::allocator<std::shared_ptr<i2p::transport::TransportSession> > >::_M_clear (this=0x7f4a70062e40) at /usr/include/c++/10/bits/list.tcc:77
        __tmp = 0x7f4a70191640
        __val = 0x7f4a70191650
        __cur = 0x7f4a70062e40
        __cur = <optimized out>
        __tmp = <optimized out>
        __val = <optimized out>
#13 std::__cxx11::_List_base<std::shared_ptr<i2p::transport::TransportSession>, std::allocator<std::shared_ptr<i2p::transport::TransportSession> > >::~_List_base (this=0x7f4a70062e40, __in_chrg=<optimized out>) at /usr/include/c++/10/bits/stl_list.h:499
No locals.
#14 std::__cxx11::list<std::shared_ptr<i2p::transport::TransportSession>, std::allocator<std::shared_ptr<i2p::transport::TransportSession> > >::~list (this=0x7f4a70062e40, __in_chrg=<optimized out>) at /usr/include/c++/10/bits/stl_list.h:827
No locals.
#15 i2p::transport::Peer::~Peer (this=0x7f4a70062e28, __in_chrg=<optimized out>) at libi2pd/Transports.h:67
No locals.
#16 std::pair<i2p::data::Tag<32ul> const, i2p::transport::Peer>::~pair (this=0x7f4a70062e08, __in_chrg=<optimized out>)
    at /usr/include/c++/10/bits/stl_pair.h:211
No locals.
#17 __gnu_cxx::new_allocator<std::__detail::_Hash_node<std::pair<i2p::data::Tag<32ul> const, i2p::transport::Peer>, true> >::destroy<std::pair<i2p::data::Tag<32ul> const, i2p::transport::Peer> > (__p=0x7f4a70062e08, this=<optimized out>)
    at /usr/include/c++/10/ext/new_allocator.h:156
No locals.
#18 std::allocator_traits<std::allocator<std::__detail::_Hash_node<std::pair<i2p::data::Tag<32ul> const, i2p::transport::Peer>, true> > >::destroy<std::pair<i2p::data::Tag<32ul> const, i2p::transport::Peer> > (__p=0x7f4a70062e08, __a=...)
    at /usr/include/c++/10/bits/alloc_traits.h:531
No locals.
#19 std::__detail::_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<i2p::data::Tag<32ul> const, i2p::transport::Peer>, true> > >::_M_deallocate_node (__n=0x7f4a70062e00, this=<optimized out>)
    at /usr/include/c++/10/bits/hashtable_policy.h:2053
No locals.
#20 std::__detail::_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<i2p::data::Tag<32ul> const, i2p::transport::Peer>, true> > >::_M_deallocate_nodes (this=0x55658e1fc770 <i2p::transport::transports+112>, __n=0x7f4a701bb550)
    at /usr/include/c++/10/bits/hashtable_policy.h:2075
        __tmp = 0x7f4a70062e00
#21 std::_Hashtable<i2p::data::Tag<32ul>, std::pair<i2p::data::Tag<32ul> const, i2p::transport::Peer>, std::allocator<std::pair<i2p::data::Tag<32ul> const, i2p::transport::Peer> >, std::__detail::_Select1st, std::equal_to<i2p::data::Tag<32ul> >, std::hash<i2p::data::Tag<32ul> >, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, true> >::clear (this=this@entry=0x55658e1fc770 <i2p::transport::transports+112>)
    at /usr/include/c++/10/bits/hashtable.h:2030
--Type <RET> for more, q to quit, c to continue without paging--
No locals.
#22 0x000055658dfcc69a in std::unordered_map<i2p::data::Tag<32ul>, i2p::transport::Peer, std::hash<i2p::data::Tag<32ul> >, std::equal_to<i2p::data::Tag<32ul> >, std::allocator<std::pair<i2p::data::Tag<32ul> const, i2p::transport::Peer> > >::clear (
    this=0x55658e1fc770 <i2p::transport::transports+112>) at /usr/include/c++/10/bits/unordered_map.h:842
No locals.
#23 i2p::transport::Transports::Stop (this=this@entry=0x55658e1fc700 <i2p::transport::transports>) at libi2pd/Transports.cpp:323
No locals.
#24 0x000055658dfcc8d2 in i2p::transport::Transports::~Transports (this=0x55658e1fc700 <i2p::transport::transports>,
    __in_chrg=<optimized out>) at libi2pd/Transports.cpp:152
No locals.
#25 0x00007f4a976b44d7 in __run_exit_handlers (status=0, listp=0x7f4a97848718 <__exit_funcs>,
    run_list_atexit=run_list_atexit@entry=true, run_dtors=run_dtors@entry=true) at exit.c:108
        atfct = <optimized out>
        onfct = <optimized out>
        cxafct = <optimized out>
        f = <optimized out>
        new_exitfn_called = 196
        cur = 0x55658f123e10
        restart = <optimized out>
#26 0x00007f4a976b467a in __GI_exit (status=<optimized out>) at exit.c:139
No locals.
#27 0x00007f4a9769cd11 in __libc_start_main (main=0x55658de53f60 <main(int, char**)>, argc=8, argv=0x7fffcc43ab28,
    init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fffcc43ab18) at ../csu/libc-start.c:342
        result = <optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {0, -5398564917198200777, 93894660896080, 0, 0, 0, -2296565966961385417,
                -2212882327073857481}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x8, 0x7fffcc43ab28}, data = {prev = 0x0,
              cleanup = 0x0, canceltype = 8}}}
        not_first_call = <optimized out>
#28 0x000055658de8b57a in _start ()
No symbol table info available.
(gdb)
LLE8 commented 9 months ago

i2pd 2.50.0-3-g43e130ee, Debian 10.8 перезагрузка ОС shutdown -r now

# gdb /usr/sbin/i2pd -c /var/lib/i2pd/core
GNU gdb (Debian 10.1-1.7) 10.1.90.20210103-git
Copyright (C) 2021 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<https://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
    <http://www.gnu.org/software/gdb/documentation/>.

For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from /usr/sbin/i2pd...
Reading symbols from /usr/lib/debug/.build-id/9b/7936138cb4e41ecf1a05709e8e91889575d6b9.debug...
[New LWP 2506]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Core was generated by `/usr/sbin/i2pd --conf=/etc/i2pd/i2pd.conf --tunconf=/etc/i2pd/tunnels.conf --tu'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0  boost::asio::detail::epoll_reactor::deregister_descriptor (this=0x4c42414d51426941, descriptor=11, descriptor_data=@0x7f55a8406c00: 0x7f55a81963a0,
    closing=<optimized out>) at /usr/include/boost/asio/detail/impl/epoll_reactor.ipp:363
363           epoll_event ev = { 0, { 0 } };
(gdb) info threads
  Id   Target Id                        Frame
* 1    Thread 0x7f55ccd2fc80 (LWP 2506) boost::asio::detail::epoll_reactor::deregister_descriptor (this=0x4c42414d51426941, descriptor=11,
    descriptor_data=@0x7f55a8406c00: 0x7f55a81963a0, closing=<optimized out>) at /usr/include/boost/asio/detail/impl/epoll_reactor.ipp:363
(gdb) bt full
#0  boost::asio::detail::epoll_reactor::deregister_descriptor (this=0x4c42414d51426941, descriptor=11, descriptor_data=@0x7f55a8406c00: 0x7f55a81963a0,
    closing=<optimized out>) at /usr/include/boost/asio/detail/impl/epoll_reactor.ipp:363
        ev = {events = 2952842880, data = {ptr = 0xa8406b4000007f55, fd = 32597, u32 = 32597, u64 = 12123808119503486805}}
        ops = {<boost::asio::detail::noncopyable> = {<No data fields>}, front_ = 0x7f55a83d9f80, back_ = 0x7f55a8406d80}
        descriptor_lock = {<boost::asio::detail::noncopyable> = {<No data fields>}, mutex_ = <optimized out>, locked_ = <optimized out>}
#1  0x000055fd26e5653b in boost::asio::detail::reactive_socket_service_base::destroy (impl=..., this=<optimized out>)
    at /usr/include/boost/asio/detail/impl/reactive_socket_service_base.ipp:89
        ignored_ec = {val_ = 690125680, failed_ = 253, cat_ = 0x5a11df0e14211100}
#2  boost::asio::detail::io_object_impl<boost::asio::detail::reactive_socket_service<boost::asio::ip::tcp>, boost::asio::execution::any_executor<boost::asio::execution::context_as_t<boost::asio::execution_context&>, boost::asio::execution::detail::blocking::never_t<0>, boost::asio::execution::prefer_only<boost::asio::execution::detail::blocking::possibly_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::tracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::untracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::fork_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::continuation_t<0> > > >::~io_object_impl
    (this=0x7f55a8406bf0, __in_chrg=<optimized out>) at /usr/include/boost/asio/detail/io_object_impl.hpp:90
No locals.
#3  boost::asio::basic_socket<boost::asio::ip::tcp, boost::asio::execution::any_executor<boost::asio::execution::context_as_t<boost::asio::execution_context&>, boost::asio::execution::detail::blocking::never_t<0>, boost::asio::execution::prefer_only<boost::asio::execution::detail::blocking::possibly_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::tracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::untracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::fork_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::continuation_t<0> > > >::~basic_socket (this=0x7f55a8406bf0, __in_chrg=<optimized out>)
    at /usr/include/boost/asio/basic_socket.hpp:1797
No locals.
#4  boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::execution::any_executor<boost::asio::execution::context_as_t<boost::asio::execution_context&>, boost::asio::execution::detail::blocking::never_t<0>, boost::asio::execution::prefer_only<boost::asio::execution::detail::blocking::possibly_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::tracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::untracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::fork_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::continuation_t<0> > > >::~basic_stream_socket (this=0x7f55a8406bf0,
    __in_chrg=<optimized out>) at /usr/include/boost/asio/basic_stream_socket.hpp:331
No locals.
#5  i2p::transport::NTCP2Session::~NTCP2Session (this=0x7f55a8406b40, __in_chrg=<optimized out>) at libi2pd/NTCP2.cpp:353
No locals.
#6  0x000055fd26e13d3e in std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::_M_release (this=0x7f55a8406b30)
    at /usr/include/c++/10/bits/shared_ptr_base.h:158
No locals.
#7  std::__shared_count<(__gnu_cxx::_Lock_policy)2>::~__shared_count (this=0x7f55b01d4658, __in_chrg=<optimized out>)
    at /usr/include/c++/10/bits/shared_ptr_base.h:733
No locals.
#8  std::__shared_ptr<i2p::transport::TransportSession, (__gnu_cxx::_Lock_policy)2>::~__shared_ptr (this=0x7f55b01d4650, __in_chrg=<optimized out>)
    at /usr/include/c++/10/bits/shared_ptr_base.h:1183
No locals.
#9  std::shared_ptr<i2p::transport::TransportSession>::~shared_ptr (this=0x7f55b01d4650, __in_chrg=<optimized out>)
    at /usr/include/c++/10/bits/shared_ptr.h:121
No locals.
#10 __gnu_cxx::new_allocator<std::_List_node<std::shared_ptr<i2p::transport::TransportSession> > >::destroy<std::shared_ptr<i2p::transport::TransportSession> > (__p=0x7f55b01d4650, this=0x7f55b000ce80) at /usr/include/c++/10/ext/new_allocator.h:156
No locals.
#11 std::allocator_traits<std::allocator<std::_List_node<std::shared_ptr<i2p::transport::TransportSession> > > >::destroy<std::shared_ptr<i2p::transport::TransportSession> > (__p=0x7f55b01d4650, __a=...) at /usr/include/c++/10/bits/alloc_traits.h:531
No locals.
#12 std::__cxx11::_List_base<std::shared_ptr<i2p::transport::TransportSession>, std::allocator<std::shared_ptr<i2p::transport::TransportSession> > >::_M_clear (this=0x7f55b000ce80) at /usr/include/c++/10/bits/list.tcc:77
        __tmp = 0x7f55b01d4640
        __val = 0x7f55b01d4650
        __cur = 0x7f55b000ce80
        __cur = <optimized out>
--Type <RET> for more, q to quit, c to continue without paging--
        __tmp = <optimized out>
        __val = <optimized out>
#13 std::__cxx11::_List_base<std::shared_ptr<i2p::transport::TransportSession>, std::allocator<std::shared_ptr<i2p::transport::TransportSession> > >::~_List_base (this=0x7f55b000ce80, __in_chrg=<optimized out>) at /usr/include/c++/10/bits/stl_list.h:499
No locals.
#14 std::__cxx11::list<std::shared_ptr<i2p::transport::TransportSession>, std::allocator<std::shared_ptr<i2p::transport::TransportSession> > >::~list (
    this=0x7f55b000ce80, __in_chrg=<optimized out>) at /usr/include/c++/10/bits/stl_list.h:827
No locals.
#15 i2p::transport::Peer::~Peer (this=0x7f55b000ce68, __in_chrg=<optimized out>) at libi2pd/Transports.h:67
No locals.
#16 std::pair<i2p::data::Tag<32ul> const, i2p::transport::Peer>::~pair (this=0x7f55b000ce48, __in_chrg=<optimized out>)
    at /usr/include/c++/10/bits/stl_pair.h:211
No locals.
#17 __gnu_cxx::new_allocator<std::__detail::_Hash_node<std::pair<i2p::data::Tag<32ul> const, i2p::transport::Peer>, true> >::destroy<std::pair<i2p::data::Tag<32ul> const, i2p::transport::Peer> > (__p=0x7f55b000ce48, this=<optimized out>) at /usr/include/c++/10/ext/new_allocator.h:156
No locals.
#18 std::allocator_traits<std::allocator<std::__detail::_Hash_node<std::pair<i2p::data::Tag<32ul> const, i2p::transport::Peer>, true> > >::destroy<std::pair<i2p::data::Tag<32ul> const, i2p::transport::Peer> > (__p=0x7f55b000ce48, __a=...) at /usr/include/c++/10/bits/alloc_traits.h:531
No locals.
#19 std::__detail::_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<i2p::data::Tag<32ul> const, i2p::transport::Peer>, true> > >::_M_deallocate_node (__n=0x7f55b000ce40, this=<optimized out>) at /usr/include/c++/10/bits/hashtable_policy.h:2053
No locals.
#20 std::__detail::_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<i2p::data::Tag<32ul> const, i2p::transport::Peer>, true> > >::_M_deallocate_nodes (this=0x55fd270427d0 <i2p::transport::transports+112>, __n=0x7f55b0260e50) at /usr/include/c++/10/bits/hashtable_policy.h:2075
        __tmp = 0x7f55b000ce40
#21 std::_Hashtable<i2p::data::Tag<32ul>, std::pair<i2p::data::Tag<32ul> const, i2p::transport::Peer>, std::allocator<std::pair<i2p::data::Tag<32ul> const, i2p::transport::Peer> >, std::__detail::_Select1st, std::equal_to<i2p::data::Tag<32ul> >, std::hash<i2p::data::Tag<32ul> >, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, true> >::clear (
    this=this@entry=0x55fd270427d0 <i2p::transport::transports+112>) at /usr/include/c++/10/bits/hashtable.h:2030
No locals.
#22 0x000055fd26e0916a in std::unordered_map<i2p::data::Tag<32ul>, i2p::transport::Peer, std::hash<i2p::data::Tag<32ul> >, std::equal_to<i2p::data::Tag<32ul> >, std::allocator<std::pair<i2p::data::Tag<32ul> const, i2p::transport::Peer> > >::clear (this=0x55fd270427d0 <i2p::transport::transports+112>)
    at /usr/include/c++/10/bits/unordered_map.h:842
No locals.
#23 i2p::transport::Transports::Stop (this=this@entry=0x55fd27042760 <i2p::transport::transports>) at libi2pd/Transports.cpp:323
No locals.
#24 0x000055fd26e093a2 in i2p::transport::Transports::~Transports (this=0x55fd27042760 <i2p::transport::transports>, __in_chrg=<optimized out>)
    at libi2pd/Transports.cpp:152
No locals.
#25 0x00007f55ccd744d7 in __run_exit_handlers (status=0, listp=0x7f55ccf07718 <__exit_funcs>, run_list_atexit=run_list_atexit@entry=true,
    run_dtors=run_dtors@entry=true) at exit.c:108
        atfct = <optimized out>
        onfct = <optimized out>
        cxafct = <optimized out>
        f = <optimized out>
        new_exitfn_called = 196
        cur = 0x55fd27872e10
        restart = <optimized out>
#26 0x00007f55ccd7467a in __GI_exit (status=<optimized out>) at exit.c:139
No locals.
#27 0x00007f55ccd5cd11 in __libc_start_main (main=0x55fd26c8ae50 <main(int, char**)>, argc=8, argv=0x7ffdfb3e64d8, init=<optimized out>,
    fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7ffdfb3e64c8) at ../csu/libc-start.c:342
        result = <optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {0, -8698861682394680136, 94545766001936, 0, 0, 0, -3222654338315078472, -3308251115165993800},
              mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x8, 0x7ffdfb3e64d8}, data = {prev = 0x0, cleanup = 0x0, canceltype = 8}}}
--Type <RET> for more, q to quit, c to continue without paging--
        not_first_call = <optimized out>
#28 0x000055fd26cc2d3a in _start ()
No symbol table info available.
(gdb)
LLE8 commented 5 months ago

2.50.0-3-g43e130ee uptime приблизительно 100 суток Debian 11.8 64 bit упало без видимых причин в процессе работы

~# cat /var/log/kern.log
Apr  8 10:12:11 vds2384782 kernel: [8872493.436917] Router[380]: segfault at 8 ip 000056107cacb989 sp 00007fc6467fbcb0 error 4 in i2pd[56107c9bd000+2fe000]
Apr  8 10:12:11 vds2384782 kernel: [8872493.436997] Code: 48 8b bf f8 00 00 00 4c 89 c0 48 f7 f7 48 8b 83 f0 00 00 00 4c 8b 0c d0 4d 85 c9 0f 84 88 00 00 00 49 8b 01 49 89 f2 49 89 d3 <48> 8b 48 08 49 39 c8 74 24 48 8b 30 48 85 f6 74 6e 48 8b 4e 08 49
~# gdb /usr/sbin/i2pd -c /var/lib/i2pd/core
GNU gdb (Debian 10.1-1.7) 10.1.90.20210103-git
Copyright (C) 2021 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<https://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
    <http://www.gnu.org/software/gdb/documentation/>.

For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from /usr/sbin/i2pd...
Reading symbols from /usr/lib/debug/.build-id/9b/7936138cb4e41ecf1a05709e8e91889575d6b9.debug...
[New LWP 380]
[New LWP 364]
[New LWP 378]
[New LWP 381]
[New LWP 383]
[New LWP 377]
[New LWP 372]
[New LWP 374]
[New LWP 363]
[New LWP 373]
[New LWP 376]
[New LWP 382]
[New LWP 384]
[New LWP 379]
[New LWP 375]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Core was generated by `/usr/sbin/i2pd --conf=/etc/i2pd/i2pd.conf --tunconf=/etc/i2pd/tunnels.conf --tu'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0  0x000056107cacb989 in std::equal_to<unsigned long>::operator() (__y=<optimized out>, __x=<optimized out>, this=<optimized out>)
    at /usr/include/c++/10/bits/stl_function.h:356
356           { return __x == __y; }
[Current thread is 1 (Thread 0x7fc6467fc700 (LWP 380))]
(gdb) bt full
#0  0x000056107cacb989 in std::equal_to<unsigned long>::operator() (__y=<optimized out>, __x=<optimized out>, this=<optimized out>)
    at /usr/include/c++/10/bits/stl_function.h:356
No locals.
#1  std::__detail::_Hashtable_base<unsigned long, std::pair<unsigned long const, i2p::garlic::ECIESX25519AEADRatchetIndexTagset>, std::__detail::_Select1st, std::equal_to<unsigned long>, std::hash<unsigned long>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Hashtable_traits<false, false, true> >::_M_equals (__n=<optimized out>, __c=<optimized out>, __k=<optimized out>, this=<optimized out>)
    at /usr/include/c++/10/bits/hashtable_policy.h:1804
No locals.
#2  std::_Hashtable<unsigned long, std::pair<unsigned long const, i2p::garlic::ECIESX25519AEADRatchetIndexTagset>, std::allocator<std::pair<unsigned long const, i2p::garlic::ECIESX25519AEADRatchetIndexTagset> >, std::__detail::_Select1st, std::equal_to<unsigned long>, std::hash<unsigned long>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<false, false, true> >::_M_find_before_node (__code=16984010370029333562, __k=<synthetic pointer>: 16984010370029333562, __bkt=213, this=0x56107cda0250 <i2p::context+240>)
    at /usr/include/c++/10/bits/hashtable.h:1580
        __p = 0x0
        __prev_p = 0x56107cda0260 <i2p::context+256>
        __prev_p = <optimized out>
        __p = <optimized out>
#3  std::_Hashtable<unsigned long, std::pair<unsigned long const, i2p::garlic::ECIESX25519AEADRatchetIndexTagset>, std::allocator<std::pair<unsigned long const, i2p::garlic::ECIESX25519AEADRatchetIndexTagset> >, std::__detail::_Select1st, std::equal_to<unsigned long>, std::hash<unsigned long>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<false, false, true> >::_M_find_node
    (__c=16984010370029333562, __key=<synthetic pointer>: 16984010370029333562, __bkt=213, this=0x56107cda0250 <i2p::context+240>)
    at /usr/include/c++/10/bits/hashtable.h:693
        __before_n = <optimized out>
        __before_n = <optimized out>
#4  std::_Hashtable<unsigned long, std::pair<unsigned long const, i2p::garlic::ECIESX25519AEADRatchetIndexTagset>, std::allocator<std::pair<unsigned long const, i2p::garlic::ECIESX25519AEADRatchetIndexTagset> >, std::__detail::_Select1st, std::equal_to<unsigned long>, std::hash<unsigned long>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<false, false, true> >::find (
    __k=<synthetic pointer>: 16984010370029333562, this=0x56107cda0250 <i2p::context+240>) at /usr/include/c++/10/bits/hashtable.h:1454
        __code = 16984010370029333562
        __bkt = 213
        __p = <optimized out>
        __code = <optimized out>
        __bkt = <optimized out>
        __p = <optimized out>
#5  std::unordered_map<unsigned long, i2p::garlic::ECIESX25519AEADRatchetIndexTagset, std::hash<unsigned long>, std::equal_to<unsigned long>, std::allocator<std::pair<unsigned long const, i2p::garlic::ECIESX25519AEADRatchetIndexTagset> > >::find (__x=<synthetic pointer>: 16984010370029333562,
    this=0x56107cda0250 <i2p::context+240>) at /usr/include/c++/10/bits/unordered_map.h:920
No locals.
#6  i2p::garlic::GarlicDestination::HandleECIESx25519TagMessage (this=this@entry=0x56107cda0160 <i2p::context>,
    buf=buf@entry=0x7fc629e77d46 ":,&GrS\263\353\357q\377'\244\344*\346\355\343wqNY*\003h\027\365\353\243\001\004]\214k\026\026\271ʸ\226\030pۊ\277\020v\262\355\314&`\217\347\262\071\213\251\373\372;Pտߢ\326\027\063\323\nF\251l\250\060Hտ5rɈC^\006Kf\373\f\371\245\216\224J\035\207_\211\037\272\005c\327Z\266\342\271\305\342j\b\243\247\314O\037\257\354ڔ\351\346\061\254\242ݻ,\352\223ޫ\\f\300\064\005\233\335\373o\231", len=193) at libi2pd/Garlic.cpp:588
        tag = 16984010370029333562
        it = {<std::__detail::_Node_iterator_base<std::pair<unsigned long const, i2p::garlic::ECIESX25519AEADRatchetIndexTagset>, false>> = {
            _M_cur = <optimized out>}, <No data fields>}
#7  0x000056107cb32198 in i2p::RouterContext::PostGarlicMessage (this=0x56107cda0160 <i2p::context>, msg=...) at libi2pd/RouterContext.cpp:1172
        buf = 0x7fc629e77d46 ":,&GrS\263\353\357q\377'\244\344*\346\355\343wqNY*\003h\027\365\353\243\001\004]\214k\026\026\271ʸ\226\030pۊ\277\020v\262\355\314&`\217\347\262\071\213\251\373\372;Pտߢ\326\027\063\323\nF\251l\250\060Hտ5rɈC^\006Kf\373\f\371\245\216\224J\035\207_\211\037\272\005c\327Z\266\342\271\305\342j\b\243\247\314O\037\257\354ڔ\351\346\061\254\242ݻ,\352\223ޫ\\f\300\064\005\233\335\373o\231"
        len = 193
#8  0x000056107cb3a8e4 in std::__invoke_impl<void, void (i2p::RouterContext::*&)(std::shared_ptr<i2p::I2NPMessage>), i2p::RouterContext*&, std::shared_ptr<i2p::I2NPMessage>&> (__f=<synthetic pointer>: <optimized out>, __t=<synthetic pointer>: <optimized out>, __f=<synthetic pointer>: <optimized out>,
    __t=<synthetic pointer>: <optimized out>) at /usr/include/c++/10/bits/invoke.h:73
No locals.
#9  std::__invoke<void (i2p::RouterContext::*&)(std::shared_ptr<i2p::I2NPMessage>), i2p::RouterContext*&, std::shared_ptr<i2p::I2NPMessage>&> (
--Type <RET> for more, q to quit, c to continue without paging--c
    __fn=<synthetic pointer>: <optimized out>) at /usr/include/c++/10/bits/invoke.h:95
No locals.
#10 std::_Bind<void (i2p::RouterContext::*(i2p::RouterContext*, std::shared_ptr<i2p::I2NPMessage>))(std::shared_ptr<i2p::I2NPMessage>)>::__call<void, , 0ul, 1ul>(std::tuple<>&&, std::_Index_tuple<0ul, 1ul>) (__args=..., this=<synthetic pointer>) at /usr/include/c++/10/functional:416
No locals.
#11 std::_Bind<void (i2p::RouterContext::*(i2p::RouterContext*, std::shared_ptr<i2p::I2NPMessage>))(std::shared_ptr<i2p::I2NPMessage>)>::operator()<, void>() (this=<synthetic pointer>) at /usr/include/c++/10/functional:499
No locals.
#12 boost::asio::asio_handler_invoke<std::_Bind<void (i2p::RouterContext::*(i2p::RouterContext*, std::shared_ptr<i2p::I2NPMessage>))(std::shared_ptr<i2p::I2NPMessage>)> >(std::_Bind<void (i2p::RouterContext::*(i2p::RouterContext*, std::shared_ptr<i2p::I2NPMessage>))(std::shared_ptr<i2p::I2NPMessage>)>&, ...) (function=<synthetic pointer>...) at /usr/include/boost/asio/handler_invoke_hook.hpp:88
No locals.
#13 boost_asio_handler_invoke_helpers::invoke<std::_Bind<void (i2p::RouterContext::*(i2p::RouterContext*, std::shared_ptr<i2p::I2NPMessage>))(std::shared_ptr<i2p::I2NPMessage>)>, std::_Bind<void (i2p::RouterContext::*(i2p::RouterContext*, std::shared_ptr<i2p::I2NPMessage>))(std::shared_ptr<i2p::I2NPMessage>)> >(std::_Bind<void (i2p::RouterContext::*(i2p::RouterContext*, std::shared_ptr<i2p::I2NPMessage>))(std::shared_ptr<i2p::I2NPMessage>)>&, std::_Bind<void (i2p::RouterContext::*(i2p::RouterContext*, std::shared_ptr<i2p::I2NPMessage>))(std::shared_ptr<i2p::I2NPMessage>)>&) (context=<synthetic pointer>..., function=<synthetic pointer>...) at /usr/include/boost/asio/detail/handler_invoke_helpers.hpp:54
No locals.
#14 boost::asio::detail::handler_work<std::_Bind<void (i2p::RouterContext::*(i2p::RouterContext*, std::shared_ptr<i2p::I2NPMessage>))(std::shared_ptr<i2p::I2NPMessage>)>, boost::asio::io_context::basic_executor_type<std::allocator<void>, 0u>, void>::complete<std::_Bind<void (i2p::RouterContext::*(i2p::RouterContext*, std::shared_ptr<i2p::I2NPMessage>))(std::shared_ptr<i2p::I2NPMessage>)> >(std::_Bind<void (i2p::RouterContext::*(i2p::RouterContext*, std::shared_ptr<i2p::I2NPMessage>))(std::shared_ptr<i2p::I2NPMessage>)>&, std::_Bind<void (i2p::RouterContext::*(i2p::RouterContext*, std::shared_ptr<i2p::I2NPMessage>))(std::shared_ptr<i2p::I2NPMessage>)>&) (handler=<synthetic pointer>..., function=<synthetic pointer>..., this=<synthetic pointer>) at /usr/include/boost/asio/detail/handler_work.hpp:425
No locals.
#15 boost::asio::detail::completion_handler<std::_Bind<void (i2p::RouterContext::*(i2p::RouterContext*, std::shared_ptr<i2p::I2NPMessage>))(std::shared_ptr<i2p::I2NPMessage>)>, boost::asio::io_context::basic_executor_type<std::allocator<void>, 0u> >::do_complete(void*, boost::asio::detail::scheduler_operation*, boost::system::error_code const&, unsigned long) (owner=0x56107f372980, base=0x7fc628a8f2b0) at /usr/include/boost/asio/detail/completion_handler.hpp:74
        b = {<boost::asio::detail::noncopyable> = {<No data fields>}, <No data fields>}
        h = 0x7fc628a8f2b0
        p = {h = <optimized out>, v = 0x0, p = 0x0}
        w = {<boost::asio::detail::handler_work_base<boost::asio::io_context::basic_executor_type<std::allocator<void>, 0>, void, boost::asio::io_context, boost::asio::executor, void>> = {<No data fields>}, <No data fields>}
        handler = {<std::_Weak_result_type<void (i2p::RouterContext::*)(std::shared_ptr<i2p::I2NPMessage>)>> = {<std::_Weak_result_type_memfun<void (i2p::RouterContext::*)(std::shared_ptr<i2p::I2NPMessage>), true>> = {<No data fields>}, <No data fields>}, _M_f = <optimized out>, _M_bound_args = std::tuple containing = {[1] = <optimized out>, [2] = std::shared_ptr<i2p::I2NPMessage> (use count 2, weak count 0) = {get() = 0x7fc629e77d00}}}
#16 0x000056107ca4b404 in boost::asio::detail::scheduler_operation::complete (bytes_transferred=<optimized out>, ec=..., owner=0x56107f372980, this=0x7fc628a8f2b0) at /usr/include/boost/asio/detail/scheduler_operation.hpp:40
No locals.
#17 boost::asio::detail::scheduler::do_run_one (this=this@entry=0x56107f372980, lock=..., this_thread=..., ec=...) at /usr/include/boost/asio/detail/impl/scheduler.ipp:481
        task_result = <optimized out>
        on_exit = {scheduler_ = 0x56107f372980, lock_ = 0x7fc6467fbe20, this_thread_ = 0x7fc6467fbe50}
        o = 0x7fc628a8f2b0
        more_handlers = <optimized out>
#18 0x000056107cb93f81 in boost::asio::detail::scheduler::run (ec=..., this=0x56107f372980) at /usr/include/boost/asio/detail/impl/scheduler.ipp:204
        this_thread = {<boost::asio::detail::thread_info_base> = {<boost::asio::detail::noncopyable> = {<No data fields>}, reusable_memory_ = {0x7fc62579a3f0, 0x0, 0x0}, has_pending_exception_ = 0, pending_exception_ = {_M_exception_object = 0x0}}, private_op_queue = {<boost::asio::detail::noncopyable> = {<No data fields>}, front_ = 0x0, back_ = 0x0}, private_outstanding_work = 0}
        ctx = {<boost::asio::detail::noncopyable> = {<No data fields>}, key_ = 0x56107f372980, value_ = 0x7fc6467fbe50, next_ = 0x0}
        lock = {<boost::asio::detail::noncopyable> = {<No data fields>}, mutex_ = @0x56107f3729b0, locked_ = false}
        n = <optimized out>
        this_thread = {<boost::asio::detail::thread_info_base> = {<boost::asio::detail::noncopyable> = {<No data fields>}, reusable_memory_ = {<optimized out>, <optimized out>, <optimized out>}, has_pending_exception_ = <optimized out>, pending_exception_ = {_M_exception_object = <optimized out>}}, private_op_queue = {<boost::asio::detail::noncopyable> = {<No data fields>}, front_ = <optimized out>, back_ = <optimized out>}, private_outstanding_work = <optimized out>}
        ctx = {<boost::asio::detail::noncopyable> = {<No data fields>}, key_ = <optimized out>, value_ = <optimized out>, next_ = <optimized out>}
        lock = {<boost::asio::detail::noncopyable> = {<No data fields>}, mutex_ = <optimized out>, locked_ = <optimized out>}
        n = <optimized out>
#19 boost::asio::io_context::run (this=0x56107f35ee08, this=0x56107f35ee08) at /usr/include/boost/asio/impl/io_context.ipp:63
        ec = {val_ = 0, failed_ = false, cat_ = 0x56107cd950a0 <boost::system::detail::cat_holder<void>::system_category_instance>}
        s = <optimized out>
        ec = {val_ = <optimized out>, failed_ = <optimized out>, cat_ = <optimized out>}
        s = <optimized out>
#20 i2p::util::RunnableService::Run (this=0x56107f35edd0) at libi2pd/util.cpp:165
No locals.
#21 0x00007fc64ff51ed0 in ?? () from /lib/x86_64-linux-gnu/libstdc++.so.6
No symbol table info available.
#22 0x00007fc650069ea7 in start_thread (arg=<optimized out>) at pthread_create.c:477
        ret = <optimized out>
        pd = <optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140489563031296, 4774116987040182905, 140721252746350, 140721252746351, 140489563029440, 8396800, -4769981721671093639, -4769960615170395527}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = 0
#23 0x00007fc64fc4ca2f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
No locals.
(gdb) info threads
  Id   Target Id                       Frame
* 1    Thread 0x7fc6467fc700 (LWP 380) 0x000056107cacb989 in std::equal_to<unsigned long>::operator() (__y=<optimized out>, __x=<optimized out>,
    this=<optimized out>) at /usr/include/c++/10/bits/stl_function.h:356
  2    Thread 0x7fc64f7dc700 (LWP 364) futex_wait_cancelable (private=0, expected=0, futex_word=0x56107cd9fa64 <i2p::log::logger+292>)
    at ../sysdeps/nptl/futex-internal.h:186
  3    Thread 0x7fc6477fe700 (LWP 378) 0x00007fc64fc4cd56 in epoll_wait (epfd=20, events=events@entry=0x7fc6477fd710, maxevents=maxevents@entry=128,
    timeout=-1) at ../sysdeps/unix/sysv/linux/epoll_wait.c:30
  4    Thread 0x7fc645ffb700 (LWP 381) 0x00007fc64fc4cd56 in epoll_wait (epfd=27, events=events@entry=0x7fc645ffa740, maxevents=maxevents@entry=128,
    timeout=-1) at ../sysdeps/unix/sysv/linux/epoll_wait.c:30
  5    Thread 0x7fc644ff9700 (LWP 383) 0x00007fc64fc4cd56 in epoll_wait (epfd=35, events=events@entry=0x7fc644ff8740, maxevents=maxevents@entry=128,
    timeout=-1) at ../sysdeps/unix/sysv/linux/epoll_wait.c:30
  6    Thread 0x7fc647fff700 (LWP 377) 0x00007fc64fc4cd56 in epoll_wait (epfd=12, events=events@entry=0x7fc647ffe740, maxevents=maxevents@entry=128,
    timeout=-1) at ../sysdeps/unix/sysv/linux/epoll_wait.c:30
  7    Thread 0x7fc64efdb700 (LWP 372) 0x00007fc65011df43 in ?? () from /lib/x86_64-linux-gnu/libz.so.1
  8    Thread 0x7fc64dfd9700 (LWP 374) 0x00007fc64fc4cd56 in epoll_wait (epfd=6, events=events@entry=0x7fc64dfd8710, maxevents=maxevents@entry=128,
    timeout=-1) at ../sysdeps/unix/sysv/linux/epoll_wait.c:30
  9    Thread 0x7fc64fb47c80 (LWP 363) 0x00007fc64fc131a1 in __GI___clock_nanosleep (clock_id=clock_id@entry=0, flags=flags@entry=0,
    req=req@entry=0x7ffc38484740, rem=rem@entry=0x7ffc38484740) at ../sysdeps/unix/sysv/linux/clock_nanosleep.c:48
  10   Thread 0x7fc64e7da700 (LWP 373) futex_wait_cancelable (private=0, expected=0, futex_word=0x56107cda0898 <i2p::transport::transports+312>)
    at ../sysdeps/nptl/futex-internal.h:186
  11   Thread 0x7fc64cfd7700 (LWP 376) 0x00007fc64fc4cd56 in epoll_wait (epfd=15, events=events@entry=0x7fc64cfd6740, maxevents=maxevents@entry=128,
    timeout=-1) at ../sysdeps/unix/sysv/linux/epoll_wait.c:30
  12   Thread 0x7fc6457fa700 (LWP 382) 0x00007fc64fc4cd56 in epoll_wait (epfd=30, events=events@entry=0x7fc6457f9740, maxevents=maxevents@entry=128,
    timeout=-1) at ../sysdeps/unix/sysv/linux/epoll_wait.c:30
  13   Thread 0x7fc63bfff700 (LWP 384) 0x00007fc64fc4cd56 in epoll_wait (epfd=39, events=events@entry=0x7fc63bffe740, maxevents=maxevents@entry=128,
    timeout=-1) at ../sysdeps/unix/sysv/linux/epoll_wait.c:30
  14   Thread 0x7fc646ffd700 (LWP 379) futex_abstimed_wait_cancelable (private=0, abstime=0x7fc646ffce80, clockid=1191169376, expected=0,
    futex_word=0x56107cda0c20 <i2p::tunnel::tunnels+480>) at ../sysdeps/nptl/futex-internal.h:323
  15   Thread 0x7fc64d7d8700 (LWP 375) 0x00007fc64fc4cd56 in epoll_wait (epfd=9, events=events@entry=0x7fc64d7d7740, maxevents=maxevents@entry=128,
    timeout=-1) at ../sysdeps/unix/sysv/linux/epoll_wait.c:30
(gdb)
orignal commented 5 months ago

Это уже починили в 2.51

LLE8 commented 4 months ago

Debian 11.9 64 bit i2pd version 2.51.0-23-gbb6212cc (0.9.62) Boost version 1.74.0 OpenSSL 1.1.1w 11 Sep 2023

uptime 7 h почти 220 МБ ОЗУ systemctl stop i2pd

~# gdb /usr/sbin/i2pd -c /var/lib/i2pd/core
GNU gdb (Debian 10.1-1.7) 10.1.90.20210103-git
Copyright (C) 2021 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<https://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
    <http://www.gnu.org/software/gdb/documentation/>.

For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from /usr/sbin/i2pd...
Reading symbols from /usr/lib/debug/.build-id/e9/2e66760222844f89e0aa2806169877fb033881.debug...
[New LWP 16625]
[New LWP 16551]
[New LWP 16624]
[New LWP 16629]
[New LWP 16550]
[New LWP 16623]
[New LWP 16627]
[New LWP 16628]
[New LWP 16626]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Core was generated by `/usr/sbin/i2pd --conf=/etc/i2pd/i2pd.conf --tunconf=/etc/i2pd/tunnels.conf --tu'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0  std::__detail::_Hash_code_base<i2p::data::Tag<32ul>, std::pair<i2p::data::Tag<32ul> const, i2p::transport::Peer>, std::__detail::_Select1st, std::hash<i2p::data::Tag<32ul> >,                                                            std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, true>::_M_bucket_index (__bkt_count=20753, __p=0x50, this=0x5643d6d187f0 <i2p::transport::transports+112>)
    at /usr/include/c++/10/bits/hashtable_policy.h:1388
1388          _M_bucket_index(const __node_type* __p, std::size_t __bkt_count) const
[Current thread is 1 (Thread 0x7fa965944700 (LWP 16625))]
(gdb) bt full
#0  std::__detail::_Hash_code_base<i2p::data::Tag<32ul>, std::pair<i2p::data::Tag<32ul> const, i2p::transport::Peer>, std::__detail::_Select1st, std::hash<i2p::data::Tag<32ul> >,                                                            std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, true>::_M_bucket_index (__bkt_count=20753, __p=0x50, this=0x5643d6d187f0 <i2p::transport::transports+112>)
    at /usr/include/c++/10/bits/hashtable_policy.h:1388
No locals.
#1  std::_Hashtable<i2p::data::Tag<32ul>, std::pair<i2p::data::Tag<32ul> const, i2p::transport::Peer>, std::allocator<std::pair<i2p::data::Tag<32ul> const, i2p::transport::Peer> >                                                           , std::__detail::_Select1st, std::equal_to<i2p::data::Tag<32ul> >, std::hash<i2p::data::Tag<32ul> >, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::_                                                           _detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, true> >::_M_bucket_index (__n=0x50, this=0x5643d6d187f0 <i2p::transport::transports+112>)
    at /usr/include/c++/10/bits/hashtable.h:678
No locals.
#2  std::_Hashtable<i2p::data::Tag<32ul>, std::pair<i2p::data::Tag<32ul> const, i2p::transport::Peer>, std::allocator<std::pair<i2p::data::Tag<32ul> const, i2p::transport::Peer> >                                                           , std::__detail::_Select1st, std::equal_to<i2p::data::Tag<32ul> >, std::hash<i2p::data::Tag<32ul> >, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::_                                                           _detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, true> >::_M_find_before_node (this=this@entry=0x5643d6d187f0 <i2p::transport::transports+112>,
    __bkt=7293, __k=..., __code=4683312703251027133) at /usr/include/c++/10/bits/hashtable.h:1583
        __p = 0x7fa948213850
        __prev_p = 0x7fa94840bc00
#3  0x00005643d6ac4e7f in std::_Hashtable<i2p::data::Tag<32ul>, std::pair<i2p::data::Tag<32ul> const, i2p::transport::Peer>, std::allocator<std::pair<i2p::data::Tag<32ul> const, i                                                           2p::transport::Peer> >, std::__detail::_Select1st, std::equal_to<i2p::data::Tag<32ul> >, std::hash<i2p::data::Tag<32ul> >, std::__detail::_Mod_range_hashing, std::__detail::_Defau                                                           lt_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, true> >::_M_find_node (__c=<optimized out>, __key=..., __bkt=<optimized out>,
    this=0x5643d6d187f0 <i2p::transport::transports+112>) at /usr/include/c++/10/bits/hashtable.h:693
        __before_n = <optimized out>
        __before_n = <optimized out>
#4  std::_Hashtable<i2p::data::Tag<32ul>, std::pair<i2p::data::Tag<32ul> const, i2p::transport::Peer>, std::allocator<std::pair<i2p::data::Tag<32ul> const, i2p::transport::Peer> >                                                           , std::__detail::_Select1st, std::equal_to<i2p::data::Tag<32ul> >, std::hash<i2p::data::Tag<32ul> >, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::_                                                           _detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, true> >::find (__k=..., this=0x5643d6d187f0 <i2p::transport::transports+112>)
    at /usr/include/c++/10/bits/hashtable.h:1454
        __code = <optimized out>
        __bkt = <optimized out>
        __p = <optimized out>
        __code = <optimized out>
        __bkt = <optimized out>
        __p = <optimized out>
#5  std::unordered_map<i2p::data::Tag<32ul>, i2p::transport::Peer, std::hash<i2p::data::Tag<32ul> >, std::equal_to<i2p::data::Tag<32ul> >, std::allocator<std::pair<i2p::data::Tag<                                                           32ul> const, i2p::transport::Peer> > >::find (__x=..., this=0x5643d6d187f0 <i2p::transport::transports+112>) at /usr/include/c++/10/bits/unordered_map.h:920
No locals.
#6  i2p::transport::Transports::HandleRequestComplete (this=0x5643d6d18780 <i2p::transport::transports>, r=std::shared_ptr<const i2p::data::RouterInfo> (empty) = {...},
    ident=...) at libi2pd/Transports.cpp:665
        it = {<std::__detail::_Node_iterator_base<std::pair<i2p::data::Tag<32> const, i2p::transport::Peer>, true>> = {_M_cur = <optimized out>}, <No data fields>}
#7  0x00005643d6acc3f3 in std::__invoke_impl<void, void (i2p::transport::Transports::*&)(std::shared_ptr<i2p::data::RouterInfo const>, i2p::data::Tag<32ul>), i2p::transport::Trans                                                           ports*&, std::shared_ptr<i2p::data::RouterInfo const>&, i2p::data::Tag<32ul>&> (__f=
    @0x7fa965943cc0: (void (i2p::transport::Transports::*)(i2p::transport::Transports * const, std::shared_ptr<i2p::data::RouterInfo const>, i2p::data::Tag<32>)) 0x7fa9382b9a20, t                                                           his adjustment 140364768582192, __t=@0x7fa965943d00: 0x7fa94e03d620, __f=
    @0x7fa965943cc0: (void (i2p::transport::Transports::*)(i2p::transport::Transports * const, std::shared_ptr<i2p::data::RouterInfo const>, i2p::data::Tag<32>)) 0x7fa9382b9a20, t                                                           --Type <RET> for more, q to quit, c to continue without paging--
his adjustment 140364768582192, __t=@0x7fa965943d00: 0x7fa94e03d620) at /usr/include/c++/10/bits/invoke.h:73
No locals.
#8  std::__invoke<void (i2p::transport::Transports::*&)(std::shared_ptr<i2p::data::RouterInfo const>, i2p::data::Tag<32ul>), i2p::transport::Transports*&, std::shared_ptr<i2p::dat                                                           a::RouterInfo const>&, i2p::data::Tag<32ul>&> (__fn=
    @0x7fa965943cc0: (void (i2p::transport::Transports::*)(i2p::transport::Transports * const, std::shared_ptr<i2p::data::RouterInfo const>, i2p::data::Tag<32>)) 0x7fa9382b9a20, t                                                           his adjustment 140364768582192) at /usr/include/c++/10/bits/invoke.h:95
No locals.
#9  std::_Bind<void (i2p::transport::Transports::*(i2p::transport::Transports*, std::shared_ptr<i2p::data::RouterInfo const>, i2p::data::Tag<32ul>))(std::shared_ptr<i2p::data::Rou                                                           terInfo const>, i2p::data::Tag<32ul>)>::__call<void, , 0ul, 1ul, 2ul>(std::tuple<>&&, std::_Index_tuple<0ul, 1ul, 2ul>) (__args=..., this=0x7fa965943cc0)
    at /usr/include/c++/10/functional:416
No locals.
#10 std::_Bind<void (i2p::transport::Transports::*(i2p::transport::Transports*, std::shared_ptr<i2p::data::RouterInfo const>, i2p::data::Tag<32ul>))(std::shared_ptr<i2p::data::Rou                                                           terInfo const>, i2p::data::Tag<32ul>)>::operator()<, void>() (this=0x7fa965943cc0) at /usr/include/c++/10/functional:499
No locals.
#11 boost::asio::asio_handler_invoke<std::_Bind<void (i2p::transport::Transports::*(i2p::transport::Transports*, std::shared_ptr<i2p::data::RouterInfo const>, i2p::data::Tag<32ul>                                                           ))(std::shared_ptr<i2p::data::RouterInfo const>, i2p::data::Tag<32ul>)> >(std::_Bind<void (i2p::transport::Transports::*(i2p::transport::Transports*, std::shared_ptr<i2p::data::Ro                                                           uterInfo const>, i2p::data::Tag<32ul>))(std::shared_ptr<i2p::data::RouterInfo const>, i2p::data::Tag<32ul>)>&, ...) (function=...)
    at /usr/include/boost/asio/handler_invoke_hook.hpp:88
No locals.
#12 boost_asio_handler_invoke_helpers::invoke<std::_Bind<void (i2p::transport::Transports::*(i2p::transport::Transports*, std::shared_ptr<i2p::data::RouterInfo const>, i2p::data::                                                           Tag<32ul>))(std::shared_ptr<i2p::data::RouterInfo const>, i2p::data::Tag<32ul>)>, std::_Bind<void (i2p::transport::Transports::*(i2p::transport::Transports*, std::shared_ptr<i2p::                                                           data::RouterInfo const>, i2p::data::Tag<32ul>))(std::shared_ptr<i2p::data::RouterInfo const>, i2p::data::Tag<32ul>)> >(std::_Bind<void (i2p::transport::Transports::*(i2p::transpor                                                           t::Transports*, std::shared_ptr<i2p::data::RouterInfo const>, i2p::data::Tag<32ul>))(std::shared_ptr<i2p::data::RouterInfo const>, i2p::data::Tag<32ul>)>&, std::_Bind<void (i2p::t                                                           ransport::Transports::*(i2p::transport::Transports*, std::shared_ptr<i2p::data::RouterInfo const>, i2p::data::Tag<32ul>))(std::shared_ptr<i2p::data::RouterInfo const>, i2p::data::                                                           Tag<32ul>)>&) (context=..., function=...) at /usr/include/boost/asio/detail/handler_invoke_helpers.hpp:54
No locals.
#13 boost::asio::detail::handler_work<std::_Bind<void (i2p::transport::Transports::*(i2p::transport::Transports*, std::shared_ptr<i2p::data::RouterInfo const>, i2p::data::Tag<32ul                                                           >))(std::shared_ptr<i2p::data::RouterInfo const>, i2p::data::Tag<32ul>)>, boost::asio::io_context::basic_executor_type<std::allocator<void>, 0u>, void>::complete<std::_Bind<void (                                                           i2p::transport::Transports::*(i2p::transport::Transports*, std::shared_ptr<i2p::data::RouterInfo const>, i2p::data::Tag<32ul>))(std::shared_ptr<i2p::data::RouterInfo const>, i2p::                                                           data::Tag<32ul>)> >(std::_Bind<void (i2p::transport::Transports::*(i2p::transport::Transports*, std::shared_ptr<i2p::data::RouterInfo const>, i2p::data::Tag<32ul>))(std::shared_pt                                                           r<i2p::data::RouterInfo const>, i2p::data::Tag<32ul>)>&, std::_Bind<void (i2p::transport::Transports::*(i2p::transport::Transports*, std::shared_ptr<i2p::data::RouterInfo const>,                                                            i2p::data::Tag<32ul>))(std::shared_ptr<i2p::data::RouterInfo const>, i2p::data::Tag<32ul>)>&) (handler=..., function=..., this=<synthetic pointer>)
    at /usr/include/boost/asio/detail/handler_work.hpp:425
No locals.
#14 boost::asio::detail::completion_handler<std::_Bind<void (i2p::transport::Transports::*(i2p::transport::Transports*, std::shared_ptr<i2p::data::RouterInfo const>, i2p::data::Ta                                                           g<32ul>))(std::shared_ptr<i2p::data::RouterInfo const>, i2p::data::Tag<32ul>)>, boost::asio::io_context::basic_executor_type<std::allocator<void>, 0u> >::do_complete(void*, boost:                                                           :asio::detail::scheduler_operation*, boost::system::error_code const&, unsigned long) (owner=0x5643d93988c0, base=0x5643d941cd30)
    at /usr/include/boost/asio/detail/completion_handler.hpp:74
        b = {<boost::asio::detail::noncopyable> = {<No data fields>}, <No data fields>}
        h = 0x5643d941cd30
        p = {h = <optimized out>, v = 0x0, p = 0x0}
        w = {<boost::asio::detail::handler_work_base<boost::asio::io_context::basic_executor_type<std::allocator<void>, 0>, void, boost::asio::io_context, boost::asio::executor, v                                                           --Type <RET> for more, q to quit, c to continue without paging--
oid>> = {<No data fields>}, <No data fields>}
        handler = {<std::_Weak_result_type<void (i2p::transport::Transports::*)(std::shared_ptr<i2p::data::RouterInfo const>, i2p::data::Tag<32>)>> = {<std::_Weak_result_type_memf                                                           un<void (i2p::transport::Transports::*)(std::shared_ptr<i2p::data::RouterInfo const>, i2p::data::Tag<32>), true>> = {<No data fields>}, <No data fields>},
          _M_f = <optimized out>, _M_bound_args = std::tuple containing = {[1] = <optimized out>, Python Exception <class 'gdb.error'> value has been optimized out:
[2] = , [3] = {{m_Buf = {<optimized out> <repeats 32 times>}, ll = {
                  <optimized out>, <optimized out>, <optimized out>, <optimized out>}}}}}
#15 0x00005643d69a0b94 in boost::asio::detail::scheduler_operation::complete (bytes_transferred=<optimized out>, ec=..., owner=0x5643d93988c0, this=0x5643d941cd30)
    at /usr/include/boost/asio/detail/scheduler_operation.hpp:40
No locals.
#16 boost::asio::detail::scheduler::do_run_one (this=this@entry=0x5643d93988c0, lock=..., this_thread=..., ec=...) at /usr/include/boost/asio/detail/impl/scheduler.ipp:481
        task_result = <optimized out>
        on_exit = {scheduler_ = 0x5643d93988c0, lock_ = 0x7fa965943de0, this_thread_ = 0x7fa965943e10}
        o = 0x5643d941cd30
        more_handlers = <optimized out>
#17 0x00005643d6abffc1 in boost::asio::detail::scheduler::run (this=0x5643d93988c0, ec=...) at /usr/include/boost/asio/detail/impl/scheduler.ipp:204
        this_thread = {<boost::asio::detail::thread_info_base> = {<boost::asio::detail::noncopyable> = {<No data fields>}, reusable_memory_ = {0x7fa948114f40, 0x0, 0x0},
            has_pending_exception_ = 0, pending_exception_ = {_M_exception_object = 0x0}}, private_op_queue = {<boost::asio::detail::noncopyable> = {<No data fields>},
            front_ = 0x0, back_ = 0x0}, private_outstanding_work = 0}
        ctx = {<boost::asio::detail::noncopyable> = {<No data fields>}, key_ = 0x5643d93988c0, value_ = 0x7fa965943e10, next_ = 0x0}
        lock = {<boost::asio::detail::noncopyable> = {<No data fields>}, mutex_ = @0x5643d93988f0, locked_ = false}
        n = <optimized out>
#18 0x00005643d6ac093d in boost::asio::io_context::run (this=<optimized out>, this=<optimized out>) at /usr/include/boost/asio/impl/io_context.ipp:63
        ec = {val_ = 0, failed_ = false, cat_ = 0x5643d6d0cd60 <boost::system::detail::cat_holder<void>::system_category_instance>}
        s = <optimized out>
        ec = {val_ = <optimized out>, failed_ = <optimized out>, cat_ = <optimized out>}
        s = <optimized out>
#19 i2p::transport::Transports::Run (this=0x5643d6d18780 <i2p::transport::transports>) at libi2pd/Transports.cpp:366
No locals.
#20 0x00007fa9678bced0 in ?? () from /lib/x86_64-linux-gnu/libstdc++.so.6
No symbol table info available.
#21 0x00007fa9679d4ea7 in start_thread (arg=<optimized out>) at pthread_create.c:477
        ret = <optimized out>
        pd = <optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140365530416896, -4844479938759342080, 140732769647166, 140732769647167, 140365530415040, 8396800, 4870141627462469632,
                4870146100090390528}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = 0
#22 0x00007fa9675b7a6f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
No locals.
(gdb) info threads
  Id   Target Id                         Frame
* 1    Thread 0x7fa965944700 (LWP 16625) std::__detail::_Hash_code_base<i2p::data::Tag<32ul>, std::pair<i2p::data::Tag<32ul> const, i2p::transport::Peer>, std::__detail::_Select1s                                                           t, std::hash<i2p::data::Tag<32ul> >, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, true>::_M_bucket_index (__bkt_count=20753, __p=0x50,
    this=0x5643d6d187f0 <i2p::transport::transports+112>) at /usr/include/c++/10/bits/hashtable_policy.h:1388
  2    Thread 0x7fa967147700 (LWP 16551) futex_wait_cancelable (private=0, expected=0, futex_word=0x5643d6d17a60 <i2p::log::logger+288>) at ../sysdeps/nptl/futex-internal.h:186
  3    Thread 0x7fa966145700 (LWP 16624) 0x00007fa96757e1e1 in __GI___clock_nanosleep (clock_id=clock_id@entry=0, flags=flags@entry=0, req=req@entry=0x7fa966144e90,
    rem=rem@entry=0x7fa966144e90) at ../sysdeps/unix/sysv/linux/clock_nanosleep.c:48
  4    Thread 0x7fa95f7fe700 (LWP 16629) 0x00007fa9675b7d96 in epoll_wait (epfd=20, events=events@entry=0x7fa95f7fd710, maxevents=maxevents@entry=128, timeout=-1)
    at ../sysdeps/unix/sysv/linux/epoll_wait.c:30
  5    Thread 0x7fa9674b2c80 (LWP 16550) 0x00007fa9679d8f09 in __pthread_mutex_unlock_usercnt (mutex=0x5643d93988f8, decr=<optimized out>) at pthread_mutex_unlock.c:58
  6    Thread 0x7fa966946700 (LWP 16623) futex_abstimed_wait_cancelable (private=0, abstime=0x7fa966945dd0, clockid=1720999216, expected=0,
    futex_word=0x5643d6d17c8c <i2p::data::netdb+460>) at ../sysdeps/nptl/futex-internal.h:323
  7    Thread 0x7fa964942700 (LWP 16627) 0x00007fa9675b7d96 in epoll_wait (epfd=15, events=events@entry=0x7fa964941740, maxevents=maxevents@entry=128, timeout=-1)
    at ../sysdeps/unix/sysv/linux/epoll_wait.c:30
  8    Thread 0x7fa95ffff700 (LWP 16628) 0x00007fa9675b7d96 in epoll_wait (epfd=12, events=events@entry=0x7fa95fffe740, maxevents=maxevents@entry=128, timeout=-1)
    at ../sysdeps/unix/sysv/linux/epoll_wait.c:30
  9    Thread 0x7fa965143700 (LWP 16626) 0x00007fa9675b7d96 in epoll_wait (epfd=9, events=events@entry=0x7fa965142740, maxevents=maxevents@entry=128, timeout=-1)
    at ../sysdeps/unix/sysv/linux/epoll_wait.c:30
(gdb)
Vort commented 4 months ago

systemctl stop i2pd

#6 i2p::transport::Transports::HandleRequestComplete (this=0x5643d6d18780 <i2p::transport::transports>, r=std::shared_ptr<const i2p::data::RouterInfo> (empty) = {...}, ident=...) at libi2pd/Transports.cpp:665

https://github.com/PurpleI2P/i2pd/blob/648a884a184531c97b03f257f3dabbeb7422d4a9/libi2pd/Transports.cpp#L672

Это - ещё одна разновидность проблем, описанных в #2058.

LLE8 commented 4 months ago

Debian 11.9 64 bit i2pd version 2.51.0-32-g8c6c954e (0.9.62) Boost version 1.74.0 OpenSSL 1.1.1w 11 Sep 2023

systemctl stop i2pd

~# gdb /usr/sbin/i2pd -c /var/lib/i2pd/core
GNU gdb (Debian 10.1-1.7) 10.1.90.20210103-git
Copyright (C) 2021 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<https://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
    <http://www.gnu.org/software/gdb/documentation/>.

For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from /usr/sbin/i2pd...
Reading symbols from /usr/lib/debug/.build-id/64/b1fbd3d76d27da46b42568bcab2973842591e4.debug...
[New LWP 30428]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Core was generated by `/usr/sbin/i2pd --conf=/etc/i2pd/i2pd.conf --tunconf=/etc/i2pd/tunnels.conf --tu'.
Program terminated with signal SIGABRT, Aborted.
#0  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
50      ../sysdeps/unix/sysv/linux/raise.c: No such file or directory.
(gdb) bt full
#0  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
        set = {__val = {0, 18446744073709551615 <repeats 12 times>, 5737015200688416512, 94380026496464, 0}}
        pid = <optimized out>
        tid = <optimized out>
        ret = <optimized out>
#1  0x00007fc2bfc2e5ef in __GI_abort () at abort.c:100
        act = {__sigaction_handler = {sa_handler = 0x0, sa_sigaction = 0x0}, sa_mask = {__val = {18446744073709551615 <repeats 16 times>}}, sa_flags = 0, sa_restorer = 0x0}
        sigs = {__val = {32, 0 <repeats 15 times>}}
#2  0x00007fc2bfc863e8 in __libc_message (action=action@entry=do_abort, fmt=fmt@entry=0x7fc2bfda4390 "%s\n") at ../sysdeps/posix/libc_fatal.c:155
        ap = {{gp_offset = 24, fp_offset = 0, overflow_arg_area = 0x7ffe65e0f940, reg_save_area = 0x7ffe65e0f8d0}}
        fd = <optimized out>
        list = <optimized out>
        nlist = <optimized out>
        cp = <optimized out>
#3  0x00007fc2bfc8d6da in malloc_printerr (str=str@entry=0x7fc2bfda200b "corrupted size vs. prev_size") at malloc.c:5347
No locals.
#4  0x00007fc2bfc8e426 in unlink_chunk (p=p@entry=0x7fc2a4786d60, av=0x7fc2a4000020) at malloc.c:1454
        fd = <optimized out>
        bk = <optimized out>
#5  0x00007fc2bfc8ebfb in _int_free (av=0x7fc2a4000020, p=0x7fc2a47859c0, have_lock=<optimized out>) at malloc.c:4342
        size = <optimized out>
        fb = <optimized out>
        nextchunk = 0x7fc2a4786d60
        nextsize = 320
        nextinuse = <optimized out>
        prevsize = <optimized out>
        bck = <optimized out>
        fwd = <optimized out>
        __PRETTY_FUNCTION__ = "_int_free"
#6  0x000055d68e19503c in i2p::util::MemoryPool<i2p::data::IdentityEx>::CleanUp (head=0x7fc295940b40, this=0x55d68e45cf90 <i2p::data::netdb+1200>) at libi2pd/util.h:105
        tmp = <optimized out>
#7  i2p::util::MemoryPool<i2p::data::IdentityEx>::CleanUp (this=0x55d68e45cf90 <i2p::data::netdb+1200>) at libi2pd/util.h:59
No locals.
#8  i2p::util::MemoryPool<i2p::data::IdentityEx>::~MemoryPool (this=0x55d68e45cf90 <i2p::data::netdb+1200>, __in_chrg=<optimized out>) at libi2pd/util.h:54
No locals.
#9  i2p::util::MemoryPoolMt<i2p::data::IdentityEx>::~MemoryPoolMt (this=0x55d68e45cf90 <i2p::data::netdb+1200>, __in_chrg=<optimized out>) at libi2pd/util.h:115
No locals.
#10 i2p::data::NetDb::~NetDb (this=0x55d68e45cae0 <i2p::data::netdb>, __in_chrg=<optimized out>) at libi2pd/NetDb.cpp:43
No locals.
#11 0x00007fc2bfc47517 in __run_exit_handlers (status=0, listp=0x7fc2bfdda718 <__exit_funcs>, run_list_atexit=run_list_atexit@entry=true, run_dtors=run_dtors@entry=true) at exit.c:108
        atfct = <optimized out>
        onfct = <optimized out>
        cxafct = <optimized out>
        f = <optimized out>
        new_exitfn_called = 197
        cur = 0x55d68ff3de10
        restart = <optimized out>
#12 0x00007fc2bfc476ba in __GI_exit (status=<optimized out>) at exit.c:139
No locals.
#13 0x00007fc2bfc2fd11 in __libc_start_main (main=0x55d68e081770 <main(int, char**)>, argc=8, argv=0x7ffe65e0fb58, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>,
    stack_end=0x7ffe65e0fb48) at ../csu/libc-start.c:342
        result = <optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {0, -8717578185565131568, 94379994486704, 0, 0, 0, -3218622928139440944, -3230044946904634160}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x8,
              0x7ffe65e0fb58}, data = {prev = 0x0, cleanup = 0x0, canceltype = 8}}}
        not_first_call = <optimized out>
#14 0x000055d68e0b97da in _start ()
No symbol table info available.
(gdb) info threads
  Id   Target Id                         Frame
* 1    Thread 0x7fc2bfc02c80 (LWP 30428) __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
(gdb)
Vort commented 4 months ago

Процедура выключения i2pd сильно забагованная, я пробовал разбираться, там всё сложно. Поэтому если всю память не отжирает при выключении - то и ладно.

LLE8 commented 4 months ago

Может быть что-то полезное Debian 11.9 64 bit i2pd version 2.51.0-34-g62d279e1 (0.9.62) Boost version 1.74.0 OpenSSL 1.1.1w 11 Sep 2023

systemctl stop i2pd

~# gdb /usr/sbin/i2pd  -c /var/lib/i2pd/core
GNU gdb (Debian 10.1-1.7) 10.1.90.20210103-git
Copyright (C) 2021 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<https://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
    <http://www.gnu.org/software/gdb/documentation/>.

For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from /usr/sbin/i2pd...
Reading symbols from /usr/lib/debug/.build-id/0b/3ea9768aee5de8fb4983ec30d44903d4153401.debug...
[New LWP 68676]
[New LWP 68603]
[New LWP 68602]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Core was generated by `/usr/sbin/i2pd --conf=/etc/i2pd/i2pd.conf --tunconf=/etc/i2pd/tunnels.conf --tu'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0  boost::asio::detail::epoll_reactor::start_op (this=0x5586de1b9250, op_type=op_type@entry=0, descriptor=22, descriptor_data=@0x5586de1a5f78: 0x0, op=op@entry=0x7f92f8002d50,
    is_continuation=is_continuation@entry=false, allow_speculative=true) at /usr/include/boost/asio/detail/impl/epoll_reactor.ipp:245
245       if (descriptor_data->shutdown_)
[Current thread is 1 (Thread 0x7f9320ff9700 (LWP 68676))]
(gdb) bt full
#0  boost::asio::detail::epoll_reactor::start_op (this=0x5586de1b9250, op_type=op_type@entry=0, descriptor=22, descriptor_data=@0x5586de1a5f78: 0x0, op=op@entry=0x7f92f8002d50,
    is_continuation=is_continuation@entry=false, allow_speculative=true) at /usr/include/boost/asio/detail/impl/epoll_reactor.ipp:245
        descriptor_lock = {<boost::asio::detail::noncopyable> = {<No data fields>}, mutex_ = <optimized out>, locked_ = <optimized out>}
#1  0x00005586dca5de13 in boost::asio::detail::reactive_socket_service_base::start_op (this=<optimized out>, this=<optimized out>, noop=false, is_non_blocking=true, is_continuation=false,
    op=0x7f92f8002d50, op_type=0, impl=...) at /usr/include/boost/asio/detail/impl/reactive_socket_service_base.ipp:246
No locals.
#2  boost::asio::detail::reactive_socket_service_base::start_op (noop=false, is_non_blocking=true, is_continuation=false, op=0x7f92f8002d50, op_type=0, impl=..., this=0x5586de1b8e28)
    at /usr/include/boost/asio/detail/impl/reactive_socket_service_base.ipp:235
No locals.
#3  boost::asio::detail::reactive_socket_service_base::start_accept_op (peer_is_open=<optimized out>, is_continuation=false, op=0x7f92f8002d50, impl=..., this=0x5586de1b8e28)
    at /usr/include/boost/asio/detail/impl/reactive_socket_service_base.ipp:260
No locals.
#4  boost::asio::detail::reactive_socket_service<boost::asio::ip::tcp>::async_accept<boost::asio::basic_socket<boost::asio::ip::tcp, boost::asio::execution::any_executor<boost::asio::execution::context_as_t<boost::asio::execution_context&>, boost::asio::execution::detail::blocking::never_t<0>, boost::asio::execution::prefer_only<boost::asio::execution::detail::blocking::possibly_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::tracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::untracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::fork_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::continuation_t<0> > > >, std::_Bind<void (i2p::http::HTTPServer::*(i2p::http::HTTPServer*, std::_Placeholder<1>, std::shared_ptr<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::execution::any_executor<boost::asio::execution::context_as_t<boost::asio::execution_context&>, boost::asio::execution::detail::blocking::never_t<0>, boost::asio::execution::prefer_only<boost::asio::execution::detail::blocking::possibly_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::tracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::untracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::fork_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::continuation_t<0> > > > >))(boost::system::error_code const&, std::shared_ptr<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::execution::any_executor<boost::asio::execution::context_as_t<boost::asio::execution_context&>, boost::asio::execution::detail::blocking::never_t<0>, boost::asio::execution::prefer_only<boost::asio::execution::detail::blocking::possibly_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::tracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::untracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::fork_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::continuation_t<0> > > > >)>, boost::asio::execution::any_executor<boost::asio::execution::context_as_t<boost::asio::execution_context&>, boost::asio::execution::detail::blocking::never_t<0>, boost::asio::execution::prefer_only<boost::asio::execution::detail::blocking::possibly_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::tracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::untracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::fork_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::continuation_t<0> > > >(boost::asio::detail::reactive_socket_service<boost::asio::ip::tcp>::implementation_type&, boost::asio::basic_socket<boost::asio::ip::tcp, boost::asio::execution::any_executor<boost::asio::execution::context_as_t<boost::asio::execution_context&>, boost::asio::execution::detail::blocking::never_t<0>, boost::asio::execution::prefer_only<boost::asio::execution::detail::blocking::possibly_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::tracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::untracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::fork_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::continuation_t<0> > > >&, boost::asio::ip::basic_endpoint<boost::asio::ip::tcp>*, std::_Bind<void (i2p::http::HTTPServer::*(i2p::http::HTTPServer*, std::_Placeholder<1>, std::shared_ptr<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::execution::any_executor<boost::asio::execution::context_as_t<boost::asio::execution_context&>, boost::asio::execution::detail::blocking::never_t<0>, boost::asio::execution::prefer_only<boost::asio::execution::detail::blocking::possibly_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::tracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::untracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::fork_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::continuation_t<0> > > > >))(boost::system::error_code const&, std::shared_ptr<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::execution::any_executor<boost::asio::execution::context_as_t<boost::asio::execution_context&>, boost::asio::execution::detail::blocking::never_t<0>, boost::asio::execution::prefer_only<boost::asio::execution::detail::blocking::possibly_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::tracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::untracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::fork_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::continuation_t<0> > > > >)>&, boost::asio::execution::any_executor<boost::asio::execution::context_as_t<boost::asio::execution_context&>, boost::asio::execution::detail::blocking::never_t<0>, boost::asio::execution::prefer_only<boost::asio::execution::detail::blocking::possibly_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::tracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::untracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::fork_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::continuation_t<0> > > const&) (io_ex=...,
    handler=..., peer_endpoint=0x0, peer=..., impl=..., this=0x5586de1b8e00) at /usr/include/boost/asio/detail/reactive_socket_service.hpp:458
        is_continuation = false
        p = {h = 0x7f9320ff8b20, v = 0x7f92f8002d50, p = 0x7f92f8002d50}
        is_continuation = <optimized out>
        p = {h = <optimized out>, v = <optimized out>, p = <optimized out>}
#5  boost::asio::basic_socket_acceptor<boost::asio::ip::tcp, boost::asio::execution::any_executor<boost::asio::execution::context_as_t<boost::asio::execution_context&>, boost::asio::execution::detail::blocking::never_t<0>, boost::asio::execution::prefer_only<boost::asio::execution::detail::blocking::possibly_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::tracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::untracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::fork_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::continuation_t<0> > > >::initiate_async_accept::operator()<std::_Bind<void (i2p::http::HTTPServer::*(i2p::http::HTTPServer*, std::_Placeholder<1>, std::shared_ptr<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::execution::any_executor<boost::asio::execution::context_as_t<boost::asio::execution_context&>, boost::asio::execution::detail::blocking::never_t<0>, boost::asio::execution::prefer_only<boost::asio::execution::detail::blocking::possibly_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::tracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::untracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::fork_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::continuation_t<0> > > > >))(boost::system::error_code const&, std::shared_ptr<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::execution::any_executor<boost::asio::execution::context_as_t<boost::asio::execution_context&>, boost::asio::execution::detail::blocking::never_t<0>, boost::asio::execution::prefer_only<boost::asio::execution::detail::blocking::possibly_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::tracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::untracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::fork_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::continuation_t<0> > > > >)>, boost::asio::ip::tcp, boost::asio::execution::any_executor<boost::asio::execution::context_as_t<boost::asio::execution_context&>, boost::asio::execution::detail::blocking::never_t<0>, boost::asio::execution::prefer_only<boost::asio::execution::detail::blocking::possibly_t<0> >, boost::asio::execution::prefer_only<boost::asio::ex--Type <RET> for more, q to quit, c to continue without paging--
ecution::detail::outstanding_work::tracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::untracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::fork_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::continuation_t<0> > > >(std::_Bind<void (i2p::http::HTTPServer::*(i2p::http::HTTPServer*, std::_Placeholder<1>, std::shared_ptr<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::execution::any_executor<boost::asio::execution::context_as_t<boost::asio::execution_context&>, boost::asio::execution::detail::blocking::never_t<0>, boost::asio::execution::prefer_only<boost::asio::execution::detail::blocking::possibly_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::tracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::untracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::fork_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::continuation_t<0> > > > >))(boost::system::error_code const&, std::shared_ptr<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::execution::any_executor<boost::asio::execution::context_as_t<boost::asio::execution_context&>, boost::asio::execution::detail::blocking::never_t<0>, boost::asio::execution::prefer_only<boost::asio::execution::detail::blocking::possibly_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::tracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::untracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::fork_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::continuation_t<0> > > > >)>&&, boost::asio::basic_socket<boost::asio::ip::tcp, boost::asio::execution::any_executor<boost::asio::execution::context_as_t<boost::asio::execution_context&>, boost::asio::execution::detail::blocking::never_t<0>, boost::asio::execution::prefer_only<boost::asio::execution::detail::blocking::possibly_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::tracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::untracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::fork_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::continuation_t<0> > > >*, boost::asio::ip::basic_endpoint<boost::asio::ip::tcp>*) const (this=<optimized out>, this=<optimized out>, peer_endpoint=0x0, peer=0x7f92f8003c40, handler=...) at /usr/include/boost/asio/basic_socket_acceptor.hpp:2443
        handler2 = {value = <optimized out>}
        handler2 = {value = <optimized out>}
#6  boost::asio::async_result<std::_Bind<void (i2p::http::HTTPServer::*(i2p::http::HTTPServer*, std::_Placeholder<1>, std::shared_ptr<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::execution::any_executor<boost::asio::execution::context_as_t<boost::asio::execution_context&>, boost::asio::execution::detail::blocking::never_t<0>, boost::asio::execution::prefer_only<boost::asio::execution::detail::blocking::possibly_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::tracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::untracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::fork_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::continuation_t<0> > > > >))(boost::system::error_code const&, std::shared_ptr<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::execution::any_executor<boost::asio::execution::context_as_t<boost::asio::execution_context&>, boost::asio::execution::detail::blocking::never_t<0>, boost::asio::execution::prefer_only<boost::asio::execution::detail::blocking::possibly_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::tracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::untracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::fork_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::continuation_t<0> > > > >)>, void (boost::system::error_code)>::initiate<boost::asio::basic_socket_acceptor<boost::asio::ip::tcp, boost::asio::execution::any_executor<boost::asio::execution::context_as_t<boost::asio::execution_context&>, boost::asio::execution::detail::blocking::never_t<0>, boost::asio::execution::prefer_only<boost::asio::execution::detail::blocking::possibly_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::tracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::untracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::fork_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::continuation_t<0> > > >::initiate_async_accept, std::_Bind<void (i2p::http::HTTPServer::*(i2p::http::HTTPServer*, std::_Placeholder<1>, std::shared_ptr<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::execution::any_executor<boost::asio::execution::context_as_t<boost::asio::execution_context&>, boost::asio::execution::detail::blocking::never_t<0>, boost::asio::execution::prefer_only<boost::asio::execution::detail::blocking::possibly_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::tracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::untracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::fork_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::continuation_t<0> > > > >))(boost::system::error_code const&, std::shared_ptr<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::execution::any_executor<boost::asio::execution::context_as_t<boost::asio::execution_context&>, boost::asio::execution::detail::blocking::never_t<0>, boost::asio::execution::prefer_only<boost::asio::execution::detail::blocking::possibly_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::tracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::untracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::fork_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::continuation_t<0> > > > >)>, boost::asio::basic_socket<boost::asio::ip::tcp, boost::asio::execution::any_executor<boost::asio::execution::context_as_t<boost::asio::execution_context&>, boost::asio::execution::detail::blocking::never_t<0>, boost::asio::execution::prefer_only<boost::asio::execution::detail::blocking::possibly_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::tracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::untracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::fork_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::continuation_t<0> > > >*, boost::asio::ip::basic_endpoint<boost::asio::ip::tcp>*>(boost::asio::basic_socket_acceptor<boost::asio::ip::tcp, boost::asio::execution::any_executor<boost::asio::execution::context_as_t<boost::asio::execution_context&>, boost::asio::execution::detail::blocking::never_t<0>, boost::asio::execution::prefer_only<boost::asio::execution::detail::blocking::possibly_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::tracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::untracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::fork_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::continuation_t<0> > > >::initiate_async_accept&&, std::_Bind<void (i2p::http::HTTPServer::*(i2p::http::HTTPServer*, std::_Placeholder<1>, std::shared_ptr<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::execution::any_executor<boost::asio::execution::context_as_t<boost::asio::execution_context&>, boost::asio::execution::detail::blocking::never_t<0>, boost::asio::execution::prefer_only<boost::asio::execution::detail::blocking::possibly_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::tracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::untracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::fork_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::continuation_t<0> > > > >))(boost::system::error_code const&, std::shared_ptr<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::execution::any_executor<boost::asio::execution::context_as_t<boost::asio::execution_context&>, boost::asio::execution::detail::blocking::never_t<0>, boost::asio::execution::prefer_only<boost::asio::execution::detail::blocking::possibly_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::tracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::untracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::fork_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::continuation_t<0> > > > >)>&&, boost::asio::basic_socket<boost::asio::ip::tcp, boost::asio::execution::any_executor<boost::asio::execution::context_as_t<boost::asio::execution_context&>, boost::asio::execution::detail::blocking::never_t<0>, boost::asio::execution::prefer_only<boost::asio::execution::detail::blocking::possibly_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::tracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::untracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::fork_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::continuation_t<0> > > >*&&, boost::asio::ip::basic_endpoint<boost::asio::ip::tcp>*&&) (token=..., initiation=...) at /usr/include/boost/asio/async_result.hpp:152
No locals.
#7  boost::asio::async_initiate<std::_Bind<void (i2p::http::HTTPServer::*(i2p::http::HTTPServer*, std::_Placeholder<1>, std::shared_ptr<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::execution::any_executor<boost::asio::execution::context_as_t<boost::asio::execution_context&>, boost::asio::execution::detail::blocking::never_t<0>, boost::asio::execution::prefer_only<boost::asio::execution::detail::blocking::possibly_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::tracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::untracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::fork_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationshi--Type <RET> for more, q to quit, c to continue without paging--
p::continuation_t<0> > > > >))(boost::system::error_code const&, std::shared_ptr<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::execution::any_executor<boost::asio::execution::context_as_t<boost::asio::execution_context&>, boost::asio::execution::detail::blocking::never_t<0>, boost::asio::execution::prefer_only<boost::asio::execution::detail::blocking::possibly_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::tracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::untracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::fork_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::continuation_t<0> > > > >)>, void (boost::system::error_code), boost::asio::basic_socket_acceptor<boost::asio::ip::tcp, boost::asio::execution::any_executor<boost::asio::execution::context_as_t<boost::asio::execution_context&>, boost::asio::execution::detail::blocking::never_t<0>, boost::asio::execution::prefer_only<boost::asio::execution::detail::blocking::possibly_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::tracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::untracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::fork_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::continuation_t<0> > > >::initiate_async_accept, boost::asio::basic_socket<boost::asio::ip::tcp, boost::asio::execution::any_executor<boost::asio::execution::context_as_t<boost::asio::execution_context&>, boost::asio::execution::detail::blocking::never_t<0>, boost::asio::execution::prefer_only<boost::asio::execution::detail::blocking::possibly_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::tracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::untracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::fork_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::continuation_t<0> > > >*, boost::asio::ip::basic_endpoint<boost::asio::ip::tcp>*>(boost::asio::basic_socket_acceptor<boost::asio::ip::tcp, boost::asio::execution::any_executor<boost::asio::execution::context_as_t<boost::asio::execution_context&>, boost::asio::execution::detail::blocking::never_t<0>, boost::asio::execution::prefer_only<boost::asio::execution::detail::blocking::possibly_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::tracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::untracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::fork_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::continuation_t<0> > > >::initiate_async_accept&&, std::_Bind<void (i2p::http::HTTPServer::*(i2p::http::HTTPServer*, std::_Placeholder<1>, std::shared_ptr<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::execution::any_executor<boost::asio::execution::context_as_t<boost::asio::execution_context&>, boost::asio::execution::detail::blocking::never_t<0>, boost::asio::execution::prefer_only<boost::asio::execution::detail::blocking::possibly_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::tracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::untracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::fork_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::continuation_t<0> > > > >))(boost::system::error_code const&, std::shared_ptr<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::execution::any_executor<boost::asio::execution::context_as_t<boost::asio::execution_context&>, boost::asio::execution::detail::blocking::never_t<0>, boost::asio::execution::prefer_only<boost::asio::execution::detail::blocking::possibly_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::tracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::untracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::fork_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::continuation_t<0> > > > >)>&, boost::asio::basic_socket<boost::asio::ip::tcp, boost::asio::execution::any_executor<boost::asio::execution::context_as_t<boost::asio::execution_context&>, boost::asio::execution::detail::blocking::never_t<0>, boost::asio::execution::prefer_only<boost::asio::execution::detail::blocking::possibly_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::tracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::untracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::fork_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::continuation_t<0> > > >*&&, boost::asio::ip::basic_endpoint<boost::asio::ip::tcp>*&&) (token=..., initiation=...) at /usr/include/boost/asio/async_result.hpp:365
No locals.
#8  boost::asio::basic_socket_acceptor<boost::asio::ip::tcp, boost::asio::execution::any_executor<boost::asio::execution::context_as_t<boost::asio::execution_context&>, boost::asio::execution::detail::blocking::never_t<0>, boost::asio::execution::prefer_only<boost::asio::execution::detail::blocking::possibly_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::tracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::untracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::fork_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::continuation_t<0> > > >::async_accept<boost::asio::ip::tcp, boost::asio::execution::any_executor<boost::asio::execution::context_as_t<boost::asio::execution_context&>, boost::asio::execution::detail::blocking::never_t<0>, boost::asio::execution::prefer_only<boost::asio::execution::detail::blocking::possibly_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::tracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::untracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::fork_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::continuation_t<0> > >, std::_Bind<void (i2p::http::HTTPServer::*(i2p::http::HTTPServer*, std::_Placeholder<1>, std::shared_ptr<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::execution::any_executor<boost::asio::execution::context_as_t<boost::asio::execution_context&>, boost::asio::execution::detail::blocking::never_t<0>, boost::asio::execution::prefer_only<boost::asio::execution::detail::blocking::possibly_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::tracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::untracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::fork_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::continuation_t<0> > > > >))(boost::system::error_code const&, std::shared_ptr<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::execution::any_executor<boost::asio::execution::context_as_t<boost::asio::execution_context&>, boost::asio::execution::detail::blocking::never_t<0>, boost::asio::execution::prefer_only<boost::asio::execution::detail::blocking::possibly_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::tracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::untracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::fork_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::continuation_t<0> > > > >)> >(boost::asio::basic_socket<boost::asio::ip::tcp, boost::asio::execution::any_executor<boost::asio::execution::context_as_t<boost::asio::execution_context&>, boost::asio::execution::detail::blocking::never_t<0>, boost::asio::execution::prefer_only<boost::asio::execution::detail::blocking::possibly_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::tracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::untracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::fork_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::continuation_t<0> > > >&, std::_Bind<void (i2p::http::HTTPServer::*(i2p::http::HTTPServer*, std::_Placeholder<1>, std::shared_ptr<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::execution::any_executor<boost::asio::execution::context_as_t<boost::asio::execution_context&>, boost::asio::execution::detail::blocking::never_t<0>, boost::asio::execution::prefer_only<boost::asio::execution::detail::blocking::possibly_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::tracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::untracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::fork_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::continuation_t<0> > > > >))(boost::system::error_code const&, std::shared_ptr<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::execution::any_executor<boost::asio::execution::context_as_t<boost::asio::execution_context&>, boost::asio::execution::detail::blocking::never_t<0>, boost::asio::execution::prefer_only<boost::asio::execution::detail::blocking::possibly_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::tracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::untracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::fork_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::continuation_t<0> > > > >)>&&, std::enable_if<std::is_convertible<boost::asio::ip::tcp, boost::asio::ip::tcp>::value, void>::type*) (handler=..., peer=..., this=0x5586de1a5f68) at /usr/include/boost/asio/basic_socket_acceptor.hpp:1351
No locals.
#9  i2p::http::HTTPServer::Accept (this=0x5586de1a5f40) at daemon/HTTPServer.cpp:1548
        newSocket = std::shared_ptr<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::execution::any_executor<boost::asio::execution::context_as_t<boost::asio::execution_context&>, boost::asio::execution::detail::blocking::never_t<0>, boost::asio::execution::prefer_only<boost::asio::execution::detail::blocking::possibly_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::tracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::untracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail:--Type <RET> for more, q to quit, c to continue without paging--
:relationship::fork_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::continuation_t<0> > > >> (use count 2, weak count 0) = {get() = <optimized out>}
#10 0x00005586dca6e749 in std::__invoke_impl<void, void (i2p::http::HTTPServer::*&)(boost::system::error_code const&, std::shared_ptr<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::execution::any_executor<boost::asio::execution::context_as_t<boost::asio::execution_context&>, boost::asio::execution::detail::blocking::never_t<0>, boost::asio::execution::prefer_only<boost::asio::execution::detail::blocking::possibly_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::tracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::untracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::fork_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::continuation_t<0> > > > >), i2p::http::HTTPServer*&, boost::system::error_code const&, std::shared_ptr<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::execution::any_executor<boost::asio::execution::context_as_t<boost::asio::execution_context&>, boost::asio::execution::detail::blocking::never_t<0>, boost::asio::execution::prefer_only<boost::asio::execution::detail::blocking::possibly_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::tracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::untracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::fork_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::continuation_t<0> > > > >&>
    (__f=
    @0x7f9320ff8bf0: (void (i2p::http::HTTPServer::*)(i2p::http::HTTPServer * const, const boost::system::error_code &, std::shared_ptr<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::execution::any_executor<boost::asio::execution::context_as_t<boost::asio::execution_context&>, boost::asio::execution::detail::blocking::never_t<0>, boost::asio::execution::prefer_only<boost::asio::execution::detail::blocking::possibly_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::tracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::untracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::fork_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::continuation_t<0> > > > >)) 0x5586dca5e500 <i2p::http::HTTPServer::HandleAccept(boost::system::error_code const&, std::shared_ptr<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::execution::any_executor<boost::asio::execution::context_as_t<boost::asio::execution_context&>, boost::asio::execution::detail::blocking::never_t<0>, boost::asio::execution::prefer_only<boost::asio::execution::detail::blocking::possibly_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::tracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::untracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::fork_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::continuation_t<0> > > > >)>, __t=@0x7f9320ff8c10: 0x5586de1a5f40, __f=
    @0x7f9320ff8bf0: (void (i2p::http::HTTPServer::*)(i2p::http::HTTPServer * const, const boost::system::error_code &, std::shared_ptr<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::execution::any_executor<boost::asio::execution::context_as_t<boost::asio::execution_context&>, boost::asio::execution::detail::blocking::never_t<0>, boost::asio::execution::prefer_only<boost::asio::execution::detail::blocking::possibly_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::tracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::untracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::fork_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::continuation_t<0> > > > >)) 0x5586dca5e500 <i2p::http::HTTPServer::HandleAccept(boost::system::error_code const&, std::shared_ptr<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::execution::any_executor<boost::asio::execution::context_as_t<boost::asio::execution_context&>, boost::asio::execution::detail::blocking::never_t<0>, boost::asio::execution::prefer_only<boost::asio::execution::detail::blocking::possibly_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::tracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::untracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::fork_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::continuation_t<0> > > > >)>, __t=@0x7f9320ff8c10: 0x5586de1a5f40) at /usr/include/c++/10/bits/invoke.h:73
No locals.
#11 std::__invoke<void (i2p::http::HTTPServer::*&)(boost::system::error_code const&, std::shared_ptr<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::execution::any_executor<boost::asio::execution::context_as_t<boost::asio::execution_context&>, boost::asio::execution::detail::blocking::never_t<0>, boost::asio::execution::prefer_only<boost::asio::execution::detail::blocking::possibly_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::tracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::untracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::fork_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::continuation_t<0> > > > >), i2p::http::HTTPServer*&, boost::system::error_code const&, std::shared_ptr<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::execution::any_executor<boost::asio::execution::context_as_t<boost::asio::execution_context&>, boost::asio::execution::detail::blocking::never_t<0>, boost::asio::execution::prefer_only<boost::asio::execution::detail::blocking::possibly_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::tracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::untracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::fork_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::continuation_t<0> > > > >&> (__fn=
    @0x7f9320ff8bf0: (void (i2p::http::HTTPServer::*)(i2p::http::HTTPServer * const, const boost::system::error_code &, std::shared_ptr<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::execution::any_executor<boost::asio::execution::context_as_t<boost::asio::execution_context&>, boost::asio::execution::detail::blocking::never_t<0>, boost::asio::execution::prefer_only<boost::asio::execution::detail::blocking::possibly_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::tracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::untracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::fork_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::continuation_t<0> > > > >)) 0x5586dca5e500 <i2p::http::HTTPServer::HandleAccept(boost::system::error_code const&, std::shared_ptr<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::execution::any_executor<boost::asio::execution::context_as_t<boost::asio::execution_context&>, boost::asio::execution::detail::blocking::never_t<0>, boost::asio::execution::prefer_only<boost::asio::execution::detail::blocking::possibly_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::tracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::untracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::fork_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::continuation_t<0> > > > >)>) at /usr/include/c++/10/bits/invoke.h:95
No locals.
#12 std::_Bind<void (i2p::http::HTTPServer::*(i2p::http::HTTPServer*, std::_Placeholder<1>, std::shared_ptr<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::execution::any_executor<boost::asio::execution::context_as_t<boost::asio::execution_context&>, boost::asio::execution::detail::blocking::never_t<0>, boost::asio::execution::prefer_only<boost::asio::execution::detail::blocking::possibly_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::tracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::untracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::fork_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::continuation_t<0> > > > >))(boost::system::error_code const&, std::shared_ptr<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::execution::any_executor<boost::asio::execution::context_as_t<boost::asio::execution_context&>, boost::asio::execution::detail::blocking::never_t<0>, boost::asio::execution::prefer_only<boost::asio::execution::detail::blocking::possibly_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::tracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::untracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::fork_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::continuation_t<0> > > > >)>::__call<void, boost::system::error_code const&, 0ul, 1ul, 2ul>(std::tuple<boost::system::error_code const&>&&, std::_Index_tuple<0ul, 1ul, 2ul>) (__args=..., this=0x7f9320ff8bf0) at /usr/include/c++/10/functional:416
No locals.
#13 std::_Bind<void (i2p::http::HTTPServer::*(i2p::http::HTTPServer*, std::_Placeholder<1>, std::shared_ptr<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::execution::any_executor<boost::asio::execution::context_as_t<boost::asio::execution_context&>, boost::asio::execution::detail::blocking::never_t<0>, boost::asio::execution::prefer_only<boost::asio::execution::detail::blocking::possibly_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::tracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::untracked_t<0--Type <RET> for more, q to quit, c to continue without paging--
> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::fork_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::continuation_t<0> > > > >))(boost::system::error_code const&, std::shared_ptr<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::execution::any_executor<boost::asio::execution::context_as_t<boost::asio::execution_context&>, boost::asio::execution::detail::blocking::never_t<0>, boost::asio::execution::prefer_only<boost::asio::execution::detail::blocking::possibly_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::tracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::untracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::fork_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::continuation_t<0> > > > >)>::operator()<boost::system::error_code const&, void>(boost::system::error_code const&) (this=0x7f9320ff8bf0) at /usr/include/c++/10/functional:499
No locals.
#14 boost::asio::detail::binder1<std::_Bind<void (i2p::http::HTTPServer::*(i2p::http::HTTPServer*, std::_Placeholder<1>, std::shared_ptr<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::execution::any_executor<boost::asio::execution::context_as_t<boost::asio::execution_context&>, boost::asio::execution::detail::blocking::never_t<0>, boost::asio::execution::prefer_only<boost::asio::execution::detail::blocking::possibly_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::tracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::untracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::fork_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::continuation_t<0> > > > >))(boost::system::error_code const&, std::shared_ptr<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::execution::any_executor<boost::asio::execution::context_as_t<boost::asio::execution_context&>, boost::asio::execution::detail::blocking::never_t<0>, boost::asio::execution::prefer_only<boost::asio::execution::detail::blocking::possibly_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::tracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::untracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::fork_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::continuation_t<0> > > > >)>, boost::system::error_code>::operator()() (this=0x7f9320ff8bf0) at /usr/include/boost/asio/detail/bind_handler.hpp:65
No locals.
#15 boost::asio::asio_handler_invoke<boost::asio::detail::binder1<std::_Bind<void (i2p::http::HTTPServer::*(i2p::http::HTTPServer*, std::_Placeholder<1>, std::shared_ptr<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::execution::any_executor<boost::asio::execution::context_as_t<boost::asio::execution_context&>, boost::asio::execution::detail::blocking::never_t<0>, boost::asio::execution::prefer_only<boost::asio::execution::detail::blocking::possibly_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::tracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::untracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::fork_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::continuation_t<0> > > > >))(boost::system::error_code const&, std::shared_ptr<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::execution::any_executor<boost::asio::execution::context_as_t<boost::asio::execution_context&>, boost::asio::execution::detail::blocking::never_t<0>, boost::asio::execution::prefer_only<boost::asio::execution::detail::blocking::possibly_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::tracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::untracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::fork_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::continuation_t<0> > > > >)>, boost::system::error_code> >(boost::asio::detail::binder1<std::_Bind<void (i2p::http::HTTPServer::*(i2p::http::HTTPServer*, std::_Placeholder<1>, std::shared_ptr<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::execution::any_executor<boost::asio::execution::context_as_t<boost::asio::execution_context&>, boost::asio::execution::detail::blocking::never_t<0>, boost::asio::execution::prefer_only<boost::asio::execution::detail::blocking::possibly_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::tracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::untracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::fork_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::continuation_t<0> > > > >))(boost::system::error_code const&, std::shared_ptr<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::execution::any_executor<boost::asio::execution::context_as_t<boost::asio::execution_context&>, boost::asio::execution::detail::blocking::never_t<0>, boost::asio::execution::prefer_only<boost::asio::execution::detail::blocking::possibly_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::tracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::untracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::fork_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::continuation_t<0> > > > >)>, boost::system::error_code>&, ...) (function=...) at /usr/include/boost/asio/handler_invoke_hook.hpp:88
No locals.
#16 boost_asio_handler_invoke_helpers::invoke<boost::asio::detail::binder1<std::_Bind<void (i2p::http::HTTPServer::*(i2p::http::HTTPServer*, std::_Placeholder<1>, std::shared_ptr<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::execution::any_executor<boost::asio::execution::context_as_t<boost::asio::execution_context&>, boost::asio::execution::detail::blocking::never_t<0>, boost::asio::execution::prefer_only<boost::asio::execution::detail::blocking::possibly_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::tracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::untracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::fork_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::continuation_t<0> > > > >))(boost::system::error_code const&, std::shared_ptr<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::execution::any_executor<boost::asio::execution::context_as_t<boost::asio::execution_context&>, boost::asio::execution::detail::blocking::never_t<0>, boost::asio::execution::prefer_only<boost::asio::execution::detail::blocking::possibly_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::tracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::untracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::fork_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::continuation_t<0> > > > >)>, boost::system::error_code>, std::_Bind<void (i2p::http::HTTPServer::*(i2p::http::HTTPServer*, std::_Placeholder<1>, std::shared_ptr<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::execution::any_executor<boost::asio::execution::context_as_t<boost::asio::execution_context&>, boost::asio::execution::detail::blocking::never_t<0>, boost::asio::execution::prefer_only<boost::asio::execution::detail::blocking::possibly_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::tracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::untracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::fork_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::continuation_t<0> > > > >))(boost::system::error_code const&, std::shared_ptr<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::execution::any_executor<boost::asio::execution::context_as_t<boost::asio::execution_context&>, boost::asio::execution::detail::blocking::never_t<0>, boost::asio::execution::prefer_only<boost::asio::execution::detail::blocking::possibly_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::tracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::untracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::fork_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::continuation_t<0> > > > >)> >(boost::asio::detail::binder1<std::_Bind<void (i2p::http::HTTPServer::*(i2p::http::HTTPServer*, std::_Placeholder<1>, std::shared_ptr<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::execution::any_executor<boost::asio::execution::context_as_t<boost::asio::execution_context&>, boost::asio::execution::detail::blocking::never_t<0>, boost::asio::execution::prefer_only<boost::asio::execution::detail::blocking::possibly_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::tracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::untracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::fork_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::continuation_t<0> > > > >))(boost::system::error_code const&, std::shared_ptr<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::execution::any_executor<boost::asio::execution::context_as_t<boost::asio::execution_context&>, boost::asio::execution::detail::blocking::never_t<0>, boost::asio::execution::prefer_only<boost::asio::execution::detail::blocking::possibly_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::tracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::untracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::fork_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::continuation_t<0> > > > >)>, boost::system::error_code>&, std::_Bind<void (i2p::http::HTTPServer::*(i2p::http::HTTPServer*, std::_Placeholder<1>, std::shared_ptr<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::execution::any_executor<boost::asio::e--Type <RET> for more, q to quit, c to continue without paging--
xecution::context_as_t<boost::asio::execution_context&>, boost::asio::execution::detail::blocking::never_t<0>, boost::asio::execution::prefer_only<boost::asio::execution::detail::blocking::possibly_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::tracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::untracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::fork_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::continuation_t<0> > > > >))(boost::system::error_code const&, std::shared_ptr<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::execution::any_executor<boost::asio::execution::context_as_t<boost::asio::execution_context&>, boost::asio::execution::detail::blocking::never_t<0>, boost::asio::execution::prefer_only<boost::asio::execution::detail::blocking::possibly_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::tracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::untracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::fork_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::continuation_t<0> > > > >)>&) (context=..., function=...)
    at /usr/include/boost/asio/detail/handler_invoke_helpers.hpp:54
No locals.
#17 boost::asio::detail::handler_work<std::_Bind<void (i2p::http::HTTPServer::*(i2p::http::HTTPServer*, std::_Placeholder<1>, std::shared_ptr<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::execution::any_executor<boost::asio::execution::context_as_t<boost::asio::execution_context&>, boost::asio::execution::detail::blocking::never_t<0>, boost::asio::execution::prefer_only<boost::asio::execution::detail::blocking::possibly_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::tracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::untracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::fork_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::continuation_t<0> > > > >))(boost::system::error_code const&, std::shared_ptr<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::execution::any_executor<boost::asio::execution::context_as_t<boost::asio::execution_context&>, boost::asio::execution::detail::blocking::never_t<0>, boost::asio::execution::prefer_only<boost::asio::execution::detail::blocking::possibly_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::tracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::untracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::fork_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::continuation_t<0> > > > >)>, boost::asio::execution::any_executor<boost::asio::execution::context_as_t<boost::asio::execution_context&>, boost::asio::execution::detail::blocking::never_t<0>, boost::asio::execution::prefer_only<boost::asio::execution::detail::blocking::possibly_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::tracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::untracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::fork_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::continuation_t<0> > >, void>::complete<boost::asio::detail::binder1<std::_Bind<void (i2p::http::HTTPServer::*(i2p::http::HTTPServer*, std::_Placeholder<1>, std::shared_ptr<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::execution::any_executor<boost::asio::execution::context_as_t<boost::asio::execution_context&>, boost::asio::execution::detail::blocking::never_t<0>, boost::asio::execution::prefer_only<boost::asio::execution::detail::blocking::possibly_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::tracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::untracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::fork_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::continuation_t<0> > > > >))(boost::system::error_code const&, std::shared_ptr<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::execution::any_executor<boost::asio::execution::context_as_t<boost::asio::execution_context&>, boost::asio::execution::detail::blocking::never_t<0>, boost::asio::execution::prefer_only<boost::asio::execution::detail::blocking::possibly_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::tracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::untracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::fork_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::continuation_t<0> > > > >)>, boost::system::error_code> >(boost::asio::detail::binder1<std::_Bind<void (i2p::http::HTTPServer::*(i2p::http::HTTPServer*, std::_Placeholder<1>, std::shared_ptr<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::execution::any_executor<boost::asio::execution::context_as_t<boost::asio::execution_context&>, boost::asio::execution::detail::blocking::never_t<0>, boost::asio::execution::prefer_only<boost::asio::execution::detail::blocking::possibly_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::tracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::untracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::fork_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::continuation_t<0> > > > >))(boost::system::error_code const&, std::shared_ptr<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::execution::any_executor<boost::asio::execution::context_as_t<boost::asio::execution_context&>, boost::asio::execution::detail::blocking::never_t<0>, boost::asio::execution::prefer_only<boost::asio::execution::detail::blocking::possibly_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::tracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::untracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::fork_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::continuation_t<0> > > > >)>, boost::system::error_code>&, std::_Bind<void (i2p::http::HTTPServer::*(i2p::http::HTTPServer*, std::_Placeholder<1>, std::shared_ptr<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::execution::any_executor<boost::asio::execution::context_as_t<boost::asio::execution_context&>, boost::asio::execution::detail::blocking::never_t<0>, boost::asio::execution::prefer_only<boost::asio::execution::detail::blocking::possibly_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::tracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::untracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::fork_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::continuation_t<0> > > > >))(boost::system::error_code const&, std::shared_ptr<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::execution::any_executor<boost::asio::execution::context_as_t<boost::asio::execution_context&>, boost::asio::execution::detail::blocking::never_t<0>, boost::asio::execution::prefer_only<boost::asio::execution::detail::blocking::possibly_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::tracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::untracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::fork_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::continuation_t<0> > > > >)>&) (
    handler=..., function=..., this=0x7f9320ff8c70) at /usr/include/boost/asio/detail/handler_work.hpp:425
No locals.
#18 boost::asio::detail::reactive_socket_accept_op<boost::asio::basic_socket<boost::asio::ip::tcp, boost::asio::execution::any_executor<boost::asio::execution::context_as_t<boost::asio::execution_context&>, boost::asio::execution::detail::blocking::never_t<0>, boost::asio::execution::prefer_only<boost::asio::execution::detail::blocking::possibly_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::tracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::untracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::fork_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::continuation_t<0> > > >, boost::asio::ip::tcp, std::_Bind<void (i2p::http::HTTPServer::*(i2p::http::HTTPServer*, std::_Placeholder<1>, std::shared_ptr<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::execution::any_executor<boost::asio::execution::context_as_t<boost::asio::execution_context&>, boost::asio::execution::detail::blocking::never_t<0>, boost::asio::execution::prefer_only<boost::asio::execution::detail::blocking::possibly_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::tracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::untracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::fork_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::continuation_t<0> > > > >))(boost::system::error_code const&, std::shared_ptr<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::execution::any_executor<boost::asio::execution::context_as_t<boost::asio::execution_context&>, boost::asio::execution::detail::blocking::never_t<0>, boost::asio::execution::prefer_only<boost::asio::execution::detail::blocking::possibly_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::tracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::untracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::fork_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::continuation_t<0> > > > >)>, boost::asio::execution::any_executor<boost::asio::execution::context_as_t<boost::asio::execution_context&>, boost::asio::execution::detail::blocking::never_t<0>, boost::asio::execution::prefer_only<boost::asio::execution::detail::blocking::possibly_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::tracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::untracked_t<0> >, boost::asio::execution::prefer_only<boost::asio:--Type <RET> for more, q to quit, c to continue without paging--
:execution::detail::relationship::fork_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::continuation_t<0> > > >::do_complete(void*, boost::asio::detail::scheduler_operation*, boost::system::error_code const&, unsigned long) (owner=0x5586de1b9150, base=0x7f9320ff8bf0) at /usr/include/boost/asio/detail/reactive_socket_accept_op.hpp:148
        b = {<boost::asio::detail::noncopyable> = {<No data fields>}, <No data fields>}
        o = 0x7f9320ff8bf0
        p = {h = 0x7f9320ff8bf0, v = 0x0, p = 0x0}
        w = {<boost::asio::detail::handler_work_base<boost::asio::execution::any_executor<boost::asio::execution::context_as_t<boost::asio::execution_context&>, boost::asio::execution::detail::blocking::never_t<0>, boost::asio::execution::prefer_only<boost::asio::execution::detail::blocking::possibly_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::tracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::untracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::fork_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::continuation_t<0> > >, void, boost::asio::io_context, boost::asio::executor, void>> = {
            executor_ = {<boost::asio::execution::detail::any_executor_base> = {object_ = {__data = "\000\000\000\000\000\000\000\000 .\000\370\222\177\000", __align = {<No data fields>}},
                object_fns_ = 0x5586dcdd4580 <boost::asio::execution::detail::any_executor_base::object_fns_table<void>(std::enable_if<std::is_same<void, void>::value, void>::type*)::fns>, target_ = 0x0,
                target_fns_ = 0x5586dcdd4560 <boost::asio::execution::detail::any_executor_base::target_fns_table<void>(std::enable_if<std::is_same<void, void>::value, void>::type*)::fns>}, <boost::asio::execution::detail::any_executor_context<boost::asio::execution::any_executor<boost::asio::execution::context_as_t<boost::asio::execution_context&>, boost::asio::execution::detail::blocking::never_t<0>, boost::asio::execution::prefer_only<boost::asio::execution::detail::blocking::possibly_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::tracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::untracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::fork_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::continuation_t<0> > >, boost::asio::execution::detail::supportable_properties<0, void(boost::asio::execution::context_as_t<boost::asio::execution_context&>, boost::asio::execution::detail::blocking::never_t<0>, boost::asio::execution::prefer_only<boost::asio::execution::detail::blocking::possibly_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::tracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::untracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::fork_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::continuation_t<0> >)>::find_context_as_property, void>> = {<No data fields>},
              prop_fns_ = 0x5586dcdd43a0 <boost::asio::execution::any_executor<boost::asio::execution::context_as_t<boost::asio::execution_context&>, boost::asio::execution::detail::blocking::never_t<0>, boost::asio::execution::prefer_only<boost::asio::execution::detail::blocking::possibly_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::tracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::untracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::fork_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::continuation_t<0> > >::prop_fns_table<void>()::fns>}}, <No data fields>}
        handler = {
          handler_ = {<std::_Weak_result_type<void (i2p::http::HTTPServer::*)(boost::system::error_code const&, std::shared_ptr<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::execution::any_executor<boost::asio::execution::context_as_t<boost::asio::execution_context&>, boost::asio::execution::detail::blocking::never_t<0>, boost::asio::execution::prefer_only<boost::asio::execution::detail::blocking::possibly_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::tracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::untracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::fork_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::continuation_t<0> > > > >)>> = {<std::_Weak_result_type_memfun<void (i2p::http::HTTPServer::*)(boost::system::error_code const&, std::shared_ptr<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::execution::any_executor<boost::asio::execution::context_as_t<boost::asio::execution_context&>, boost::asio::execution::detail::blocking::never_t<0>, boost::asio::execution::prefer_only<boost::asio::execution::detail::blocking::possibly_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::tracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::untracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::fork_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::continuation_t<0> > > > >), true>> = {<No data fields>}, <No data fields>}, _M_f = (void (i2p::http::HTTPServer::*)(i2p::http::HTTPServer * const, const boost::system::error_code &,
    std::shared_ptr<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::execution::any_executor<boost::asio::execution::context_as_t<boost::asio::execution_context&>, boost::asio::execution::detail::blocking::never_t<0>, boost::asio::execution::prefer_only<boost::asio::execution::detail::blocking::possibly_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::tracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::untracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::fork_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::continuation_t<0> > > > >)) 0x5586dca5e500 <i2p::http::HTTPServer::HandleAccept(boost::system::error_code const&, std::shared_ptr<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::execution::any_executor<boost::asio::execution::context_as_t<boost::asio::execution_context&>, boost::asio::execution::detail::blocking::never_t<0>, boost::asio::execution::prefer_only<boost::asio::execution::detail::blocking::possibly_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::tracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::untracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::fork_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::continuation_t<0> > > > >)>, _M_bound_args = std::tuple containing = {[1] = 0x5586de1a5f40,
              [2] = {<std::_Placeholder<1>> = {<No data fields>}, <No data fields>},
              [3] = std::shared_ptr<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::execution::any_executor<boost::asio::execution::context_as_t<boost::asio::execution_context&>, boost::asio::execution::detail::blocking::never_t<0>, boost::asio::execution::prefer_only<boost::asio::execution::detail::blocking::possibly_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::tracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::untracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::fork_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::continuation_t<0> > > >> (use count 3, weak count 0) = {get() = 0x7f92f8002cf0}}}, arg1_ = {
            val_ = 0, failed_ = false, cat_ = 0x5586dcdd38c0 <boost::system::detail::cat_holder<void>::system_category_instance>}}
#19 0x00005586dca64c84 in boost::asio::detail::scheduler_operation::complete (bytes_transferred=<optimized out>, ec=..., owner=0x5586de1b9150, this=0x7f92f8002d50)
    at /usr/include/boost/asio/detail/scheduler_operation.hpp:40
No locals.
#20 boost::asio::detail::scheduler::do_run_one (this=this@entry=0x5586de1b9150, lock=..., this_thread=..., ec=...) at /usr/include/boost/asio/detail/impl/scheduler.ipp:481
        task_result = <optimized out>
        on_exit = {scheduler_ = 0x5586de1b9150, lock_ = 0x7f9320ff8de0, this_thread_ = 0x7f9320ff8e10}
        o = 0x7f92f8002d50
        more_handlers = <optimized out>
#21 0x00005586dca4b721 in boost::asio::detail::scheduler::run (this=0x5586de1b9150, ec=...) at /usr/include/boost/asio/detail/impl/scheduler.ipp:204
        this_thread = {<boost::asio::detail::thread_info_base> = {<boost::asio::detail::noncopyable> = {<No data fields>}, reusable_memory_ = {0x0, 0x0, 0x0}, has_pending_exception_ = 0,
            pending_exception_ = {_M_exception_object = 0x0}}, private_op_queue = {<boost::asio::detail::noncopyable> = {<No data fields>}, front_ = 0x0, back_ = 0x0}, private_outstanding_work = 0}
        ctx = {<boost::asio::detail::noncopyable> = {<No data fields>}, key_ = 0x5586de1b9150, value_ = 0x7f9320ff8e10, next_ = 0x0}
        lock = {<boost::asio::detail::noncopyable> = {<No data fields>}, mutex_ = @0x5586de1b9180, locked_ = false}
--Type <RET> for more, q to quit, c to continue without paging--
        n = <optimized out>
#22 0x00005586dca4db7d in boost::asio::io_context::run (this=0x5586de1a5f50, this=0x5586de1a5f50) at /usr/include/boost/asio/impl/io_context.ipp:63
        ec = {val_ = 0, failed_ = false, cat_ = 0x5586dcdd38c0 <boost::system::detail::cat_holder<void>::system_category_instance>}
        s = <optimized out>
        ec = {val_ = <optimized out>, failed_ = <optimized out>, cat_ = <optimized out>}
        s = <optimized out>
#23 i2p::http::HTTPServer::Run (this=0x5586de1a5f40) at daemon/HTTPServer.cpp:1536
No locals.
#24 0x00007f93293a9ed0 in ?? () from /lib/x86_64-linux-gnu/libstdc++.so.6
No symbol table info available.
#25 0x00007f93294c1ea7 in start_thread (arg=<optimized out>) at pthread_create.c:477
        ret = <optimized out>
        pd = <optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140269890541312, -6470338377729858725, 140724913349486, 140724913349487, 140269890539456, 8396800, 6418470018879955803, 6418455334948414299},
              mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = 0
#26 0x00007f93290a4a6f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
No locals.
(gdb) info threads
  Id   Target Id                         Frame
* 1    Thread 0x7f9320ff9700 (LWP 68676) boost::asio::detail::epoll_reactor::start_op (this=0x5586de1b9250, op_type=op_type@entry=0, descriptor=22, descriptor_data=@0x5586de1a5f78: 0x0,
    op=op@entry=0x7f92f8002d50, is_continuation=is_continuation@entry=false, allow_speculative=true) at /usr/include/boost/asio/detail/impl/epoll_reactor.ipp:245
  2    Thread 0x7f9328c34700 (LWP 68603) futex_wait_cancelable (private=0, expected=0, futex_word=0x5586dcddea84 <i2p::log::logger+292>) at ../sysdeps/nptl/futex-internal.h:186
  3    Thread 0x7f9328f9fc80 (LWP 68602) __pthread_clockjoin_ex (threadid=140269890541312, thread_return=0x0, clockid=<optimized out>, abstime=<optimized out>, block=<optimized out>)
    at pthread_join_common.c:145
(gdb)
LLE8 commented 4 months ago

https://github.com/PurpleI2P/i2pd/issues/1545#issuecomment-2080650047 да, неплохо воспроизводится

LLE8 commented 4 months ago

Debian 11.9 64 bit i2pd version 2.51.0-53-gb91f5a74 (0.9.62) Boost version 1.74.0 OpenSSL 1.1.1w 11 Sep 2023

systemctl stop i2pd

~# gdb /usr/sbin/i2pd  /var/lib/i2pd/core
GNU gdb (Debian 10.1-1.7) 10.1.90.20210103-git
Copyright (C) 2021 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<https://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
    <http://www.gnu.org/software/gdb/documentation/>.

For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from /usr/sbin/i2pd...
Reading symbols from /usr/lib/debug/.build-id/cd/ef20ac851ca6077279c62cade6eec1ec19fedf.debug...
[New LWP 123110]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Core was generated by `/usr/sbin/i2pd --conf=/etc/i2pd/i2pd.conf --tunconf=/etc/i2pd/tunnels.conf --tu'.
Program terminated with signal SIGABRT, Aborted.
#0  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
50      ../sysdeps/unix/sysv/linux/raise.c: No such file or directory.
(gdb) bt full
#0  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
        set = {__val = {0, 18446744073709551615 <repeats 12 times>, 4757669238938079488, 0, 0}}
        pid = <optimized out>
        tid = <optimized out>
        ret = <optimized out>
#1  0x00007f3b4e1165ef in __GI_abort () at abort.c:100
        act = {__sigaction_handler = {sa_handler = 0x0, sa_sigaction = 0x0}, sa_mask = {__val = {18446744073709551615 <repeats 16 times>}}, sa_flags = 0, sa_restorer = 0x0}
        sigs = {__val = {32, 0 <repeats 15 times>}}
#2  0x00007f3b4e16e3e8 in __libc_message (action=action@entry=do_abort, fmt=fmt@entry=0x7f3b4e28c390 "%s\n") at ../sysdeps/posix/libc_fatal.c:155
        ap = {{gp_offset = 24, fp_offset = 22076, overflow_arg_area = 0x7ffd3e7bfc50, reg_save_area = 0x7ffd3e7bfbe0}}
        fd = <optimized out>
        list = <optimized out>
        nlist = <optimized out>
        cp = <optimized out>
#3  0x00007f3b4e1756da in malloc_printerr (str=str@entry=0x7f3b4e28a00b "corrupted size vs. prev_size") at malloc.c:5347
No locals.
#4  0x00007f3b4e176426 in unlink_chunk (p=p@entry=0x7f3b2457e360, av=0x7f3b24000020) at malloc.c:1454
        fd = <optimized out>
        bk = <optimized out>
#5  0x00007f3b4e176577 in malloc_consolidate (av=av@entry=0x7f3b24000020) at malloc.c:4502
        fb = 0x7f3b24000038
        maxfb = 0x7f3b24000078
        p = 0x7f3b2457e310
        nextp = <optimized out>
        unsorted_bin = 0x7f3b24000080
        first_unsorted = <optimized out>
        nextchunk = 0x7f3b2457e360
        size = 256
        nextsize = 176
        prevsize = <optimized out>
        nextinuse = <optimized out>
#6  0x00007f3b4e176d40 in _int_free (av=0x7f3b24000020, p=0x7f3b25659220, have_lock=<optimized out>) at malloc.c:4400
        size = 336352
        fb = <optimized out>
        nextchunk = 0x7f3b256ab400
        nextsize = 1024
        nextinuse = <optimized out>
        prevsize = <optimized out>
        bck = <optimized out>
        fwd = <optimized out>
        __PRETTY_FUNCTION__ = "_int_free"
#7  0x0000563c19fcf518 in __gnu_cxx::new_allocator<std::__detail::_Hash_node_base*>::deallocate (__t=<optimized out>, __p=<optimized out>, this=<synthetic pointer>) at /usr/include/c++/10/ext/new_allocator.h:120
No locals.
#8  std::allocator_traits<std::allocator<std::__detail::_Hash_node_base*> >::deallocate (__n=<optimized out>, __p=<optimized out>, __a=<synthetic pointer>...) at /usr/include/c++/10/bits/alloc_traits.h:492
No locals.
#9  std::__detail::_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<unsigned int const, std::shared_ptr<i2p::tunnel::TunnelBase> >, false> > >::_M_deallocate_buckets (__bkt_count=<optimized out>,
    __bkts=<optimized out>, this=0x563c1a2190d8 <i2p::tunnel::tunnels+184>) at /usr/include/c++/10/bits/hashtable_policy.h:2099
        __ptr = <optimized out>
        __alloc = {<__gnu_cxx::new_allocator<std::__detail::_Hash_node_base*>> = {<No data fields>}, <No data fields>}
#10 std::_Hashtable<unsigned int, std::pair<unsigned int const, std::shared_ptr<i2p::tunnel::TunnelBase> >, std::allocator<std::pair<unsigned int const, std::shared_ptr<i2p::tunnel::TunnelBase> > >, std::__detail::_Select1st, std::equal_to<unsigned int>, std::hash<unsigned int>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<false, false, true> >::_M_deallocate_buckets (
    __bkt_count=<optimized out>, __bkts=<optimized out>, this=0x563c1a2190d8 <i2p::tunnel::tunnels+184>) at /usr/include/c++/10/bits/hashtable.h:407
No locals.
#11 std::_Hashtable<unsigned int, std::pair<unsigned int const, std::shared_ptr<i2p::tunnel::TunnelBase> >, std::allocator<std::pair<unsigned int const, std::shared_ptr<i2p::tunnel::TunnelBase> > >, std::__detail::_Select1st, std::equal_to<unsigned int>, std::hash<unsigned int>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<false, false, true> >::_M_deallocate_buckets (
    this=0x563c1a2190d8 <i2p::tunnel::tunnels+184>) at /usr/include/c++/10/bits/hashtable.h:412
No locals.
#12 std::_Hashtable<unsigned int, std::pair<unsigned int const, std::shared_ptr<i2p::tunnel::TunnelBase> >, std::allocator<std::pair<unsigned int const, std::shared_ptr<i2p::tunnel::TunnelBase> > >, std::__detail::_Select1st, std::equal_to<unsigned int>, std::hash<unsigned int>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<false, false, true> >::~_Hashtable (
    this=0x563c1a2190d8 <i2p::tunnel::tunnels+184>, __in_chrg=<optimized out>) at /usr/include/c++/10/bits/hashtable.h:1388
No locals.
#13 std::unordered_map<unsigned int, std::shared_ptr<i2p::tunnel::TunnelBase>, std::hash<unsigned int>, std::equal_to<unsigned int>, std::allocator<std::pair<unsigned int const, std::shared_ptr<i2p::tunnel::TunnelBase> > > >::~unordered_m--Type <RET> for more, q to quit, c to continue without paging--c
ap (this=0x563c1a2190d8 <i2p::tunnel::tunnels+184>, __in_chrg=<optimized out>) at /usr/include/c++/10/bits/unordered_map.h:102
No locals.
#14 i2p::tunnel::Tunnels::~Tunnels (this=0x563c1a219020 <i2p::tunnel::tunnels>, __in_chrg=<optimized out>) at libi2pd/Tunnel.cpp:346
No locals.
#15 0x00007f3b4e12f517 in __run_exit_handlers (status=0, listp=0x7f3b4e2c2718 <__exit_funcs>, run_list_atexit=run_list_atexit@entry=true, run_dtors=run_dtors@entry=true) at exit.c:108
        atfct = <optimized out>
        onfct = <optimized out>
        cxafct = <optimized out>
        f = <optimized out>
        new_exitfn_called = 197
        cur = 0x563c1ba3fe10
        restart = <optimized out>
#16 0x00007f3b4e12f6ba in __GI_exit (status=<optimized out>) at exit.c:139
No locals.
#17 0x00007f3b4e117d11 in __libc_start_main (main=0x563c19e387a0 <main(int, char**)>, argc=8, argv=0x7ffd3e7bff18, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7ffd3e7bff08) at ../csu/libc-start.c:342
        result = <optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {0, -7370859644269007458, 94816132597728, 0, 0, 0, -3875564193690849890, -3766176749592547938}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x8, 0x7ffd3e7bff18}, data = {prev = 0x0, cleanup = 0x0, canceltype = 8}}}
        not_first_call = <optimized out>
#18 0x0000563c19e7080a in _start ()
No symbol table info available.
(gdb) info threads
  Id   Target Id                          Frame
* 1    Thread 0x7f3b4e0eac80 (LWP 123110) __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
(gdb)