Skip to content
This repository was archived by the owner on Oct 28, 2021. It is now read-only.
This repository was archived by the owner on Oct 28, 2021. It is now read-only.

Crash in p2p (boost::asio) #5046

@chfast

Description

@chfast
Thread 17 "p2p" received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fffd942c700 (LWP 28817)]
0x0000555555ad1348 in boost::asio::detail::epoll_reactor::deregister_descriptor (this=0x555556824310, descriptor=descriptor@entry=41, 
    descriptor_data=@0x7ffed21a0a18: 0x0, closing=<optimized out>)
    at /home/chfast/.hunter/_Base/aa1facc/d092851/852a159/Install/include/boost/asio/detail/impl/epoll_reactor.ipp:333
333	  if (!descriptor_data->shutdown_)
(gdb) bt
#0  0x0000555555ad1348 in boost::asio::detail::epoll_reactor::deregister_descriptor (this=0x555556824310, descriptor=descriptor@entry=41, 
    descriptor_data=@0x7ffed21a0a18: 0x0, closing=<optimized out>)
    at /home/chfast/.hunter/_Base/aa1facc/d092851/852a159/Install/include/boost/asio/detail/impl/epoll_reactor.ipp:333
#1  0x0000555555ad1d5f in boost::asio::detail::reactive_socket_service_base::close (ec=..., impl=..., this=0x7fffd4002758)
    at /home/chfast/.hunter/_Base/aa1facc/d092851/852a159/Install/include/boost/asio/detail/impl/reactive_socket_service_base.ipp:105
#2  boost::asio::stream_socket_service<boost::asio::ip::tcp>::close (ec=..., impl=..., this=<optimized out>)
    at /home/chfast/.hunter/_Base/aa1facc/d092851/852a159/Install/include/boost/asio/stream_socket_service.hpp:174
#3  boost::asio::basic_socket<boost::asio::ip::tcp, boost::asio::stream_socket_service<boost::asio::ip::tcp> >::close (this=0x7ffed21a0a10)
    at /home/chfast/.hunter/_Base/aa1facc/d092851/852a159/Install/include/boost/asio/basic_socket.hpp:355
#4  0x0000555555b02c24 in dev::p2p::Session::drop (this=this@entry=0x7fff2a4abbf0, _reason=_reason@entry=dev::p2p::TCPError)
    at /home/chfast/Projects/ethereum/cpp-ethereum/libp2p/Session.cpp:298
#5  0x0000555555b0455f in dev::p2p::Session::checkRead (this=0x7fff2a4abbf0, _expected=_expected@entry=32, _ec=..., _length=_length@entry=0)
    at /home/chfast/Projects/ethereum/cpp-ethereum/libp2p/Session.cpp:412
#6  0x0000555555b06009 in dev::p2p::Session::<lambda(boost::system::error_code, std::size_t)>::operator()(boost::system::error_code, std::size_t) const (__closure=__closure@entry=0x7fffd942bab8, ec=..., length=0) at /home/chfast/Projects/ethereum/cpp-ethereum/libp2p/Session.cpp:342
#7  0x0000555555b0678a in 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, dev::p2p::Session::doRead()::<lambda(boost::system::error_code, std::size_t)> >::operator()(const boost::system::error_code &, std::size_t, int) (this=this@entry=0x7fffd942ba90, ec=..., 
    bytes_transferred=<optimized out>, start=start@entry=0)
    at /home/chfast/.hunter/_Base/aa1facc/d092851/852a159/Install/include/boost/asio/impl/read.hpp:282
#8  0x0000555555b06ae6 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, dev::p2p::Session::doRead()::<lambda(boost::system::error_code, std::size_t)> >, boost::system::error_code, long unsigned int>::operator() (this=0x7fffd942ba90)
    at /home/chfast/.hunter/_Base/aa1facc/d092851/852a159/Install/include/boost/asio/detail/bind_handler.hpp:127
#9  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::mutable_buffers_1, boost::asio::detail::transfer_all_t, dev::p2p::Session::doRead()::<lambda(boost::system::error_code, std::size_t)> >, boost::system::error_code, long unsigned int> > (function=...)
    at /home/chfast/.hunter/_Base/aa1facc/d092851/852a159/Install/include/boost/asio/handler_invoke_hook.hpp:69
#10 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::mutable_buffers_1, boost::asio::detail::transfer_all_t, dev::p2p::Session::doRead()::<lambda(boost::system::error_code, std::size_t)> >, boost::system::error_code, long unsigned int>, dev::p2p::Session::doRead()::<lambda(boost::system::error_code, std::size_t)> > (
    context=..., function=...) at /home/chfast/.hunter/_Base/aa1facc/d092851/852a159/Install/include/boost/asio/detail/handler_invoke_helpers.hpp:37
#11 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::mutable_buffers_1, boost::asio::detail::transfer_all_t, dev::p2p::Session::doRead()::<lambda(boost::system::error_code, std::size_t)> >, boost::system::error_code, long unsigned int>, boost::asio::basic_stream_socket<boost::asio::ip::tcp>, boost::asio::mutable_buffers_1, boost::asio::detail::transfer_all_t, dev::p2p::Session::doRead()::<lambda(boost::system::error_code, std::size_t)> > (this_handler=<optimized out>, 
---Type <return> to continue, or q <return> to quit---
    function=...) at /home/chfast/.hunter/_Base/aa1facc/d092851/852a159/Install/include/boost/asio/impl/read.hpp:502
#12 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::mutable_buffers_1, boost::asio::detail::transfer_all_t, dev::p2p::Session::doRead()::<lambda(boost::system::error_code, std::size_t)> >, boost::system::error_code, long unsigned int>, boost::asio::detail::read_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp>, boost::asio::mutable_buffers_1, boost::asio::detail::transfer_all_t, dev::p2p::Session::doRead()::<lambda(boost::system::error_code, std::size_t)> > > (
    context=..., function=...) at /home/chfast/.hunter/_Base/aa1facc/d092851/852a159/Install/include/boost/asio/detail/handler_invoke_helpers.hpp:37
#13 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, dev::p2p::Session::doRead()::<lambda(boost::system::error_code, std::size_t)> > >::do_complete(boost::asio::detail::io_service_impl *, boost::asio::detail::operation *, const boost::system::error_code &, std::size_t) (owner=0x5555568248c0, base=<optimized out>)
    at /home/chfast/.hunter/_Base/aa1facc/d092851/852a159/Install/include/boost/asio/detail/reactive_socket_recv_op.hpp:110
#14 0x0000555555ad1ba9 in boost::asio::detail::task_io_service_operation::complete (bytes_transferred=<optimized out>, ec=..., owner=..., 
    this=<optimized out>) at /home/chfast/.hunter/_Base/aa1facc/d092851/852a159/Install/include/boost/asio/detail/task_io_service_operation.hpp:38
#15 boost::asio::detail::task_io_service::do_run_one (ec=..., this_thread=..., lock=..., this=0x5555568248c0)
    at /home/chfast/.hunter/_Base/aa1facc/d092851/852a159/Install/include/boost/asio/detail/impl/task_io_service.ipp:372
#16 boost::asio::detail::task_io_service::run (this=0x5555568248c0, ec=...)
    at /home/chfast/.hunter/_Base/aa1facc/d092851/852a159/Install/include/boost/asio/detail/impl/task_io_service.ipp:149
#17 0x0000555555ac34a8 in boost::asio::io_service::run (this=0x7fffffffda08)
    at /home/chfast/.hunter/_Base/aa1facc/d092851/852a159/Install/include/boost/asio/impl/io_service.ipp:59
#18 dev::p2p::Host::doWork (this=0x7fffffffd8b0) at /home/chfast/Projects/ethereum/cpp-ethereum/libp2p/Host.cpp:783
#19 0x000055555585b042 in dev::Worker::workLoop (this=0x7fffffffd8b0) at /home/chfast/Projects/ethereum/cpp-ethereum/libdevcore/Worker.cpp:140
#20 0x000055555585b964 in dev::Worker::<lambda()>::operator() (__closure=0x555556c5d538)
    at /home/chfast/Projects/ethereum/cpp-ethereum/libdevcore/Worker.cpp:62
#21 std::__invoke_impl<void, dev::Worker::startWorking()::<lambda()> > (__f=...) at /usr/include/c++/7/bits/invoke.h:60
#22 std::__invoke<dev::Worker::startWorking()::<lambda()> > (__fn=...) at /usr/include/c++/7/bits/invoke.h:95
#23 std::thread::_Invoker<std::tuple<dev::Worker::startWorking()::<lambda()> > >::_M_invoke<0> (this=0x555556c5d538)
    at /usr/include/c++/7/thread:234
#24 std::thread::_Invoker<std::tuple<dev::Worker::startWorking()::<lambda()> > >::operator() (this=0x555556c5d538) at /usr/include/c++/7/thread:243
#25 std::thread::_State_impl<std::thread::_Invoker<std::tuple<dev::Worker::startWorking()::<lambda()> > > >::_M_run(void) (this=0x555556c5d530)
    at /usr/include/c++/7/thread:186
#26 0x00007ffff7485733 in ?? () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#27 0x00007ffff775c6db in start_thread (arg=0x7fffd942c700) at pthread_create.c:463
#28 0x00007ffff6b4188f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions