Thread 3 "asio_bug" received signal SIGSEGV, Segmentation fault. [Switching to Thread 0x7ffff6737700 (LWP 30088)] 0x000000000040d7db in boost::asio::detail::epoll_reactor::start_op ( this=0x64cdf0, op_type=1, descriptor=7, descriptor_data=@0x64de48: 0x0, op=0x7fffe8000a10, is_continuation=true, allow_speculative=true) at /softs/lin64-gcc-7.2.0/debug/boost/include/boost/asio/detail/impl/epoll_reactor.ipp:230 230 if (descriptor_data->shutdown_) Missing separate debuginfos, use: dnf debuginfo-install glibc-2.25-10.fc26.x86_64 A debugging session is active. Inferior 1 [process 30071] will be killed. Quit anyway? (y or n) n Not confirmed. (gdb) where #0 0x000000000040d7db in boost::asio::detail::epoll_reactor::start_op (this=0x64cdf0, op_type=1, descriptor=7, descriptor_data=@0x64de48: 0x0, op=0x7fffe8000a10, is_continuation=true, allow_speculative=true) at /softs/lin64-gcc-7.2.0/debug/boost/include/boost/asio/detail/impl/epoll_reactor.ipp:230 #1 0x000000000041101a in boost::asio::detail::reactive_socket_service_base::start_op (this=0x64d118, impl=..., op_type=1, op=0x7fffe8000a10, is_continuation=true, is_non_blocking=true, noop=false) at /softs/lin64-gcc-7.2.0/debug/boost/include/boost/asio/detail/impl/reactive_socket_service_base.ipp:221 #2 0x0000000000408eae in boost::asio::detail::reactive_socket_service_base::async_send, boost::asio::const_buffers_1, boost::asio::detail::transfer_all_t, awrite(socket_t, void const*, std::size_t, Handler) [with Handler = timeout_write_test()::::]:: > >(boost::asio::detail::reactive_socket_service_base::base_implementation_type &, const boost::asio::const_buffers_1 &, boost::asio::socket_base::message_flags, boost::asio::detail::write_op >, boost::asio::const_buffers_1, boost::asio::detail::transfer_all_t, awrite(socket_t, void const*, std::size_t, Handler) [with Handler = timeout_write_test()::::; socket_t = std::shared_ptr >; std::size_t = long unsigned int]:: > &) (this=0x64d118, impl=..., buffers=..., flags=0, handler=...) at /softs/lin64-gcc-7.2.0/debug/boost/include/boost/asio/detail/reactive_socket_service_base.hpp:216 #3 0x00000000004086f4 in boost::asio::stream_socket_service::async_send, boost::asio::const_buffers_1, boost::asio::detail::transfer_all_t, awrite(socket_t, void const*, std::size_t, Handler) [with Handler = timeout_write_test()::::]:: > >(boost::asio::stream_socket_service::implementation_type &, const boost::asio::const_buffers_1 &, boost::asio::socket_base::message_flags, boost::asio::detail::write_op >, boost::asio::const_buffers_1, boost::asio::detail::transfer_all_t, awrite(socket_t, void const*, std::size_t, Handler) [with Handler = timeout_write_test()::::; socket_t = std::shared_ptr >; std::size_t = long unsigned int]:: > &&) (this=0x64d0f0, impl=..., buffers=..., flags=0, handler=...) at /softs/lin64-gcc-7.2.0/debug/boost/include/boost/asio/stream_socket_service.hpp:334 #4 0x000000000040804e in boost::asio::basic_stream_socket >::async_write_some, boost::asio::const_buffers_1, boost::asio::detail::transfer_all_t, awrite(socket_t, void const*, std::size_t, Handler) [with Handler = timeout_write_test()::::]:: > >(const boost::asio::const_buffers_1 &, boost::asio::detail::write_op >, boost::asio::const_buffers_1, boost::asio::detail::transfer_all_t, awrite(socket_t, void const*, std::size_t, Handler) [with Handler = timeout_write_test()::::; socket_t = std::shared_ptr >; std::size_t = long unsigned int]:: > &&) (this=0x64de40, buffers=..., handler=...) at /softs/lin64-gcc-7.2.0/debug/boost/include/boost/asio/basic_stream_socket.hpp:732 #5 0x0000000000407ad1 in boost::asio::detail::write_op >, boost::asio::const_buffers_1, boost::asio::detail::transfer_all_t, awrite(socket_t, void const*, std::size_t, Handler) [with Handler = timeout_write_test()::::; socket_t = std::shared_ptr >; std::size_t = long unsigned int]:: >::operator()(const boost::system::error_code &, std::size_t, int) (this=0x7ffff6736b70, ec=..., bytes_transferred=65536, start=0) at /softs/lin64-gcc-7.2.0/debug/boost/include/boost/asio/impl/write.hpp:334 #6 0x000000000040a092 in boost::asio::detail::binder2 >, boost::asio::const_buffers_1, boost::asio::detail::transfer_all_t, awrite(socket_t, void const*, std::size_t, Handler) [with Handler = timeout_write_test()::::; socket_t = std::shared_ptr >; std::size_t = long unsigned int]:: >, boost::system::error_code, long unsigned int>::operator()(void) (this=0x7ffff6736b70) at /softs/lin64-gcc-7.2.0/debug/boost/include/boost/asio/detail/bind_handler.hpp:127 #7 0x000000000040a05e in boost::asio::asio_handler_invoke, boost::asio::const_buffers_1, boost::asio::detail::transfer_all_t, awrite(socket_t, void const*, std::size_t, Handler) [with Handler = timeout_write_test()::::]:: >, boost::system::error_code, long unsigned int> >(boost::asio::detail::binder2 >, boost::asio::const_buffers_1, boost::asio::detail::transfer_all_t, awrite(socket_t, void const*, std::size_t, Handler) [with Handler = timeout_write_test()::::; socket_t = std::shared_ptr >; std::size_t = long unsigned int]:: >, boost::system::error_code, long unsigned int> &, ...) (function=...) at /softs/lin64-gcc-7.2.0/debug/boost/include/boost/asio/handler_invoke_hook.hpp:69 #8 0x0000000000409fc4 in boost_asio_handler_invoke_helpers::invoke, boost::asio::const_buffers_1, boost::asio::detail::transfer_all_t, awrite(socket_t, void const*, std::size_t, Handler) [with Handler = timeout_write_test()::::]:: >, boost::system::error_code, long unsigned int>, awrite(socket_t, void const*, std::size_t, Handler) [with Handler = timeout_write_test()::::]:: >(boost::asio::detail::binder2 >, boost::asio::const_buffers_1, boost::asio::detail::transfer_all_t, awrite(socket_t, void const*, std::size_t, Handler) [with Handler = timeout_write_test()::::; socket_t = std::shared_ptr >; std::size_t = long unsigned int]:: >, boost::system::error_code, long unsigned int> &, &) (function=..., context=...) at /softs/lin64-gcc-7.2.0/debug/boost/include/boost/asio/detail/handler_invoke_helpers.hpp:37 #9 0x0000000000409ecf in boost::asio::detail::asio_handler_invoke, boost::asio::const_buffers_1, boost::asio::detail::transfer_all_t, awrite(socket_t, void const*, std::size_t, Handler) [with Handler = timeout_write_test()::::]:: >, boost::system::error_code, long unsigned int>, boost::asio::basic_stream_socket, boost::asio::const_buffers_1, boost::asio::detail::transfer_all_t, awrite(socket_t, void const*, std::size_t, Handler) [with Handler = timeout_write_test()::::]:: >(boost::asio::detail::binder2 >, boost::asio::const_buffers_1, boost::asio::detail::transfer_all_t, awrite(socket_t, void const*, std::size_t, Handler) [with Handler = timeout_write_test()::::; socket_t = std::shared_ptr >; std::size_t = long unsigned int]:: >, boost::system::error_code, long unsigned int> &, boost::asio::detail::write_op >, boost::asio::const_buffers_1, boost::asio::detail::transfer_all_t, awrite(socket_t, void const*, std::size_t, Handler) [with Handler = timeout_write_test()::::; socket_t = std::shared_ptr >; std::size_t = long unsigned int]:: > *) (function=..., this_handler=0x7ffff6736b70) at /softs/lin64-gcc-7.2.0/debug/boost/include/boost/asio/impl/write.hpp:565 #10 0x0000000000409dfd in boost_asio_handler_invoke_helpers::invoke, boost::asio::const_buffers_1, boost::asio::detail::transfer_all_t, awrite(socket_t, void const*, std::size_t, Handler) [with Handler = timeout_write_test()::::]:: >, boost::system::error_code, long unsigned int>, boost::asio::detail::write_op, boost::asio::const_buffers_1, boost::asio::detail::transfer_all_t, awrite(socket_t, void const*, std::size_t, Handler) [with Handler = timeout_write_test()::::]:: > >(boost::asio::detail::binder2 >, boost::asio::const_buffers_1, boost::asio::detail::transfer_all_t, awrite(socket_t, void const*, std::size_t, Handler) [with Handler = timeout_write_test()::::; socket_t = std::shared_ptr >; std::size_t = long unsigned int]:: >, boost::system::error_code, long unsigned int> &, boost::asio::detail::write_op >, boost::asio::const_buffers_1, boost::asio::detail::transfer_all_t, awrite(socket_t, void const*, std::size_t, Handler) [with Handler = timeout_write_test()::::; socket_t = std::shared_ptr >; std::size_t = long unsigned int]:: > &) (function=..., context=...) at /softs/lin64-gcc-7.2.0/debug/boost/include/boost/asio/detail/handler_invoke_helpers.hpp:37 #11 0x0000000000409b81 in boost::asio::detail::reactive_socket_send_op >, boost::asio::const_buffers_1, boost::asio::detail::transfer_all_t, awrite(socket_t, void const*, std::size_t, Handler) [with Handler = timeout_write_test()::::; socket_t = std::shared_ptr >; std::size_t = long unsigned int]:: > >::do_complete(boost::asio::detail::io_service_impl *, boost::asio::detail::operation *, const boost::system::error_code &, std::size_t) (owner=0x64cc70, base=0x7fffe8000a10) at /softs/lin64-gcc-7.2.0/debug/boost/include/boost/asio/detail/reactive_socket_send_op.hpp:107 #12 0x000000000040c842 in boost::asio::detail::task_io_service_operation::complete (this=0x7fffe8000a10, owner=..., ec=..., bytes_transferred=0) at /softs/lin64-gcc-7.2.0/debug/boost/include/boost/asio/detail/task_io_service_operation.hpp:38 #13 0x000000000040f1cc in boost::asio::detail::task_io_service::do_run_one (this=0x64cc70, lock=..., this_thread=..., ec=...) at /softs/lin64-gcc-7.2.0/debug/boost/include/boost/asio/detail/impl/task_io_service.ipp:372 #14 0x000000000040ecc0 in boost::asio::detail::task_io_service::run (this=0x64cc70, ec=...) at /softs/lin64-gcc-7.2.0/debug/boost/include/boost/asio/detail/impl/task_io_service.ipp:149 #15 0x000000000040f4c1 in boost::asio::io_service::run (this=0x63a8a0 ) at /softs/lin64-gcc-7.2.0/debug/boost/include/boost/asio/impl/io_service.ipp:59 #16 0x000000000040555e in ::operator()(void) const (__closure=0x64d078) at Progs/asio_bug.cpp:230 #17 0x0000000000408a1c in std::__invoke_impl >(std::__invoke_other, &&) (__f=...) at /softs/gcc-7.2.0/include/c++/7.2.0/bits/invoke.h:60 #18 0x0000000000408320 in std::__invoke >( &&) (__fn=...) at /softs/gcc-7.2.0/include/c++/7.2.0/bits/invoke.h:95 #19 0x000000000040a45a in std::thread::_Invoker > >::_M_invoke<0>(std::_Index_tuple<0>) (this=0x64d078) at /softs/gcc-7.2.0/include/c++/7.2.0/thread:234 #20 0x000000000040a42b in std::thread::_Invoker > >::operator()(void) (this=0x64d078) at /softs/gcc-7.2.0/include/c++/7.2.0/thread:243 #21 0x000000000040a40a in std::thread::_State_impl > > >::_M_run(void) (this=0x64d070) at /softs/gcc-7.2.0/include/c++/7.2.0/thread:186 #22 0x00007ffff78f08ef in std::execute_native_thread_routine (__p=0x64d070) at /softs/build/gcc-7.2.0/libstdc++-v3/src/c++11/thread.cc:83 #23 0x00007ffff7bbe36d in start_thread () from /lib64/libpthread.so.0 #24 0x00007ffff7049bbf in clone () from /lib64/libc.so.6 (gdb) down Bottom (innermost) frame selected; you cannot go down. (gdb) up #1 0x000000000041101a in boost::asio::detail::reactive_socket_service_base::start_op (this=0x64d118, impl=..., op_type=1, op=0x7fffe8000a10, is_continuation=true, is_non_blocking=true, noop=false) at /softs/lin64-gcc-7.2.0/debug/boost/include/boost/asio/detail/impl/reactive_socket_service_base.ipp:221 221 reactor_.start_op(op_type, impl.socket_, (gdb) down #0 0x000000000040d7db in boost::asio::detail::epoll_reactor::start_op (this=0x64cdf0, op_type=1, descriptor=7, descriptor_data=@0x64de48: 0x0, op=0x7fffe8000a10, is_continuation=true, allow_speculative=true) at /softs/lin64-gcc-7.2.0/debug/boost/include/boost/asio/detail/impl/epoll_reactor.ipp:230 230 if (descriptor_data->shutdown_) (gdb) print descriptor_data $1 = (boost::asio::detail::epoll_reactor::per_descriptor_data &) @0x64de48: 0x0 (gdb) generate-core-file asio_bug.core.2 Saved corefile asio_bug.core.2 (gdb) thread apply all where Thread 4 (Thread 0x7ffff5f36700 (LWP 30089)): #0 0x00007ffff704a123 in epoll_wait () from /lib64/libc.so.6 #1 0x000000000040dda5 in boost::asio::detail::epoll_reactor::run (this=0x64cdf0, block=true, ops=...) at /softs/lin64-gcc-7.2.0/debug/boost/include/boost/asio/detail/impl/epoll_reactor.ipp:438 #2 0x000000000040f148 in boost::asio::detail::task_io_service::do_run_one (this=0x64cc70, lock=..., this_thread=..., ec=...) at /softs/lin64-gcc-7.2.0/debug/boost/include/boost/asio/detail/impl/task_io_service.ipp:356 #3 0x000000000040ecc0 in boost::asio::detail::task_io_service::run (this=0x64cc70, ec=...) at /softs/lin64-gcc-7.2.0/debug/boost/include/boost/asio/detail/impl/task_io_service.ipp:149 #4 0x000000000040f4c1 in boost::asio::io_service::run (this=0x63a8a0 ) at /softs/lin64-gcc-7.2.0/debug/boost/include/boost/asio/impl/io_service.ipp:59 #5 0x000000000040555e in ::operator()(void) const (__closure=0x64d098) at Progs/asio_bug.cpp:230 #6 0x0000000000408a1c in std::__invoke_impl >(std::__invoke_other, &&) (__f=...) at /softs/gcc-7.2.0/include/c++/7.2.0/bits/invoke.h:60 #7 0x0000000000408320 in std::__invoke >( &&) (__fn=...) at /softs/gcc-7.2.0/include/c++/7.2.0/bits/invoke.h:95 #8 0x000000000040a45a in std::thread::_Invoker > >::_M_invoke<0>(std::_Index_tuple<0>) (this=0x64d098) at /softs/gcc-7.2.0/include/c++/7.2.0/thread:234 #9 0x000000000040a42b in std::thread::_Invoker > >::operator()(void) (this=0x64d098) at /softs/gcc-7.2.0/include/c++/7.2.0/thread:243 #10 0x000000000040a40a in std::thread::_State_impl > > >::_M_run(void) (this=0x64d090) at /softs/gcc-7.2.0/include/c++/7.2.0/thread:186 #11 0x00007ffff78f08ef in std::execute_native_thread_routine (__p=0x64d090) at /softs/build/gcc-7.2.0/libstdc++-v3/src/c++11/thread.cc:83 #12 0x00007ffff7bbe36d in start_thread () from /lib64/libpthread.so.0 #13 0x00007ffff7049bbf in clone () from /lib64/libc.so.6 Thread 3 (Thread 0x7ffff6737700 (LWP 30088)): #0 0x000000000040d7db in boost::asio::detail::epoll_reactor::start_op (this=0x64cdf0, op_type=1, descriptor=7, descriptor_data=@0x64de48: 0x0, op=0x7fffe8000a10, is_continuation=true, allow_speculative=true) at /softs/lin64-gcc-7.2.0/debug/boost/include/boost/asio/detail/impl/epoll_reactor.ipp:230 #1 0x000000000041101a in boost::asio::detail::reactive_socket_service_base::start_op (this=0x64d118, impl=..., op_type=1, op=0x7fffe8000a10, is_continuation=true, is_non_blocking=true, noop=false) at /softs/lin64-gcc-7.2.0/debug/boost/include/boost/asio/detail/impl/reactive_socket_service_base.ipp:221 #2 0x0000000000408eae in boost::asio::detail::reactive_socket_service_base::async_send, boost::asio::const_buffers_1, boost::asio::detail::transfer_all_t, awrite(socket_t, void const*, std::size_t, Handler) [with Handler = timeout_write_test()::::]:: > >(boost::asio::detail::reactive_socket_service_base::base_implementation_type &, const boost::asio::const_buffers_1 &, boost::asio::socket_base::message_flags, boost::asio::detail::write_op >, boost::asio::const_buffers_1, boost::asio::detail::transfer_all_t, awrite(socket_t, void const*, std::size_t, Handler) [with Handler = timeout_write_test()::::; socket_t = std::shared_ptr >; std::size_t = long unsigned int]:: > &) (this=0x64d118, impl=..., buffers=..., flags=0, handler=...) at /softs/lin64-gcc-7.2.0/debug/boost/include/boost/asio/detail/reactive_socket_service_base.hpp:216 #3 0x00000000004086f4 in boost::asio::stream_socket_service::async_send, boost::asio::const_buffers_1, boost::asio::detail::transfer_all_t, awrite(socket_t, void const*, std::size_t, Handler) [with Handler = timeout_write_test()::::]:: > >(boost::asio::stream_socket_service::implementation_type &, const boost::asio::const_buffers_1 &, boost::asio::socket_base::message_flags, boost::asio::detail::write_op >, boost::asio::const_buffers_1, boost::asio::detail::transfer_all_t, awrite(socket_t, void const*, std::size_t, Handler) [with Handler = timeout_write_test()::::; socket_t = std::shared_ptr >; std::size_t = long unsigned int]:: > &&) (this=0x64d0f0, impl=..., buffers=..., flags=0, handler=...) at /softs/lin64-gcc-7.2.0/debug/boost/include/boost/asio/stream_socket_service.hpp:334 #4 0x000000000040804e in boost::asio::basic_stream_socket >::async_write_some, boost::asio::const_buffers_1, boost::asio::detail::transfer_all_t, awrite(socket_t, void const*, std::size_t, Handler) [with Handler = timeout_write_test()::::]:: > >(const boost::asio::const_buffers_1 &, boost::asio::detail::write_op >, boost::asio::const_buffers_1, boost::asio::detail::transfer_all_t, awrite(socket_t, void const*, std::size_t, Handler) [with Handler = timeout_write_test()::::; socket_t = std::shared_ptr >; std::size_t = long unsigned int]:: > &&) (this=0x64de40, buffers=..., handler=...) at /softs/lin64-gcc-7.2.0/debug/boost/include/boost/asio/basic_stream_socket.hpp:732 #5 0x0000000000407ad1 in boost::asio::detail::write_op >, boost::asio::const_buffers_1, boost::asio::detail::transfer_all_t, awrite(socket_t, void const*, std::size_t, Handler) [with Handler = timeout_write_test()::::; socket_t = std::shared_ptr >; std::size_t = long unsigned int]:: >::operator()(const boost::system::error_code &, std::size_t, int) (this=0x7ffff6736b70, ec=..., bytes_transferred=65536, start=0) at /softs/lin64-gcc-7.2.0/debug/boost/include/boost/asio/impl/write.hpp:334 #6 0x000000000040a092 in boost::asio::detail::binder2 >, boost::asio::const_buffers_1, boost::asio::detail::transfer_all_t, awrite(socket_t, void const*, std::size_t, Handler) [with Handler = timeout_write_test()::::; socket_t = std::shared_ptr >; std::size_t = long unsigned int]:: >, boost::system::error_code, long unsigned int>::operator()(void) (this=0x7ffff6736b70) at /softs/lin64-gcc-7.2.0/debug/boost/include/boost/asio/detail/bind_handler.hpp:127 #7 0x000000000040a05e in boost::asio::asio_handler_invoke, boost::asio::const_buffers_1, boost::asio::detail::transfer_all_t, awrite(socket_t, void const*, std::size_t, Handler) [with Handler = timeout_write_test()::::]:: >, boost::system::error_code, long unsigned int> >(boost::asio::detail::binder2 >, boost::asio::const_buffers_1, boost::asio::detail::transfer_all_t, awrite(socket_t, void const*, std::size_t, Handler) [with Handler = timeout_write_test()::::; socket_t = std::shared_ptr >; std::size_t = long unsigned int]:: >, boost::system::error_code, long unsigned int> &, ...) (function=...) at /softs/lin64-gcc-7.2.0/debug/boost/include/boost/asio/handler_invoke_hook.hpp:69 #8 0x0000000000409fc4 in boost_asio_handler_invoke_helpers::invoke, boost::asio::const_buffers_1, boost::asio::detail::transfer_all_t, awrite(socket_t, void const*, std::size_t, Handler) [with Handler = timeout_write_test()::::]:: >, boost::system::error_code, long unsigned int>, awrite(socket_t, void const*, std::size_t, Handler) [with Handler = timeout_write_test()::::]:: >(boost::asio::detail::binder2 >, boost::asio::const_buffers_1, boost::asio::detail::transfer_all_t, awrite(socket_t, void const*, std::size_t, Handler) [with Handler = timeout_write_test()::::; socket_t = std::shared_ptr >; std::size_t = long unsigned int]:: >, boost::system::error_code, long unsigned int> &, &) (function=..., context=...) at /softs/lin64-gcc-7.2.0/debug/boost/include/boost/asio/detail/handler_invoke_helpers.hpp:37 #9 0x0000000000409ecf in boost::asio::detail::asio_handler_invoke, boost::asio::const_buffers_1, boost::asio::detail::transfer_all_t, awrite(socket_t, void const*, std::size_t, Handler) [with Handler = timeout_write_test()::::]:: >, boost::system::error_code, long unsigned int>, boost::asio::basic_stream_socket, boost::asio::const_buffers_1, boost::asio::detail::transfer_all_t, awrite(socket_t, void const*, std::size_t, Handler) [with Handler = timeout_write_test()::::]:: >(boost::asio::detail::binder2 >, boost::asio::const_buffers_1, boost::asio::detail::transfer_all_t, awrite(socket_t, void const*, std::size_t, Handler) [with Handler = timeout_write_test()::::; socket_t = std::shared_ptr >; std::size_t = long unsigned int]:: >, boost::system::error_code, long unsigned int> &, boost::asio::detail::write_op >, boost::asio::const_buffers_1, boost::asio::detail::transfer_all_t, awrite(socket_t, void const*, std::size_t, Handler) [with Handler = timeout_write_test()::::; socket_t = std::shared_ptr >; std::size_t = long unsigned int]:: > *) (function=..., this_handler=0x7ffff6736b70) at /softs/lin64-gcc-7.2.0/debug/boost/include/boost/asio/impl/write.hpp:565 #10 0x0000000000409dfd in boost_asio_handler_invoke_helpers::invoke, boost::asio::const_buffers_1, boost::asio::detail::transfer_all_t, awrite(socket_t, void const*, std::size_t, Handler) [with Handler = timeout_write_test()::::]:: >, boost::system::error_code, long unsigned int>, boost::asio::detail::write_op, boost::asio::const_buffers_1, boost::asio::detail::transfer_all_t, awrite(socket_t, void const*, std::size_t, Handler) [with Handler = timeout_write_test()::::]:: > >(boost::asio::detail::binder2 >, boost::asio::const_buffers_1, boost::asio::detail::transfer_all_t, awrite(socket_t, void const*, std::size_t, Handler) [with Handler = timeout_write_test()::::; socket_t = std::shared_ptr >; std::size_t = long unsigned int]:: >, boost::system::error_code, long unsigned int> &, boost::asio::detail::write_op >, boost::asio::const_buffers_1, boost::asio::detail::transfer_all_t, awrite(socket_t, void const*, std::size_t, Handler) [with Handler = timeout_write_test()::::; socket_t = std::shared_ptr >; std::size_t = long unsigned int]:: > &) (function=..., context=...) at /softs/lin64-gcc-7.2.0/debug/boost/include/boost/asio/detail/handler_invoke_helpers.hpp:37 #11 0x0000000000409b81 in boost::asio::detail::reactive_socket_send_op >, boost::asio::const_buffers_1, boost::asio::detail::transfer_all_t, awrite(socket_t, void const*, std::size_t, Handler) [with Handler = timeout_write_test()::::; socket_t = std::shared_ptr >; std::size_t = long unsigned int]:: > >::do_complete(boost::asio::detail::io_service_impl *, boost::asio::detail::operation *, const boost::system::error_code &, std::size_t) (owner=0x64cc70, base=0x7fffe8000a10) at /softs/lin64-gcc-7.2.0/debug/boost/include/boost/asio/detail/reactive_socket_send_op.hpp:107 #12 0x000000000040c842 in boost::asio::detail::task_io_service_operation::complete (this=0x7fffe8000a10, owner=..., ec=..., bytes_transferred=0) at /softs/lin64-gcc-7.2.0/debug/boost/include/boost/asio/detail/task_io_service_operation.hpp:38 #13 0x000000000040f1cc in boost::asio::detail::task_io_service::do_run_one (this=0x64cc70, lock=..., this_thread=..., ec=...) at /softs/lin64-gcc-7.2.0/debug/boost/include/boost/asio/detail/impl/task_io_service.ipp:372 #14 0x000000000040ecc0 in boost::asio::detail::task_io_service::run (this=0x64cc70, ec=...) at /softs/lin64-gcc-7.2.0/debug/boost/include/boost/asio/detail/impl/task_io_service.ipp:149 #15 0x000000000040f4c1 in boost::asio::io_service::run (this=0x63a8a0 ) at /softs/lin64-gcc-7.2.0/debug/boost/include/boost/asio/impl/io_service.ipp:59 #16 0x000000000040555e in ::operator()(void) const (__closure=0x64d078) at Progs/asio_bug.cpp:230 #17 0x0000000000408a1c in std::__invoke_impl >(std::__invoke_other, &&) (__f=...) at /softs/gcc-7.2.0/include/c++/7.2.0/bits/invoke.h:60 #18 0x0000000000408320 in std::__invoke >( &&) (__fn=...) at /softs/gcc-7.2.0/include/c++/7.2.0/bits/invoke.h:95 #19 0x000000000040a45a in std::thread::_Invoker > >::_M_invoke<0>(std::_Index_tuple<0>) (this=0x64d078) at /softs/gcc-7.2.0/include/c++/7.2.0/thread:234 #20 0x000000000040a42b in std::thread::_Invoker > >::operator()(void) (this=0x64d078) at /softs/gcc-7.2.0/include/c++/7.2.0/thread:243 ---Type to continue, or q to quit--- #21 0x000000000040a40a in std::thread::_State_impl > > >::_M_run(void) (this=0x64d070) at /softs/gcc-7.2.0/include/c++/7.2.0/thread:186 #22 0x00007ffff78f08ef in std::execute_native_thread_routine (__p=0x64d070) at /softs/build/gcc-7.2.0/libstdc++-v3/src/c++11/thread.cc:83 #23 0x00007ffff7bbe36d in start_thread () from /lib64/libpthread.so.0 #24 0x00007ffff7049bbf in clone () from /lib64/libc.so.6 Thread 2 (Thread 0x7ffff6f38700 (LWP 30087)): #0 0x00007ffff7bc490b in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x00007ffff78eac2c in __gthread_cond_wait (__mutex=, __cond=) at /softs/build/gcc-7.2.0.build/x86_64-pc-linux-gnu/libstdc++-v3/include/x86_64-pc-linux-gnu/bits/gthr-default.h:864 #2 std::condition_variable::wait (this=, __lock=...) at /softs/build/gcc-7.2.0/libstdc++-v3/src/c++11/condition_variable.cc:53 #3 0x00000000004058c4 in std::condition_variable::wait:: >(std::unique_lock &, ::) (this=0x7fffffffd600, __lock=..., __p=...) at /softs/gcc-7.2.0/include/c++/7.2.0/condition_variable:99 #4 0x00000000004049fb in ::operator()(const boost::system::error_code &, socket_t) const (__closure=0x7ffff6f37b50, ec=..., socket=...) at Progs/asio_bug.cpp:182 #5 0x0000000000406e17 in ::operator()(const boost::system::error_code &) const (__closure=0x7ffff6f37b40, ec=...) at Progs/asio_bug.cpp:93 #6 0x0000000000409e59 in boost::asio::detail::binder1]::, boost::system::error_code>::operator()(void) (this=0x7ffff6f37b40) at /softs/lin64-gcc-7.2.0/debug/boost/include/boost/asio/detail/bind_handler.hpp:47 #7 0x0000000000409cb8 in boost::asio::asio_handler_invoke]::, boost::system::error_code> >(boost::asio::detail::binder1]::, boost::system::error_code> &, ...) (function=...) at /softs/lin64-gcc-7.2.0/debug/boost/include/boost/asio/handler_invoke_hook.hpp:69 #8 0x0000000000409912 in boost_asio_handler_invoke_helpers::invoke]::, boost::system::error_code>, server_accept(Handler) [with Handler = timeout_write_test()::]:: >(boost::asio::detail::binder1]::, boost::system::error_code> &, &) (function=..., context=...) at /softs/lin64-gcc-7.2.0/debug/boost/include/boost/asio/detail/handler_invoke_helpers.hpp:37 #9 0x0000000000409541 in boost::asio::detail::reactive_socket_accept_op >, boost::asio::ip::tcp, server_accept(Handler) [with Handler = timeout_write_test()::]:: >::do_complete(boost::asio::detail::io_service_impl *, boost::asio::detail::operation *, const boost::system::error_code &, std::size_t) (owner=0x64cc70, base=0x64d480) at /softs/lin64-gcc-7.2.0/debug/boost/include/boost/asio/detail/reactive_socket_accept_op.hpp:123 #10 0x000000000040c842 in boost::asio::detail::task_io_service_operation::complete (this=0x64d480, owner=..., ec=..., bytes_transferred=0) at /softs/lin64-gcc-7.2.0/debug/boost/include/boost/asio/detail/task_io_service_operation.hpp:38 #11 0x000000000040e6e1 in boost::asio::detail::epoll_reactor::descriptor_state::do_complete (owner=0x64cc70, base=0x64d3e0, ec=..., bytes_transferred=1) at /softs/lin64-gcc-7.2.0/debug/boost/include/boost/asio/detail/impl/epoll_reactor.ipp:704 #12 0x000000000040c842 in boost::asio::detail::task_io_service_operation::complete (this=0x64d3e0, owner=..., ec=..., bytes_transferred=1) at /softs/lin64-gcc-7.2.0/debug/boost/include/boost/asio/detail/task_io_service_operation.hpp:38 #13 0x000000000040f1cc in boost::asio::detail::task_io_service::do_run_one (this=0x64cc70, lock=..., this_thread=..., ec=...) at /softs/lin64-gcc-7.2.0/debug/boost/include/boost/asio/detail/impl/task_io_service.ipp:372 #14 0x000000000040ecc0 in boost::asio::detail::task_io_service::run (this=0x64cc70, ec=...) at /softs/lin64-gcc-7.2.0/debug/boost/include/boost/asio/detail/impl/task_io_service.ipp:149 #15 0x000000000040f4c1 in boost::asio::io_service::run (this=0x63a8a0 ) at /softs/lin64-gcc-7.2.0/debug/boost/include/boost/asio/impl/io_service.ipp:59 #16 0x000000000040555e in ::operator()(void) const (__closure=0x64cf18) at Progs/asio_bug.cpp:230 #17 0x0000000000408a1c in std::__invoke_impl >(std::__invoke_other, &&) (__f=...) at /softs/gcc-7.2.0/include/c++/7.2.0/bits/invoke.h:60 #18 0x0000000000408320 in std::__invoke >( &&) (__fn=...) at /softs/gcc-7.2.0/include/c++/7.2.0/bits/invoke.h:95 #19 0x000000000040a45a in std::thread::_Invoker > >::_M_invoke<0>(std::_Index_tuple<0>) (this=0x64cf18) at /softs/gcc-7.2.0/include/c++/7.2.0/thread:234 #20 0x000000000040a42b in std::thread::_Invoker > >::operator()(void) (this=0x64cf18) at /softs/gcc-7.2.0/include/c++/7.2.0/thread:243 #21 0x000000000040a40a in std::thread::_State_impl > > >::_M_run(void) (this=0x64cf10) at /softs/gcc-7.2.0/include/c++/7.2.0/thread:186 #22 0x00007ffff78f08ef in std::execute_native_thread_routine (__p=0x64cf10) at /softs/build/gcc-7.2.0/libstdc++-v3/src/c++11/thread.cc:83 #23 0x00007ffff7bbe36d in start_thread () from /lib64/libpthread.so.0 #24 0x00007ffff7049bbf in clone () from /lib64/libc.so.6 Thread 1 (Thread 0x7ffff7fbc740 (LWP 30071)): #0 0x00007ffff7bc490b in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x00007ffff78eac2c in __gthread_cond_wait (__mutex=, __cond=) at /softs/build/gcc-7.2.0.build/x86_64-pc-linux-gnu/libstdc++-v3/include/x86_64-pc-linux-gnu/bits/gthr-default.h:864 #2 std::condition_variable::wait (this=, __lock=...) at /softs/build/gcc-7.2.0/libstdc++-v3/src/c++11/condition_variable.cc:53 #3 0x0000000000406b5c in std::condition_variable::wait >(std::unique_lock &, ) (this=0x7fffffffd600, __lock=..., __p=...) at /softs/gcc-7.2.0/include/c++/7.2.0/condition_variable:99 #4 0x00000000004053de in timeout_write_test () at Progs/asio_bug.cpp:217 #5 0x000000000040567b in main () at Progs/asio_bug.cpp:239 (gdb)