Здравствуйте, niXman, Вы писали:
X>для начала, привести backtrace.
Извиняюсь, приведенный ранее пример не воспроизводит креш. Но все равно не работает как положено.
При компиляции с опцией -std=c++11 происходит непонятный сбой внутри server.stop(), полагаю зацикливание.
После входа в stop() загрузка процессора возростает до 100%.
собираю так
g++ -o dist/Debug/GNU-Linux-x86/test-pion build/Debug/GNU-Linux-x86/main.o -lboost_system -lboost_thread -lpion-common -lpion-net -llog4cpp
Вот backtrace из работающего приложения
#0 0x000000000044b320 in boost::asio::detail::op_queue_access::next<boost::asio::detail::task_io_service_operation, boost::asio::detail::task_io_service_operation> (o1=@0x1e48780:
0x1, o2=0x1e6b730) at /usr/include/boost/asio/detail/op_queue.hpp:41
#1 0x000000000044a158 in boost::asio::detail::op_queue<boost::asio::detail::task_io_service_operation>::push<boost::asio::detail::task_io_service_operation> (this=0x1e48778, q=...
) at /usr/include/boost/asio/detail/op_queue.hpp:127
#2 0x000000000044865c in boost::asio::detail::task_io_service::post_deferred_completions (this=0x1e486f0, ops=...) at /usr/include/boost/asio/detail/impl/task_io_service.ipp:309
#3 0x0000000000494736 in boost::asio::detail::epoll_reactor::deregister_descriptor (this=0x1e48820, descriptor=13, descriptor_data=@0x752768: 0x0, closing=true) at /usr/include/bo
ost/asio/detail/impl/epoll_reactor.ipp:315
#4 0x00007f8120c908a0 in boost::asio::detail::reactive_socket_service_base::close(boost::asio::detail::reactive_socket_service_base::base_implementation_type&, boost::system::erro
r_code&) () from /usr/lib/libpion-net-4.0.so
#5 0x00007f8120c93d3f in boost::asio::basic_socket_acceptor<boost::asio::ip::tcp, boost::asio::socket_acceptor_service<boost::asio::ip::tcp> >::close() () from /usr/lib/libpion-ne
t-4.0.so
#6 0x00007f8120c89eb6 in pion::net::TCPServer::stop(bool) () from /usr/lib/libpion-net-4.0.so
#7 0x0000000000491bd4 in TermHandler () at src/main.cpp:101
#8 <signal handler called>
#9 0x00007f811ea9e2d4 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/x86_64-linux-gnu/libpthread.so.0
#10 0x00007f8120c895a6 in pion::net::TCPServer::join() () from /usr/lib/libpion-net-4.0.so
#11 0x000000000049247d in main (argc=1, argv=0x7fff90cb6308) at src/main.cpp:202