Re[4]: Отладка Boost::Asio
От: prrt  
Дата: 06.12.19 10:28
Оценка:
Здравствуйте, reversecode, Вы писали:

R>это запихнуть в пулер еще одно локальное соединение

R>и когда зависнет
R>коннектнуться к нему и посмотреть проснется ли пулер

Надо попробовать реализовать.
Я вот еще думаю, зависает ли именно epoll?
Вот стек, снятый через 12 часов после зависания:
  (gdb) bt full
#0 0x00007fc50a97eb56 in epoll_pwait () from /lib64/libc.so.6
No symbol table info available.
#1 0x0000000000456f90 in boost::asio::detail::epoll_reactor::run (this=0x7fc500000f00, usec=<optimized out>, ops=...) at /usr/local/include/boost/asio/detail/impl/epoll_reactor.ipp:471
timeout = <optimized out>
events = {{events = 5, data = {ptr = 0x7fc4f0000d20, fd = -268432096, u32 = 4026535200, u64 = 140483816852768}}, {events = 32708, data = {ptr = 0x1, fd = 1, u32 = 1, u64 = 1}}, {events = 4549746, data = {
ptr = 0xa0d0a0d00000000, fd = 0, u32 = 0, u64 = 724246166027370496}}, {events = 0, data = {ptr = 0x0, fd = 0, u32 = 0, u64 = 0}}, {events = 4026866820, data = {ptr = 0x8cc00007fc4, fd = 32708, u32 = 32708,
u64 = 9672266383300}}, {events = 0, data = {ptr = 0x8cc, fd = 2252, u32 = 2252, u64 = 2252}}, {events = 0, data = {ptr = 0x0, fd = 0, u32 = 0, u64 = 0}}, {events = 0, data = {ptr = 0x0, fd = 0, u32 = 0, u64 = 0}}, {
events = 4160743264, data = {ptr = 0x100007fc4, fd = 32708, u32 = 32708, u64 = 4295000004}}, {events = 0, data = {ptr = 0x0, fd = 0, u32 = 0, u64 = 0}}, {events = 4548525, data = {ptr = 0xb00000000, fd = 0, u32 = 0,
u64 = 47244640256}}, {events = 1, data = {ptr = 0xac2640 <boost::system::system_category()::system_category_instance>, fd = 11281984, u32 = 11281984, u64 = 11281984}}, {events = 4294967295, data = {
ptr = 0xf0b4bb00ffffffff, fd = -1, u32 = 4294967295, u64 = 17344693677879984127}}, {events = 32708, data = {ptr = 0x1, fd = 1, u32 = 1, u64 = 1}}, {events = 4549746, data = {ptr = 0x100000000, fd = 0, u32 = 0,
u64 = 4294967296}}, {events = 0, data = {ptr = 0x7fc500006430, fd = 25648, u32 = 25648, u64 = 140484085310512}}, {events = 2917339664, data = {ptr = 0x1000000007fc3, fd = 32707, u32 = 32707, u64 = 281474976743363}}, {
events = 0, data = {ptr = 0x10000, fd = 65536, u32 = 65536, u64 = 65536}}, {events = 1, data = {ptr = 0x3a, fd = 58, u32 = 58, u64 = 58}}, {events = 0, data = {ptr = 0x0, fd = 0, u32 = 0, u64 = 0}}, {events = 4160743408,
data = {ptr = 0x100007fc4, fd = 32708, u32 = 32708, u64 = 4295000004}}, {events = 0, data = {ptr = 0x0, fd = 0, u32 = 0, u64 = 0}}, {events = 0, data = {ptr = 0x0, fd = 0, u32 = 0, u64 = 0}}, {events = 0, data = {
ptr = 0x7fc4f0b4bb00, fd = -256591104, u32 = 4038376192, u64 = 140483828693760}}, {events = 0, data = {ptr = 0xf0000d2000000000, fd = 0, u32 = 0, u64 = 17293837000192819200}}, {events = 32708, data = {
ptr = 0x7fc4f0b4bb00, fd = -256591104, u32 = 4038376192, u64 = 140483828693760}}, {events = 0, data = {ptr = 0x100000000, fd = 0, u32 = 0, u64 = 4294967296}}, {events = 0, data = {ptr = 0x7fc500006430, fd = 25648,
u32 = 25648, u64 = 140484085310512}}, {events = 3840, data = {ptr = 0x4578ff00007fc5, fd = 32709, u32 = 32709, u64 = 19554810005061573}}, {events = 0, data = {ptr = 0x0, fd = 0, u32 = 0, u64 = 0}}, {events = 1, data = {
ptr = 0xf7ffe9a00000003a, fd = 58, u32 = 58, u64 = 17870258719833456698}}, {events = 32708, data = {ptr = 0x7fc500006420, fd = 25632, u32 = 25632, u64 = 140484085310496}}, {events = 25640, data = {ptr = 0x642800007fc5,
fd = 32709, u32 = 32709, u64 = 110122961502149}}, {events = 32709, data = {ptr = 0x1, fd = 1, u32 = 1, u64 = 1}}, {events = 4038376192, data = {ptr = 0xee800007fc4, fd = 32708, u32 = 32708, u64 = 16389595234244}}, {
events = 32709, data = {ptr = 0x7fc3ade31210, fd = -1377627632, u32 = 2917339664, u64 = 140478412689936}}, {events = 0, data = {ptr = 0x5a2e4300000000, fd = 0, u32 = 0, u64 = 25383613201645568}}, {events = 0, data = {
ptr = 0x1, fd = 1, u32 = 1, u64 = 1}}, {events = 5906, data = {ptr = 0x3a00000000, fd = 0, u32 = 0, u64 = 249108103168}}, {events = 0, data = {ptr = 0x7fc4f7ffe930, fd = -134223568, u32 = 4160743728,
u64 = 140483951061296}}, {events = 4026866820, data = {ptr = 0xee800007fc4, fd = 32708, u32 = 32708, u64 = 16389595234244}}, {events = 32709, data = {ptr = 0x7fc400000001, fd = 1, u32 = 1, u64 = 140479790317569}}, {
events = 4038376376, data = {ptr = 0xf7ffe9e000007fc4, fd = 32708, u32 = 32708, u64 = 17870258994711396292}}, {events = 32708, data = {ptr = 0x7fc500000ee8, fd = 3816, u32 = 3816, u64 = 140484085288680}}, {events = 25640,
data = {ptr = 0xade3121000007fc5, fd = 32709, u32 = 32709, u64 = 12529878448203661253}}, {events = 32707, data = {ptr = 0x7fc500006420, fd = 25632, u32 = 25632, u64 = 140484085310496}}, {events = 6379037, data = {ptr = 0x0,
fd = 0, u32 = 0, u64 = 0}}, {events = 0, data = {ptr = 0x6155e3
<boost::asio::detail::read_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor>, boost::asio::mutable_buffers_1, boost::asio::mutable_buffer const*, boost::asio::detail::transfer_at_least_t, boost::asio::detail::wrapped_handler<boost::asio::io_context::strand, boost::_bi::bind_t<void, boost::_mfi::mf1<void, http::client1::Client, boost::system::error_code const&>, boost::_bi::list2<boost::_bi::value<boost::shared_ptr<http::client1::Client> >, boost::arg<1> (*)()> >, boost::asio::detail::is_continuation_if_running> >::operator()(boost::system::error_code const&, unsigned long, int)+515>, fd = 6378979, u32 = 6378979, u64 = 6378979}}, {events = 4160744096, data = {
ptr = 0xf0b4bb0012007fc4, fd = 302022596, u32 = 302022596, u64 = 17344693673887039428}}, {events = 32708, data = {ptr = 0x10000003a, fd = 58, u32 = 58, u64 = 4294967354}}, {events = 65536, data = {
ptr = 0xf7ffea3000000000, fd = 0, u32 = 0, u64 = 17870259338308747264}}, {events = 32708, data = {ptr = 0x7fc4f0b4bb00, fd = -256591104, u32 = 4038376192, u64 = 140483828693760}}, {events = 4038376192, data = {
ptr = 0x6187e800007fc4, fd = 32708, u32 = 32708, u64 = 27452503243128772}}, {events = 0, data = {ptr = 0x7fc4f7ffe9d0, fd = -134223408, u32 = 4160743888, u64 = 140483951061456}}, {events = 4160743952, data = {
ptr = 0xf7ffebe800007fc4, fd = 32708, u32 = 32708, u64 = 17870261228094390212}}, {events = 32708, data = {ptr = 0x7fc4f0000d20, fd = -268432096, u32 = 4026535200, u64 = 140483816852768}}, {events = 4160743952, data = {
ptr = 0x29cceb000007fc4, fd = 32708, u32 = 32708, u64 = 188252539752316868}}, {events = 0, data = {ptr = 0x7fc4f7ffebe8, fd = -134222872, u32 = 4160744424, u64 = 140483951061992}}, {events = 6392292, data = {
ptr = 0xf7ffea1000000000, fd = 0, u32 = 0, u64 = 17870259200869793792}}, {events = 32708, data = {ptr = 0x0, fd = 0, u32 = 0, u64 = 0}}, {events = 0, data = {ptr = 0x0, fd = 0, u32 = 0, u64 = 0}}, {events = 0, data = {
ptr = 0x611c00 <http::client1::Client::readVideoData(boost::system::error_code const&)>, fd = 6364160, u32 = 6364160, u64 = 6364160}}, {events = 0, data = {ptr = 0x63d000000000, fd = 0, u32 = 0, u64 = 109745004347392}}, {
events = 32709, data = {ptr = 0x7fc500006800, fd = 26624, u32 = 26624, u64 = 140484085311488}}, {events = 287692, data = {ptr = 0x642000000000, fd = 0, u32 = 0, u64 = 110088601731072}}, {events = 32709, data = {
ptr = 0x7fc3ade2000c, fd = -1377697780, u32 = 2917269516, u64 = 140478412619788}}, {events = 287692, data = {ptr = 0x1120400000000, fd = 0, u32 = 0, u64 = 301283365879808}}, {events = 0, data = {ptr = 0x0, fd = 0,
u32 = 0, u64 = 0}}, {events = 4576, data = {ptr = 0x679000007fc5, fd = 32709, u32 = 32709, u64 = 113868172984261}}, {events = 32709, data = {
ptr = 0x611c00 <http::client1::Client::readVideoData(boost::system::error_code const&)>, fd = 6364160, u32 = 6364160, u64 = 6364160}}, {events = 0, data = {ptr = 0x0, fd = 0, u32 = 0, u64 = 0}}, {events = 0, data = {
ptr = 0x0, fd = 0, u32 = 0, u64 = 0}}, {events = 0, data = {ptr = 0xac264000000000, fd = 0, u32 = 0, u64 = 48455752313995264}}, {events = 0, data = {ptr = 0x1c48, fd = 7240, u32 = 7240, u64 = 7240}}, {events = 4555807,
data = {ptr = 0xf0b4bb0000000000, fd = 0, u32 = 0, u64 = 17344693673585016832}}, {events = 32708, data = {ptr = 0x7fc5000011e0, fd = 4576, u32 = 4576, u64 = 140484085289440}}, {events = 4160744424, data = {
ptr = 0x6193e800007fc4, fd = 32708, u32 = 32708, u64 = 27465697382662084}}, {events = 0, data = {ptr = 0x29cceb0, fd = 43830960, u32 = 43830960, u64 = 43830960}}, {events = 26512, data = {ptr = 0x7fc5, fd = 32709,
u32 = 32709, u64 = 32709}}, {events = 32512, data = {ptr = 0xac2640 <boost::system::system_category()::system_category_instance>, fd = 11281984, u32 = 11281984, u64 = 11281984}}, {events = 4160744496, data = {
ptr = 0x7fc4, fd = 32708, u32 = 32708, u64 = 32708}}, {events = 0, data = {ptr = 0x0, fd = 0, u32 = 0, u64 = 0}}, {events = 4038376192, data = {ptr = 0x679000007fc4, fd = 32708, u32 = 32708, u64 = 113868172984260}}, {
events = 32709, data = {ptr = 0x7fc4f7ffeb10, fd = -134223088, u32 = 4160744208, u64 = 140483951061776}}, {events = 0, data = {ptr = 0x61a51f00000000, fd = 0, u32 = 0, u64 = 27484625303502848}}, {events = 0, data = {
ptr = 0x7fc4f0b4bb00, fd = -256591104, u32 = 4038376192, u64 = 140483828693760}}, {events = 4160744368, data = {ptr = 0x29cceb000007fc4, fd = 32708, u32 = 32708, u64 = 188252539752316868}}, {events = 0, data = {
ptr = 0x61cac2 <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::executor>, boost::asio::mutable_buffers_1, boost::asio::mutable_buffer const*, boost::asio::detail::transfer_at_least_t, boost::asio::detail::wrapped_handler<boost::asio::io_context::strand, boost::_bi::bind_t<void, boost::_mfi::mf1<void, http::client1::Client, boost::system::error_code const&>, boost::_bi::list2<boost::_bi::value<boost::shared_ptr<http::client1::Client> >, boost::arg<1> (*)()> >, boost::asio::detail::is_continuation_if_running> >, boost::asio::detail::io_object_executor<boost::asio::executor> >::do_complete(void*, boost::asio::detail::scheduler_operation*, boost::system::error_code const&, unsigned long)+514>, fd = 6408898, u32 = 6408898, u64 = 6408898}}, {events = 4160744336, data = {ptr = 0x7fc4, fd = 32708,
u32 = 32708, u64 = 32708}}, {events = 0, data = {ptr = 0x0, fd = 0, u32 = 0, u64 = 0}}, {events = 0, data = {ptr = 0xf7ffebb000000000, fd = 0, u32 = 0, u64 = 17870260987576188928}}, {events = 32708, data = {ptr = 0x0,
fd = 0, u32 = 0, u64 = 0}}, {events = 0, data = {ptr = 0xf7ffeb0100000000, fd = 0, u32 = 0, u64 = 17870260235956912128}}, {events = 32708, data = {ptr = 0x7fc500006610, fd = 26128, u32 = 26128, u64 = 140484085310992}}, {
events = 25857, data = {ptr = 0x661000007fc5, fd = 32709, u32 = 32709, u64 = 112218905542597}}, {events = 32709, data = {ptr = 0x1, fd = 1, u32 = 1, u64 = 1}}, {events = 287692, data = {ptr = 0x642000000000, fd = 0,
u32 = 0, u64 = 110088601731072}}, {events = 32709, data = {ptr = 0x7fc3ade2000c, fd = -1377697780, u32 = 2917269516, u64 = 140478412619788}}, {events = 287692, data = {ptr = 0xf5bc00000000, fd = 0, u32 = 0,
u64 = 270187802656768}}, {events = 0, data = {ptr = 0x7fc500000000, fd = 0, u32 = 0, u64 = 140484085284864}}, {events = 4576, data = {ptr = 0x679000007fc5, fd = 32709, u32 = 32709, u64 = 113868172984261}}, {
events = 32709, data = {ptr = 0x611c00 <http::client1::Client::readVideoData(boost::system::error_code const&)>, fd = 6364160, u32 = 6364160, u64 = 6364160}}, {events = 0, data = {ptr = 0x0, fd = 0, u32 = 0, u64 = 0}}, {
events = 0, data = {ptr = 0x0, fd = 0, u32 = 0, u64 = 0}}, {events = 0, data = {ptr = 0xac264000000000, fd = 0, u32 = 0, u64 = 48455752313995264}}, {events = 0, data = {ptr = 0x1c48, fd = 7240, u32 = 7240, u64 = 7240}}, {
events = 4038376192, data = {ptr = 0x611c0000007fc4, fd = 32708, u32 = 32708, u64 = 27333859066544068}}, {events = 0, data = {ptr = 0x0, fd = 0, u32 = 0, u64 = 0}}, {events = 0, data = {ptr = 0x0, fd = 0, u32 = 0,
u64 = 0}}, {events = 0, data = {ptr = 0x463cc, fd = 287692, u32 = 287692, u64 = 287692}}, {events = 25632, data = {ptr = 0xade2000c00007fc5, fd = 32709, u32 = 32709, u64 = 12529577164837781445}}, {events = 32707, data = {
ptr = 0x463cc, fd = 287692, u32 = 287692, u64 = 287692}}, {events = 62908, data = {ptr = 0x0, fd = 0, u32 = 0, u64 = 0}}, {events = 0, data = {ptr = 0x7fc5000011e0, fd = 4576, u32 = 4576, u64 = 140484085289440}}, {
events = 180672413, data = {ptr = 0x611c0000007fc5, fd = 32709, u32 = 32709, u64 = 27333859066544069}}, {events = 0, data = {ptr = 0x15f524, fd = 1439012, u32 = 1439012, u64 = 1439012}}, {events = 4160744656, data = {
ptr = 0x7fc4, fd = 32708, u32 = 32708, u64 = 32708}}, {events = 0, data = {ptr = 0x0, fd = 0, u32 = 0, u64 = 0}}, {events = 4160744688, data = {ptr = 0x29ccee800007fc4, fd = 32708, u32 = 32708, u64 = 188252780270485444}},
{events = 0, data = {ptr = 0x0, fd = 0, u32 = 0, u64 = 0}}, {events = 180697421, data = {ptr = 0xf7ffecf000007fc5, fd = 32709, u32 = 32709, u64 = 17870262361965756357}}, {events = 32708, data = {ptr = 0xffffffffffffffff,
fd = -1, u32 = 4294967295, u64 = 18446744073709551615}}, {events = 0, data = {ptr = 0x2bea4800000000, fd = 0, u32 = 0, u64 = 12361018957103104}}, {events = 0, data = {ptr = 0x29ccf20, fd = 43831072, u32 = 43831072,
u64 = 43831072}}, {events = 43831016, data = {ptr = 0x0, fd = 0, u32 = 0, u64 = 0}}, {events = 0, data = {ptr = 0x0, fd = 0, u32 = 0, u64 = 0}}, {events = 9447424, data = {ptr = 0xf7ffed802d81f267, fd = 763490919,
u32 = 763490919, u64 = 17870262981204505191}}, {events = 32708, data = {ptr = 0x29cceb0, fd = 43830960, u32 = 43830960, u64 = 43830960}}}
num_events = <optimized out>
check_timers = <optimized out>

Вышел из gdb, приконнектился снова и снова снял стек:
  (gdb) bt full
#0 0x00007fc50a97eb56 in epoll_pwait () from /lib64/libc.so.6
No symbol table info available.
#1 0x0000000000456f90 in boost::asio::detail::epoll_reactor::run (this=0x7fc500000f00, usec=<optimized out>, ops=...) at /usr/local/include/boost/asio/detail/impl/epoll_reactor.ipp:471
timeout = <optimized out>
events = {{events = 5, data = {ptr = 0x7fc4e8000d20, fd = -402649824, u32 = 3892317472, u64 = 140483682635040}}, {events = 32708, data = {ptr = 0x1, fd = 1, u32 = 1, u64 = 1}}, {events = 4549746, data = {ptr = 0x0, fd = 0,
u32 = 0, u64 = 0}}, {events = 0, data = {ptr = 0x0, fd = 0, u32 = 0, u64 = 0}}, {events = 3825283960, data = {ptr = 0x28e800007fc4, fd = 32708, u32 = 32708, u64 = 44976897556420}}, {events = 0, data = {ptr = 0x28e8,
fd = 10472, u32 = 10472, u64 = 10472}}, {events = 0, data = {ptr = 0x0, fd = 0, u32 = 0, u64 = 0}}, {events = 0, data = {ptr = 0x0, fd = 0, u32 = 0, u64 = 0}}, {events = 80684896, data = {ptr = 0x100007fc5, fd = 32709,
u32 = 32709, u64 = 4295000005}}, {events = 0, data = {ptr = 0x0, fd = 0, u32 = 0, u64 = 0}}, {events = 4548525, data = {ptr = 0xb00000000, fd = 0, u32 = 0, u64 = 47244640256}}, {events = 1, data = {
ptr = 0xac2640 <boost::system::system_category()::system_category_instance>, fd = 11281984, u32 = 11281984, u64 = 11281984}}, {events = 4294967295, data = {ptr = 0xf1ee1d40ffffffff, fd = -1, u32 = 4294967295,
u64 = 17432903372607848447}}, {events = 32708, data = {ptr = 0x1, fd = 1, u32 = 1, u64 = 1}}, {events = 4549746, data = {ptr = 0x100000000, fd = 0, u32 = 0, u64 = 4294967296}}, {events = 0, data = {ptr = 0x7fc5000075d0,
fd = 30160, u32 = 30160, u64 = 140484085315024}}, {events = 2931279891, data = {ptr = 0x1000000007fc3, fd = 32707, u32 = 32707, u64 = 281474976743363}}, {events = 0, data = {ptr = 0x10000, fd = 65536, u32 = 65536,
u64 = 65536}}, {events = 1, data = {ptr = 0x39, fd = 57, u32 = 57, u64 = 57}}, {events = 0, data = {ptr = 0x0, fd = 0, u32 = 0, u64 = 0}}, {events = 80685040, data = {ptr = 0x100007fc5, fd = 32709, u32 = 32709,
u64 = 4295000005}}, {events = 0, data = {ptr = 0x0, fd = 0, u32 = 0, u64 = 0}}, {events = 0, data = {ptr = 0x0, fd = 0, u32 = 0, u64 = 0}}, {events = 0, data = {ptr = 0x7fc504cf2a38, fd = 80685624, u32 = 80685624,
u64 = 140484165970488}}, {events = 4576, data = {ptr = 0xe8000d2000007fc5, fd = 32709, u32 = 32709, u64 = 16717376247889428421}}, {events = 32708, data = {ptr = 0x7fc4f1ee1d40, fd = -236053184, u32 = 4058914112,
u64 = 140483849231680}}, {events = 0, data = {ptr = 0x100000000, fd = 0, u32 = 0, u64 = 4294967296}}, {events = 0, data = {ptr = 0x7fc500005e50, fd = 24144, u32 = 24144, u64 = 140484085309008}}, {events = 3840, data = {
ptr = 0x4578ff00007fc5, fd = 32709, u32 = 32709, u64 = 19554810005061573}}, {events = 0, data = {ptr = 0x0, fd = 0, u32 = 0, u64 = 0}}, {events = 1, data = {ptr = 0x33, fd = 51, u32 = 51, u64 = 51}}, {events = 0, data = {
ptr = 0x0, fd = 0, u32 = 0, u64 = 0}}, {events = 0, data = {ptr = 0x5e4800000000, fd = 0, u32 = 0, u64 = 103663330656256}}, {events = 32709, data = {ptr = 0x1, fd = 1, u32 = 1, u64 = 1}}, {events = 4058914112, data = {
ptr = 0xee800007fc4, fd = 32708, u32 = 32708, u64 = 16389595234244}}, {events = 32709, data = {ptr = 0x7fc3aeb7c813, fd = -1363687405, u32 = 2931279891, u64 = 140478426630163}}, {events = 0, data = {
ptr = 0x5a2e4300000000, fd = 0, u32 = 0, u64 = 25383613201645568}}, {events = 0, data = {ptr = 0x1, fd = 1, u32 = 1, u64 = 1}}, {events = 16384, data = {ptr = 0x4cf2a3000000000, fd = 0, u32 = 0,
u64 = 346542081977614336}}, {events = 32709, data = {ptr = 0x7fc504cf29e0, fd = 80685536, u32 = 80685536, u64 = 140484165970400}}, {events = 80686056, data = {ptr = 0x60c72e00007fc5, fd = 32709, u32 = 32709,
u64 = 27240598146678725}}, {events = 0, data = {ptr = 0x7fc500003750, fd = 14160, u32 = 14160, u64 = 140484085299024}}, {events = 4058914296, data = {ptr = 0x4cf29e000007fc4, fd = 32708, u32 = 32708,
u64 = 346541738380263364}}, {events = 32709, data = {ptr = 0x7fc500000ee8, fd = 3816, u32 = 3816, u64 = 140484085288680}}, {events = 24136, data = {ptr = 0xaeb7c81300007fc5, fd = 32709, u32 = 32709,
u64 = 12589751267267477445}}, {events = 32707, data = {ptr = 0x7fc500005e40, fd = 24128, u32 = 24128, u64 = 140484085308992}}, {events = 6379037, data = {ptr = 0x0, fd = 0, u32 = 0, u64 = 0}}, {events = 0, data = {
ptr = 0x6155e3
<boost::asio::detail::read_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor>, boost::asio::mutable_buffers_1, boost::asio::mutable_buffer const*, boost::asio::detail::transfer_at_least_t, boost::asio::detail::wrapped_handler<boost::asio::io_context::strand, boost::_bi::bind_t<void, boost::_mfi::mf1<void, http::client1::Client, boost::system::error_code const&>, boost::_bi::list2<boost::_bi::value<boost::shared_ptr<http::client1::Client> >, boost::arg<1> (*)()> >, boost::asio::detail::is_continuation_if_running> >::operator()(boost::system::error_code const&, unsigned long, int)+515>, fd = 6378979, u32 = 6378979, u64 = 6378979}}, {events = 13118, data = {
ptr = 0xf1ee1d4012000000, fd = 301989888, u32 = 301989888, u64 = 17432903368614871040}}, {events = 32708, data = {ptr = 0x100000033, fd = 51, u32 = 51, u64 = 4294967347}}, {events = 65536, data = {ptr = 0x4cf2a3000000000,
fd = 0, u32 = 0, u64 = 346542081977614336}}, {events = 32709, data = {ptr = 0x7fc4f1ee1d40, fd = -236053184, u32 = 4058914112, u64 = 140483849231680}}, {events = 4058914112, data = {ptr = 0x345000007fc4, fd = 32708,
u32 = 32708, u64 = 57518202060740}}, {events = 32709, data = {ptr = 0x7fc504cf2b00, fd = 80685824, u32 = 80685824, u64 = 140484165970688}}, {events = 80685584, data = {ptr = 0x4cf2be800007fc5, fd = 32709, u32 = 32709,
u64 = 346543971763257285}}, {events = 32709, data = {ptr = 0x7fc4e8000d20, fd = -402649824, u32 = 3892317472, u64 = 140483682635040}}, {events = 80685584, data = {ptr = 0x29cceb000007fc5, fd = 32709, u32 = 32709,
u64 = 188252539752316869}}, {events = 0, data = {ptr = 0x7fc504cf2be8, fd = 80686056, u32 = 80686056, u64 = 140484165970920}}, {events = 6392292, data = {ptr = 0x4cf2a1000000000, fd = 0, u32 = 0,
u64 = 346541944538660864}}, {events = 32709, data = {ptr = 0x0, fd = 0, u32 = 0, u64 = 0}}, {events = 0, data = {ptr = 0x0, fd = 0, u32 = 0, u64 = 0}}, {events = 0, data = {
ptr = 0x611c00 <http::client1::Client::readVideoData(boost::system::error_code const&)>, fd = 6364160, u32 = 6364160, u64 = 6364160}}, {events = 0, data = {ptr = 0x5df000000000, fd = 0, u32 = 0, u64 = 103285373534208}}, {
events = 32709, data = {ptr = 0x7fc500006220, fd = 25120, u32 = 25120, u64 = 140484085309984}}, {events = 378272, data = {ptr = 0x5e4000000000, fd = 0, u32 = 0, u64 = 103628970917888}}, {events = 32709, data = {
ptr = 0x7fc3aeb43f13, fd = -1363919085, u32 = 2931048211, u64 = 140478426398483}}, {events = 378272, data = {ptr = 0x3890000000000, fd = 0, u32 = 0, u64 = 995058023137280}}, {events = 0, data = {ptr = 0x0, fd = 0,
u32 = 0, u64 = 0}}, {events = 4576, data = {ptr = 0x61b000007fc5, fd = 32709, u32 = 32709, u64 = 107408542171077}}, {events = 32709, data = {
ptr = 0x611c00 <http::client1::Client::readVideoData(boost::system::error_code const&)>, fd = 6364160, u32 = 6364160, u64 = 6364160}}, {events = 0, data = {ptr = 0x0, fd = 0, u32 = 0, u64 = 0}}, {events = 0, data = {
ptr = 0x0, fd = 0, u32 = 0, u64 = 0}}, {events = 0, data = {ptr = 0xac264000000000, fd = 0, u32 = 0, u64 = 48455752313995264}}, {events = 0, data = {ptr = 0xaf58, fd = 44888, u32 = 44888, u64 = 44888}}, {events = 4555807,
data = {ptr = 0xf1ee1d4000000000, fd = 0, u32 = 0, u64 = 17432903368312881152}}, {events = 32708, data = {ptr = 0x7fc5000011e0, fd = 4576, u32 = 4576, u64 = 140484085289440}}, {events = 80686056, data = {
ptr = 0x6193e800007fc5, fd = 32709, u32 = 32709, u64 = 27465697382662085}}, {events = 0, data = {ptr = 0x29cceb0, fd = 43830960, u32 = 43830960, u64 = 43830960}}, {events = 25008, data = {ptr = 0x7fc5, fd = 32709,
u32 = 32709, u64 = 32709}}, {events = 0, data = {ptr = 0xac2640 <boost::system::system_category()::system_category_instance>, fd = 11281984, u32 = 11281984, u64 = 11281984}}, {events = 80686128, data = {ptr = 0x7fc5,
fd = 32709, u32 = 32709, u64 = 32709}}, {events = 0, data = {ptr = 0x0, fd = 0, u32 = 0, u64 = 0}}, {events = 11281984, data = {ptr = 0x61b000000000, fd = 0, u32 = 0, u64 = 107408542138368}}, {events = 32709, data = {
ptr = 0x7fc504cf2b10, fd = 80685840, u32 = 80685840, u64 = 140484165970704}}, {events = 0, data = {ptr = 0x0, fd = 0, u32 = 0, u64 = 0}}, {events = 0, data = {ptr = 0x7fc4f1ee1d40, fd = -236053184, u32 = 4058914112,
u64 = 140483849231680}}, {events = 80686000, data = {ptr = 0x29cceb000007fc5, fd = 32709, u32 = 32709, u64 = 188252539752316869}}, {events = 0, data = {
ptr = 0x61cac2 <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::executor>, boost::asio::mutable_buffers_1, boost::asio::mutable_buffer const*, boost::asio::detail::transfer_at_least_t, boost::asio::detail::wrapped_handler<boost::asio::io_context::strand, boost::_bi::bind_t<void, boost::_mfi::mf1<void, http::client1::Client, boost::system::error_code const&>, boost::_bi::list2<boost::_bi::value<boost::shared_ptr<http::client1::Client> >, boost::arg<1> (*)()> >, boost::asio::detail::is_continuation_if_running> >, boost::asio::detail::io_object_executor<boost::asio::executor> >::do_complete(void*, boost::asio::detail::scheduler_operation*, boost::system::error_code const&, unsigned long)+514>, fd = 6408898, u32 = 6408898, u64 = 6408898}}, {events = 13392, data = {ptr = 0x388000007fc5, fd = 32709,
u32 = 32709, u64 = 62122407002053}}, {events = 32709, data = {ptr = 0x7fc5000011e0, fd = 4576, u32 = 4576, u64 = 140484085289440}}, {events = 14352, data = {ptr = 0x4cf2bb000007fc5, fd = 32709, u32 = 32709,
u64 = 346543731245088709}}, {events = 32709, data = {ptr = 0x0, fd = 0, u32 = 0, u64 = 0}}, {events = 0, data = {ptr = 0x388000000000, fd = 0, u32 = 0, u64 = 62122406969344}}, {events = 32709, data = {
ptr = 0x7fc500006030, fd = 24624, u32 = 24624, u64 = 140484085309488}}, {events = 4555777, data = {ptr = 0x603000000000, fd = 0, u32 = 0, u64 = 105759274696704}}, {events = 32709, data = {ptr = 0x7fc500001101, fd = 4353,
u32 = 4353, u64 = 140484085289217}}, {events = 378272, data = {ptr = 0x5e4000000000, fd = 0, u32 = 0, u64 = 103628970917888}}, {events = 32709, data = {ptr = 0x7fc3aeb43f13, fd = -1363919085, u32 = 2931048211,
u64 = 140478426398483}}, {events = 378272, data = {ptr = 0x2d9a800000000, fd = 0, u32 = 0, u64 = 802265531154432}}, {events = 0, data = {ptr = 0x0, fd = 0, u32 = 0, u64 = 0}}, {events = 4576, data = {ptr = 0x61b000007fc5,
fd = 32709, u32 = 32709, u64 = 107408542171077}}, {events = 32709, data = {ptr = 0x611c00 <http::client1::Client::readVideoData(boost::system::error_code const&)>, fd = 6364160, u32 = 6364160, u64 = 6364160}}, {
events = 0, data = {ptr = 0x0, fd = 0, u32 = 0, u64 = 0}}, {events = 0, data = {ptr = 0x0, fd = 0, u32 = 0, u64 = 0}}, {events = 0, data = {ptr = 0xac264000000000, fd = 0, u32 = 0, u64 = 48455752313995264}}, {events = 0,
data = {ptr = 0xaf58, fd = 44888, u32 = 44888, u64 = 44888}}, {events = 4058914112, data = {ptr = 0x611c0000007fc4, fd = 32708, u32 = 32708, u64 = 27333859066544068}}, {events = 0, data = {ptr = 0x0, fd = 0, u32 = 0,
u64 = 0}}, {events = 0, data = {ptr = 0x0, fd = 0, u32 = 0, u64 = 0}}, {events = 0, data = {ptr = 0x5c5a0, fd = 378272, u32 = 378272, u64 = 378272}}, {events = 24128, data = {ptr = 0xaeb43f1300007fc5, fd = 32709,
u32 = 32709, u64 = 12588756209244340165}}, {events = 32707, data = {ptr = 0x5c5a0, fd = 378272, u32 = 378272, u64 = 378272}}, {events = 186792, data = {ptr = 0x0, fd = 0, u32 = 0, u64 = 0}}, {events = 0, data = {
ptr = 0x7fc5000011e0, fd = 4576, u32 = 4576, u64 = 140484085289440}}, {events = 180672413, data = {ptr = 0x611c0000007fc5, fd = 32709, u32 = 32709, u64 = 27333859066544069}}, {events = 1, data = {ptr = 0x15f76c,
fd = 1439596, u32 = 1439596, u64 = 1439596}}, {events = 80686288, data = {ptr = 0x100007fc5, fd = 32709, u32 = 32709, u64 = 4295000005}}, {events = 0, data = {ptr = 0x4, fd = 4, u32 = 4, u64 = 4}}, {events = 80686320,
data = {ptr = 0x29ccee800007fc5, fd = 32709, u32 = 32709, u64 = 188252780270485445}}, {events = 0, data = {ptr = 0x0, fd = 0, u32 = 0, u64 = 0}}, {events = 180697421, data = {ptr = 0x4cf2cf000007fc5, fd = 32709,
u32 = 32709, u64 = 346545105634623429}}, {events = 32709, data = {ptr = 0xffffffffffffffff, fd = -1, u32 = 4294967295, u64 = 18446744073709551615}}, {events = 0, data = {ptr = 0x2beed900000000, fd = 0, u32 = 0,
u64 = 12366039773872128}}, {events = 0, data = {ptr = 0x29ccf20, fd = 43831072, u32 = 43831072, u64 = 43831072}}, {events = 43831016, data = {ptr = 0x0, fd = 0, u32 = 0, u64 = 0}}, {events = 0, data = {ptr = 0x0, fd = 0,
u32 = 0, u64 = 0}}, {events = 9447424, data = {ptr = 0x4cf2d802d81f267, fd = 763490919, u32 = 763490919, u64 = 346545724873372263}}, {events = 32709, data = {ptr = 0x29cceb0, fd = 43830960, u32 = 43830960,
u64 = 43830960}}}
num_events = <optimized out>
check_timers = <optimized out>

Видно, что значения указателей поменялись, да и номер у потока с epoll в gdb может меняться. И в стеке вызов всегда из одной и той же функция, HTTP клиент. В демоне такая логика и есть, клиент коннектится к источнику и вечно ждет от него данные. А вот обработчиков входящих соединений в качестве сервера нет.
Может, изначальная проблема кроется в том, что acceptor перестал делать accept? В этом случае как-то так и должно ведь быть, клиенты остались, а серверные соединения исчезли. Правда непонятно, почему asio в этом случае не реагирует на сигналы, зарегистрированные в этом же io_service. Точнее, как попадешь — иногда реагирует, иногда нет.

И если так, то по какой причине это может быть? Нигде в логах нет никаких сообщений, никаких ошибок.
Отредактировано 06.12.2019 10:30 prrt . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.