https://redmine.named-data.net/https://redmine.named-data.net/favicon.ico?14759811232021-04-14T13:26:57ZNDN project issue tracking systemNFD - Bug #5158: TCP RST ⇒ Transport endpoint is not connectedhttps://redmine.named-data.net/issues/5158?journal_id=272732021-04-14T13:26:57ZJunxiao Shi
<ul><li><strong>File</strong> <a href="/attachments/948">bug5158.pcap</a> <a class="icon-only icon-download" title="Download" href="/attachments/download/948/bug5158.pcap">bug5158.pcap</a> added</li><li><strong>File</strong> <a href="/attachments/949">reproduce5158.tar</a> <a class="icon-only icon-download" title="Download" href="/attachments/download/949/reproduce5158.tar">reproduce5158.tar</a> added</li><li><strong>Subject</strong> changed from <i>TCP RST ⥤ Transport endpoint is not connected</i> to <i>TCP RST ⇒ Transport endpoint is not connected</i></li></ul><p>The bug was captured on my home router. The IP sending the packets in question was either an attacker or a vulnerability scanner.<br>
I have attached the packet trace that triggered the bug on my system.</p>
<p>Moreover, I made a small program to transmit the sequence of packets.<br>
It can reliably crash both the current NFD release (one of the testbed routers) and the latest nightly build (both my home router and a Docker container on my test server).<br>
However, it seems that the reproduce program works only if the packets are transmitted over the Internet, and does not work in a local area network, indicating that the problem might be timing related.</p>
<p>I am able to obtain a stack trace on the test server, by setting breakpoint on <code>boost::system::system_error::system_error</code>.<br>
The three errors appear consecutively after the packets were transmitted, and then NFD process exits.</p>
<pre><code>
Thread 1 "nfd" hit Breakpoint 1, boost::system::system_error::system_error (what_arg=<optimized out>, ec=..., this=0x7fffffffd930) at /usr/include/boost/asio/detail/impl/throw_error.ipp:37
37 /usr/include/boost/asio/detail/impl/throw_error.ipp: No such file or directory.
(gdb) bt
#0 boost::system::system_error::system_error (what_arg=<optimized out>, ec=..., this=0x7fffffffd930) at /usr/include/boost/asio/detail/impl/throw_error.ipp:37
#1 boost::asio::detail::do_throw_error (err=..., location=0x5555557a19c6 "remote_endpoint") at /usr/include/boost/asio/detail/impl/throw_error.ipp:37
#2 0x0000555555675b54 in boost::asio::detail::throw_error (location=0x5555557a19c6 "remote_endpoint", err=...) at /usr/include/boost/asio/detail/throw_error.hpp:42
#3 boost::asio::basic_socket<boost::asio::ip::tcp, boost::asio::executor>::remote_endpoint (this=<optimized out>) at /usr/include/boost/asio/basic_socket.hpp:1606
#4 0x0000555555671146 in nfd::face::TcpChannel::createFace(boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor>&&, nfd::face::FaceParams const&, std::function<void (std::shared_ptr<nfd::face::Face> const&)> const&) (this=0x5555558b6af0, socket=..., params=..., onFaceCreated=...) at ../daemon/face/tcp-channel.cpp:104
#5 0x0000555555672120 in nfd::face::TcpChannel::handleAccept(boost::system::error_code const&, std::function<void (std::shared_ptr<nfd::face::Face> const&)> const&, std::function<void (unsigned int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)> const&) (this=0x5555558b6af0, error=..., onFaceCreated=..., onAcceptFailed=...) at ../daemon/face/tcp-channel.cpp:177
#6 0x0000555555674838 in nfd::face::TcpChannel::<lambda(const auto:4&)>::operator()<boost::system::error_code> (e=..., __closure=0x7fffffffdd60) at ../daemon/face/tcp-channel.cpp:156
#7 boost::asio::detail::binder1<nfd::face::TcpChannel::accept(const FaceCreatedCallback&, const FaceCreationFailedCallback&)::<lambda(const auto:4&)>, boost::system::error_code>::operator() (
this=0x7fffffffdd60) at /usr/include/boost/asio/detail/bind_handler.hpp:65
#8 boost::asio::asio_handler_invoke<boost::asio::detail::binder1<nfd::face::TcpChannel::accept(const FaceCreatedCallback&, const FaceCreationFailedCallback&)::<lambda(const auto:4&)>, boost::system::error_code> > (function=...) at /usr/include/boost/asio/handler_invoke_hook.hpp:69
#9 boost_asio_handler_invoke_helpers::invoke<boost::asio::detail::binder1<nfd::face::TcpChannel::accept(const FaceCreatedCallback&, const FaceCreationFailedCallback&)::<lambda(const auto:4&)>, boost::system::error_code>, nfd::face::TcpChannel::accept(const FaceCreatedCallback&, const FaceCreationFailedCallback&)::<lambda(const auto:4&)> > (context=..., function=...)
at /usr/include/boost/asio/detail/handler_invoke_helpers.hpp:37
#10 boost::asio::detail::asio_handler_invoke<boost::asio::detail::binder1<nfd::face::TcpChannel::accept(const FaceCreatedCallback&, const FaceCreationFailedCallback&)::<lambda(const auto:4&)>, boost::system::error_code>, nfd::face::TcpChannel::accept(const FaceCreatedCallback&, const FaceCreationFailedCallback&)::<lambda(const auto:4&)>, boost::system::error_code> (this_handler=0x7fffffffdd60, function=...)
at /usr/include/boost/asio/detail/bind_handler.hpp:106
#11 boost_asio_handler_invoke_helpers::invoke<boost::asio::detail::binder1<nfd::face::TcpChannel::accept(const FaceCreatedCallback&, const FaceCreationFailedCallback&)::<lambda(const auto:4&)>, boost::system::error_code>, boost::asio::detail::binder1<nfd::face::TcpChannel::accept(const FaceCreatedCallback&, const FaceCreationFailedCallback&)::<lambda(const auto:4&)>, boost::system::error_code> > (context=...,
function=...) at /usr/include/boost/asio/detail/handler_invoke_helpers.hpp:37
#12 boost::asio::detail::io_object_executor<boost::asio::executor>::dispatch<boost::asio::detail::binder1<nfd::face::TcpChannel::accept(const FaceCreatedCallback&, const FaceCreationFailedCallback&)::<lambda(const auto:4&)>, boost::system::error_code>, std::allocator<void> > (a=..., f=..., this=<synthetic pointer>) at /usr/include/boost/asio/detail/io_object_executor.hpp:119
#13 boost::asio::detail::handler_work<nfd::face::TcpChannel::accept(const FaceCreatedCallback&, const FaceCreationFailedCallback&)::<lambda(const auto:4&)>, boost::asio::detail::io_object_executor<boost::asio::executor>, boost::asio::detail::io_object_executor<boost::asio::executor> >::complete<boost::asio::detail::binder1<nfd::face::TcpChannel::accept(const FaceCreatedCallback&, const FaceCreationFailedCallback&)::<lambda(const auto:4&)>, boost::system::error_code> > (handler=..., function=..., this=<synthetic pointer>) at /usr/include/boost/asio/detail/handler_work.hpp:72
#14 boost::asio::detail::reactive_socket_accept_op<boost::asio::basic_socket<boost::asio::ip::tcp, boost::asio::executor>, boost::asio::ip::tcp, nfd::face::TcpChannel::accept(const FaceCreatedCallback&, const FaceCreationFailedCallback&)::<lambda(const auto:4&)>, boost::asio::detail::io_object_executor<boost::asio::executor> >::do_complete(void *, boost::asio::detail::operation *, const boost::system::error_code &, std::size_t) (owner=0x555555882d20, base=<optimized out>) at /usr/include/boost/asio/detail/reactive_socket_accept_op.hpp:140
#15 0x000055555560d3e3 in boost::asio::detail::scheduler_operation::complete (bytes_transferred=0, ec=..., owner=0x555555882d20, this=0x5555558b8540)
at /usr/include/boost/asio/detail/scheduler_operation.hpp:40
#16 boost::asio::detail::epoll_reactor::descriptor_state::do_complete (bytes_transferred=<optimized out>, ec=..., base=0x5555558b8490, owner=0x555555882d20)
at /usr/include/boost/asio/detail/impl/epoll_reactor.ipp:776
#17 boost::asio::detail::epoll_reactor::descriptor_state::do_complete (owner=0x555555882d20, base=0x5555558b8490, ec=..., bytes_transferred=<optimized out>)
at /usr/include/boost/asio/detail/impl/epoll_reactor.ipp:766
#18 0x000055555560cf75 in boost::asio::detail::scheduler_operation::complete (bytes_transferred=<optimized out>, ec=..., owner=0x555555882d20, this=<optimized out>)
at /usr/include/boost/asio/detail/scheduler_operation.hpp:40
#19 boost::asio::detail::scheduler::do_run_one (ec=..., this_thread=..., lock=..., this=<optimized out>) at /usr/include/boost/asio/detail/impl/scheduler.ipp:447
#20 boost::asio::detail::scheduler::run (this=0x555555882d20, ec=...) at /usr/include/boost/asio/detail/impl/scheduler.ipp:200
#21 0x00005555556165f9 in boost::asio::io_context::run (this=0x55555587e400) at /usr/include/boost/asio/impl/io_context.ipp:63
#22 nfd::NfdRunner::run (this=<optimized out>) at ../daemon/main.cpp:156
#23 0x00005555555f4841 in main (argc=<optimized out>, argv=<optimized out>) at ../daemon/main.cpp:336
(gdb) cont
Continuing.
Thread 1 "nfd" hit Breakpoint 1, 0x00005555556141d6 in boost::system::system_error::system_error (this=<optimized out>) at /usr/include/boost/exception/exception.hpp:515
515 /usr/include/boost/exception/exception.hpp: No such file or directory.
(gdb) bt
#0 0x00005555556141d6 in boost::system::system_error::system_error (this=<optimized out>) at /usr/include/boost/exception/exception.hpp:515
#1 boost::exception_detail::error_info_injector<boost::system::system_error>::error_info_injector (x=..., this=<optimized out>) at /usr/include/boost/exception/exception.hpp:336
#2 boost::enable_error_info<boost::system::system_error> (x=...) at /usr/include/boost/exception/exception.hpp:383
#3 boost::exception_detail::enable_both<boost::system::system_error> (x=...) at /usr/include/boost/exception/exception.hpp:517
#4 0x00005555555be46b in boost::throw_exception<boost::system::system_error> (e=...) at /usr/include/boost/throw_exception.hpp:63
#5 0x000055555561445f in boost::asio::detail::do_throw_error (err=..., location=<optimized out>) at /usr/include/boost/asio/detail/impl/throw_error.ipp:38
#6 0x0000555555675b54 in boost::asio::detail::throw_error (location=0x5555557a19c6 "remote_endpoint", err=...) at /usr/include/boost/asio/detail/throw_error.hpp:42
#7 boost::asio::basic_socket<boost::asio::ip::tcp, boost::asio::executor>::remote_endpoint (this=<optimized out>) at /usr/include/boost/asio/basic_socket.hpp:1606
#8 0x0000555555671146 in nfd::face::TcpChannel::createFace(boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor>&&, nfd::face::FaceParams const&, std::function<void (std::shared_ptr<nfd::face::Face> const&)> const&) (this=0x5555558b6af0, socket=..., params=..., onFaceCreated=...) at ../daemon/face/tcp-channel.cpp:104
#9 0x0000555555672120 in nfd::face::TcpChannel::handleAccept(boost::system::error_code const&, std::function<void (std::shared_ptr<nfd::face::Face> const&)> const&, std::function<void (unsigned int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)> const&) (this=0x5555558b6af0, error=..., onFaceCreated=..., onAcceptFailed=...) at ../daemon/face/tcp-channel.cpp:177
#10 0x0000555555674838 in nfd::face::TcpChannel::<lambda(const auto:4&)>::operator()<boost::system::error_code> (e=..., __closure=0x7fffffffdd60) at ../daemon/face/tcp-channel.cpp:156
#11 boost::asio::detail::binder1<nfd::face::TcpChannel::accept(const FaceCreatedCallback&, const FaceCreationFailedCallback&)::<lambda(const auto:4&)>, boost::system::error_code>::operator() (
this=0x7fffffffdd60) at /usr/include/boost/asio/detail/bind_handler.hpp:65
#12 boost::asio::asio_handler_invoke<boost::asio::detail::binder1<nfd::face::TcpChannel::accept(const FaceCreatedCallback&, const FaceCreationFailedCallback&)::<lambda(const auto:4&)>, boost::system::error_code> > (function=...) at /usr/include/boost/asio/handler_invoke_hook.hpp:69
#13 boost_asio_handler_invoke_helpers::invoke<boost::asio::detail::binder1<nfd::face::TcpChannel::accept(const FaceCreatedCallback&, const FaceCreationFailedCallback&)::<lambda(const auto:4&)>, boost::system::error_code>, nfd::face::TcpChannel::accept(const FaceCreatedCallback&, const FaceCreationFailedCallback&)::<lambda(const auto:4&)> > (context=..., function=...)
at /usr/include/boost/asio/detail/handler_invoke_helpers.hpp:37
#14 boost::asio::detail::asio_handler_invoke<boost::asio::detail::binder1<nfd::face::TcpChannel::accept(const FaceCreatedCallback&, const FaceCreationFailedCallback&)::<lambda(const auto:4&)>, boost::system::error_code>, nfd::face::TcpChannel::accept(const FaceCreatedCallback&, const FaceCreationFailedCallback&)::<lambda(const auto:4&)>, boost::system::error_code> (this_handler=0x7fffffffdd60, function=...)
at /usr/include/boost/asio/detail/bind_handler.hpp:106
#15 boost_asio_handler_invoke_helpers::invoke<boost::asio::detail::binder1<nfd::face::TcpChannel::accept(const FaceCreatedCallback&, const FaceCreationFailedCallback&)::<lambda(const auto:4&)>, boost::system::error_code>, boost::asio::detail::binder1<nfd::face::TcpChannel::accept(const FaceCreatedCallback&, const FaceCreationFailedCallback&)::<lambda(const auto:4&)>, boost::system::error_code> > (context=...,
function=...) at /usr/include/boost/asio/detail/handler_invoke_helpers.hpp:37
#16 boost::asio::detail::io_object_executor<boost::asio::executor>::dispatch<boost::asio::detail::binder1<nfd::face::TcpChannel::accept(const FaceCreatedCallback&, const FaceCreationFailedCallback&)::<lambda(const auto:4&)>, boost::system::error_code>, std::allocator<void> > (a=..., f=..., this=<synthetic pointer>) at /usr/include/boost/asio/detail/io_object_executor.hpp:119
#17 boost::asio::detail::handler_work<nfd::face::TcpChannel::accept(const FaceCreatedCallback&, const FaceCreationFailedCallback&)::<lambda(const auto:4&)>, boost::asio::detail::io_object_executor<boost::asio::executor>, boost::asio::detail::io_object_executor<boost::asio::executor> >::complete<boost::asio::detail::binder1<nfd::face::TcpChannel::accept(const FaceCreatedCallback&, const FaceCreationFailedCallback&)::<lambda(const auto:4&)>, boost::system::error_code> > (handler=..., function=..., this=<synthetic pointer>) at /usr/include/boost/asio/detail/handler_work.hpp:72
#18 boost::asio::detail::reactive_socket_accept_op<boost::asio::basic_socket<boost::asio::ip::tcp, boost::asio::executor>, boost::asio::ip::tcp, nfd::face::TcpChannel::accept(const FaceCreatedCallback&, const FaceCreationFailedCallback&)::<lambda(const auto:4&)>, boost::asio::detail::io_object_executor<boost::asio::executor> >::do_complete(void *, boost::asio::detail::operation *, const boost::system::error_code &, std::size_t) (owner=0x555555882d20, base=<optimized out>) at /usr/include/boost/asio/detail/reactive_socket_accept_op.hpp:140
#19 0x000055555560d3e3 in boost::asio::detail::scheduler_operation::complete (bytes_transferred=0, ec=..., owner=0x555555882d20, this=0x5555558b8540)
at /usr/include/boost/asio/detail/scheduler_operation.hpp:40
#20 boost::asio::detail::epoll_reactor::descriptor_state::do_complete (bytes_transferred=<optimized out>, ec=..., base=0x5555558b8490, owner=0x555555882d20)
at /usr/include/boost/asio/detail/impl/epoll_reactor.ipp:776
#21 boost::asio::detail::epoll_reactor::descriptor_state::do_complete (owner=0x555555882d20, base=0x5555558b8490, ec=..., bytes_transferred=<optimized out>)
at /usr/include/boost/asio/detail/impl/epoll_reactor.ipp:766
#22 0x000055555560cf75 in boost::asio::detail::scheduler_operation::complete (bytes_transferred=<optimized out>, ec=..., owner=0x555555882d20, this=<optimized out>)
at /usr/include/boost/asio/detail/scheduler_operation.hpp:40
#23 boost::asio::detail::scheduler::do_run_one (ec=..., this_thread=..., lock=..., this=<optimized out>) at /usr/include/boost/asio/detail/impl/scheduler.ipp:447
#24 boost::asio::detail::scheduler::run (this=0x555555882d20, ec=...) at /usr/include/boost/asio/detail/impl/scheduler.ipp:200
#25 0x00005555556165f9 in boost::asio::io_context::run (this=0x55555587e400) at /usr/include/boost/asio/impl/io_context.ipp:63
#26 nfd::NfdRunner::run (this=<optimized out>) at ../daemon/main.cpp:156
#27 0x00005555555f4841 in main (argc=<optimized out>, argv=<optimized out>) at ../daemon/main.cpp:336
(gdb) cont
Continuing.
Thread 1 "nfd" hit Breakpoint 1, 0x000055555561423a in boost::system::system_error::system_error (this=<optimized out>) at /usr/include/boost/exception/exception.hpp:226
226 in /usr/include/boost/exception/exception.hpp
(gdb) bt
#0 0x000055555561423a in boost::system::system_error::system_error (this=<optimized out>) at /usr/include/boost/exception/exception.hpp:226
#1 boost::exception_detail::error_info_injector<boost::system::system_error>::error_info_injector (this=<optimized out>) at /usr/include/boost/exception/exception.hpp:330
#2 boost::exception_detail::clone_impl<boost::exception_detail::error_info_injector<boost::system::system_error> >::clone_impl (x=..., __vtt_parm=<optimized out>, this=<optimized out>,
__in_chrg=<optimized out>) at /usr/include/boost/exception/exception.hpp:443
#3 boost::wrapexcept<boost::system::system_error>::wrapexcept (x=..., this=<optimized out>, __in_chrg=<optimized out>, __vtt_parm=<optimized out>) at /usr/include/boost/exception/exception.hpp:486
#4 boost::exception_detail::enable_both<boost::system::system_error> (x=...) at /usr/include/boost/exception/exception.hpp:517
#5 0x00005555555be46b in boost::throw_exception<boost::system::system_error> (e=...) at /usr/include/boost/throw_exception.hpp:63
#6 0x000055555561445f in boost::asio::detail::do_throw_error (err=..., location=<optimized out>) at /usr/include/boost/asio/detail/impl/throw_error.ipp:38
#7 0x0000555555675b54 in boost::asio::detail::throw_error (location=0x5555557a19c6 "remote_endpoint", err=...) at /usr/include/boost/asio/detail/throw_error.hpp:42
#8 boost::asio::basic_socket<boost::asio::ip::tcp, boost::asio::executor>::remote_endpoint (this=<optimized out>) at /usr/include/boost/asio/basic_socket.hpp:1606
#9 0x0000555555671146 in nfd::face::TcpChannel::createFace(boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor>&&, nfd::face::FaceParams const&, std::function<void (std::shared_ptr<nfd::face::Face> const&)> const&) (this=0x5555558b6af0, socket=..., params=..., onFaceCreated=...) at ../daemon/face/tcp-channel.cpp:104
#10 0x0000555555672120 in nfd::face::TcpChannel::handleAccept(boost::system::error_code const&, std::function<void (std::shared_ptr<nfd::face::Face> const&)> const&, std::function<void (unsigned int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)> const&) (this=0x5555558b6af0, error=..., onFaceCreated=..., onAcceptFailed=...) at ../daemon/face/tcp-channel.cpp:177
#11 0x0000555555674838 in nfd::face::TcpChannel::<lambda(const auto:4&)>::operator()<boost::system::error_code> (e=..., __closure=0x7fffffffdd60) at ../daemon/face/tcp-channel.cpp:156
#12 boost::asio::detail::binder1<nfd::face::TcpChannel::accept(const FaceCreatedCallback&, const FaceCreationFailedCallback&)::<lambda(const auto:4&)>, boost::system::error_code>::operator() (
this=0x7fffffffdd60) at /usr/include/boost/asio/detail/bind_handler.hpp:65
#13 boost::asio::asio_handler_invoke<boost::asio::detail::binder1<nfd::face::TcpChannel::accept(const FaceCreatedCallback&, const FaceCreationFailedCallback&)::<lambda(const auto:4&)>, boost::system::error_code> > (function=...) at /usr/include/boost/asio/handler_invoke_hook.hpp:69
#14 boost_asio_handler_invoke_helpers::invoke<boost::asio::detail::binder1<nfd::face::TcpChannel::accept(const FaceCreatedCallback&, const FaceCreationFailedCallback&)::<lambda(const auto:4&)>, boost::system::error_code>, nfd::face::TcpChannel::accept(const FaceCreatedCallback&, const FaceCreationFailedCallback&)::<lambda(const auto:4&)> > (context=..., function=...)
at /usr/include/boost/asio/detail/handler_invoke_helpers.hpp:37
#15 boost::asio::detail::asio_handler_invoke<boost::asio::detail::binder1<nfd::face::TcpChannel::accept(const FaceCreatedCallback&, const FaceCreationFailedCallback&)::<lambda(const auto:4&)>, boost::system::error_code>, nfd::face::TcpChannel::accept(const FaceCreatedCallback&, const FaceCreationFailedCallback&)::<lambda(const auto:4&)>, boost::system::error_code> (this_handler=0x7fffffffdd60, function=...)
at /usr/include/boost/asio/detail/bind_handler.hpp:106
#16 boost_asio_handler_invoke_helpers::invoke<boost::asio::detail::binder1<nfd::face::TcpChannel::accept(const FaceCreatedCallback&, const FaceCreationFailedCallback&)::<lambda(const auto:4&)>, boost::system::error_code>, boost::asio::detail::binder1<nfd::face::TcpChannel::accept(const FaceCreatedCallback&, const FaceCreationFailedCallback&)::<lambda(const auto:4&)>, boost::system::error_code> > (context=...,
function=...) at /usr/include/boost/asio/detail/handler_invoke_helpers.hpp:37
#17 boost::asio::detail::io_object_executor<boost::asio::executor>::dispatch<boost::asio::detail::binder1<nfd::face::TcpChannel::accept(const FaceCreatedCallback&, const FaceCreationFailedCallback&)::<lambda(const auto:4&)>, boost::system::error_code>, std::allocator<void> > (a=..., f=..., this=<synthetic pointer>) at /usr/include/boost/asio/detail/io_object_executor.hpp:119
#18 boost::asio::detail::handler_work<nfd::face::TcpChannel::accept(const FaceCreatedCallback&, const FaceCreationFailedCallback&)::<lambda(const auto:4&)>, boost::asio::detail::io_object_executor<boost::asio::executor>, boost::asio::detail::io_object_executor<boost::asio::executor> >::complete<boost::asio::detail::binder1<nfd::face::TcpChannel::accept(const FaceCreatedCallback&, const FaceCreationFailedCallback&)::<lambda(const auto:4&)>, boost::system::error_code> > (handler=..., function=..., this=<synthetic pointer>) at /usr/include/boost/asio/detail/handler_work.hpp:72
#19 boost::asio::detail::reactive_socket_accept_op<boost::asio::basic_socket<boost::asio::ip::tcp, boost::asio::executor>, boost::asio::ip::tcp, nfd::face::TcpChannel::accept(const FaceCreatedCallback&, const FaceCreationFailedCallback&)::<lambda(const auto:4&)>, boost::asio::detail::io_object_executor<boost::asio::executor> >::do_complete(void *, boost::asio::detail::operation *, const boost::system::error_code &, std::size_t) (owner=0x555555882d20, base=<optimized out>) at /usr/include/boost/asio/detail/reactive_socket_accept_op.hpp:140
#20 0x000055555560d3e3 in boost::asio::detail::scheduler_operation::complete (bytes_transferred=0, ec=..., owner=0x555555882d20, this=0x5555558b8540)
at /usr/include/boost/asio/detail/scheduler_operation.hpp:40
#21 boost::asio::detail::epoll_reactor::descriptor_state::do_complete (bytes_transferred=<optimized out>, ec=..., base=0x5555558b8490, owner=0x555555882d20)
at /usr/include/boost/asio/detail/impl/epoll_reactor.ipp:776
#22 boost::asio::detail::epoll_reactor::descriptor_state::do_complete (owner=0x555555882d20, base=0x5555558b8490, ec=..., bytes_transferred=<optimized out>)
at /usr/include/boost/asio/detail/impl/epoll_reactor.ipp:766
#23 0x000055555560cf75 in boost::asio::detail::scheduler_operation::complete (bytes_transferred=<optimized out>, ec=..., owner=0x555555882d20, this=<optimized out>)
at /usr/include/boost/asio/detail/scheduler_operation.hpp:40
#24 boost::asio::detail::scheduler::do_run_one (ec=..., this_thread=..., lock=..., this=<optimized out>) at /usr/include/boost/asio/detail/impl/scheduler.ipp:447
#25 boost::asio::detail::scheduler::run (this=0x555555882d20, ec=...) at /usr/include/boost/asio/detail/impl/scheduler.ipp:200
#26 0x00005555556165f9 in boost::asio::io_context::run (this=0x55555587e400) at /usr/include/boost/asio/impl/io_context.ipp:63
#27 nfd::NfdRunner::run (this=<optimized out>) at ../daemon/main.cpp:156
#28 0x00005555555f4841 in main (argc=<optimized out>, argv=<optimized out>) at ../daemon/main.cpp:336
(gdb) cont
Continuing.
1618431703.349924 FATAL: [nfd.Main] Throw location unknown (consider using BOOST_THROW_EXCEPTION)
Dynamic exception type: boost::wrapexcept<boost::system::system_error>
std::exception::what: remote_endpoint: Transport endpoint is not connected
[Thread 0x7ffff64d8700 (LWP 3493) exited]
[Thread 0x7ffff6cd9700 (LWP 3492) exited]
[Inferior 1 (process 3491) exited with code 01]
</code></pre>
<p>The above stack trace is obtained on a different system, in a Docker container based on <code>ubuntu:focal</code>.<br>
Its NFD version is:</p>
<pre><code>NFD version 0.7.1-21-g7249fb4d starting
Built with GNU C++ version 9.3.0, with GNU libstdc++ version 20200808, with Boost version 1.71.0, with libpcap version 1.9.1 (with TPACKET_V3), with WebSocket++ version 0.8.1, with ndn-cxx version 0.7.1-23-g39535f44
</code></pre> NFD - Bug #5158: TCP RST ⇒ Transport endpoint is not connectedhttps://redmine.named-data.net/issues/5158?journal_id=275062022-01-11T17:15:12ZJunxiao Shi
<ul><li><strong>Status</strong> changed from <i>New</i> to <i>Code review</i></li><li><strong>Assignee</strong> set to <i>Junxiao Shi</i></li><li><strong>% Done</strong> changed from <i>0</i> to <i>80</i></li></ul><p><a href="https://gerrit.named-data.net/c/NFD/+/6573">https://gerrit.named-data.net/c/NFD/+/6573</a> </p>
NFD - Bug #5158: TCP RST ⇒ Transport endpoint is not connectedhttps://redmine.named-data.net/issues/5158?journal_id=275082022-01-12T12:00:03ZDavide Pesavento
<ul><li><strong>Target version</strong> changed from <i>22.12</i> to <i>22.02</i></li></ul> NFD - Bug #5158: TCP RST ⇒ Transport endpoint is not connectedhttps://redmine.named-data.net/issues/5158?journal_id=275152022-01-13T18:26:53ZJunxiao Shi
<ul><li><strong>Status</strong> changed from <i>Code review</i> to <i>Closed</i></li><li><strong>% Done</strong> changed from <i>80</i> to <i>100</i></li></ul>