Created
January 1, 2015 06:32
-
-
Save redboltz/a7a9c5abfdeca803dbd5 to your computer and use it in GitHub Desktop.
websocket++ valgrind log
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
==2009== Memcheck, a memory error detector | |
==2009== Copyright (C) 2002-2013, and GNU GPL'd, by Julian Seward et al. | |
==2009== Using Valgrind-3.10.1 and LibVEX; rerun with -h for copyright info | |
==2009== Command: ./server 9001 | |
==2009== | |
[2015-01-01 08:21:53] [connect] WebSocket Connection 127.0.0.1:34928 v13 "WebSocket++/0.4.0" / 101 | |
==2009== Invalid read of size 8 | |
==2009== at 0x4162F5: boost::asio::detail::reactive_socket_service_base::destroy(boost::asio::detail::reactive_socket_service_base::base_implementation_type&) (in /home/kondo/work/training/code/cpp/websockets/server) | |
==2009== by 0x435D08: boost::asio::socket_acceptor_service<boost::asio::ip::tcp>::destroy(boost::asio::detail::reactive_socket_service<boost::asio::ip::tcp>::implementation_type&) (in /home/kondo/work/training/code/cpp/websockets/server) | |
==2009== by 0x431E6C: boost::asio::basic_io_object<boost::asio::socket_acceptor_service<boost::asio::ip::tcp>, true>::~basic_io_object() (in /home/kondo/work/training/code/cpp/websockets/server) | |
==2009== by 0x43FA9F: boost::asio::basic_socket_acceptor<boost::asio::ip::tcp, boost::asio::socket_acceptor_service<boost::asio::ip::tcp> >::~basic_socket_acceptor() (in /home/kondo/work/training/code/cpp/websockets/server) | |
==2009== by 0x43FAD0: boost::detail::sp_ms_deleter<boost::asio::basic_socket_acceptor<boost::asio::ip::tcp, boost::asio::socket_acceptor_service<boost::asio::ip::tcp> > >::destroy() (in /home/kondo/work/training/code/cpp/websockets/server) | |
==2009== by 0x46B0DB: boost::detail::sp_ms_deleter<boost::asio::basic_socket_acceptor<boost::asio::ip::tcp, boost::asio::socket_acceptor_service<boost::asio::ip::tcp> > >::operator()(boost::asio::basic_socket_acceptor<boost::asio::ip::tcp, boost::asio::socket_acceptor_service<boost::asio::ip::tcp> >*) (in /home/kondo/work/training/code/cpp/websockets/server) | |
==2009== by 0x46876A: boost::detail::sp_counted_impl_pd<boost::asio::basic_socket_acceptor<boost::asio::ip::tcp, boost::asio::socket_acceptor_service<boost::asio::ip::tcp> >*, boost::detail::sp_ms_deleter<boost::asio::basic_socket_acceptor<boost::asio::ip::tcp, boost::asio::socket_acceptor_service<boost::asio::ip::tcp> > > >::dispose() (in /home/kondo/work/training/code/cpp/websockets/server) | |
==2009== by 0x408C2B: boost::detail::sp_counted_base::release() (in /home/kondo/work/training/code/cpp/websockets/server) | |
==2009== by 0x408CEE: boost::detail::shared_count::~shared_count() (in /home/kondo/work/training/code/cpp/websockets/server) | |
==2009== by 0x41FA67: boost::shared_ptr<boost::asio::basic_socket_acceptor<boost::asio::ip::tcp, boost::asio::socket_acceptor_service<boost::asio::ip::tcp> > >::~shared_ptr() (in /home/kondo/work/training/code/cpp/websockets/server) | |
==2009== by 0x424D18: boost::shared_ptr<boost::asio::basic_socket_acceptor<boost::asio::ip::tcp, boost::asio::socket_acceptor_service<boost::asio::ip::tcp> > >::reset() (in /home/kondo/work/training/code/cpp/websockets/server) | |
==2009== by 0x41FAC2: websocketpp::transport::asio::endpoint<websocketpp::config::asio::transport_config>::~endpoint() (in /home/kondo/work/training/code/cpp/websockets/server) | |
==2009== Address 0x602b5a8 is 40 bytes inside a block of size 48 free'd | |
==2009== at 0x4C2B6D0: operator delete(void*) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) | |
==2009== by 0x463733: boost::asio::socket_acceptor_service<boost::asio::ip::tcp>::~socket_acceptor_service() (in /home/kondo/work/training/code/cpp/websockets/server) | |
==2009== by 0x411C69: boost::asio::detail::service_registry::destroy(boost::asio::io_service::service*) (in /home/kondo/work/training/code/cpp/websockets/server) | |
==2009== by 0x411B7D: boost::asio::detail::service_registry::~service_registry() (in /home/kondo/work/training/code/cpp/websockets/server) | |
==2009== by 0x414B0A: boost::asio::io_service::~io_service() (in /home/kondo/work/training/code/cpp/websockets/server) | |
==2009== by 0x407399: main (in /home/kondo/work/training/code/cpp/websockets/server) | |
==2009== | |
==2009== Invalid read of size 4 | |
==2009== at 0x5E18824: pthread_mutex_lock (in /usr/lib/libpthread-2.20.so) | |
==2009== by 0x41135F: boost::asio::detail::posix_mutex::lock() (in /home/kondo/work/training/code/cpp/websockets/server) | |
==2009== by 0x41D3AB: boost::asio::detail::scoped_lock<boost::asio::detail::posix_mutex>::scoped_lock(boost::asio::detail::posix_mutex&) (in /home/kondo/work/training/code/cpp/websockets/server) | |
==2009== by 0x4132FD: boost::asio::detail::epoll_reactor::deregister_descriptor(int, boost::asio::detail::epoll_reactor::descriptor_state*&, bool) (in /home/kondo/work/training/code/cpp/websockets/server) | |
==2009== by 0x416304: boost::asio::detail::reactive_socket_service_base::destroy(boost::asio::detail::reactive_socket_service_base::base_implementation_type&) (in /home/kondo/work/training/code/cpp/websockets/server) | |
==2009== by 0x435D08: boost::asio::socket_acceptor_service<boost::asio::ip::tcp>::destroy(boost::asio::detail::reactive_socket_service<boost::asio::ip::tcp>::implementation_type&) (in /home/kondo/work/training/code/cpp/websockets/server) | |
==2009== by 0x431E6C: boost::asio::basic_io_object<boost::asio::socket_acceptor_service<boost::asio::ip::tcp>, true>::~basic_io_object() (in /home/kondo/work/training/code/cpp/websockets/server) | |
==2009== by 0x43FA9F: boost::asio::basic_socket_acceptor<boost::asio::ip::tcp, boost::asio::socket_acceptor_service<boost::asio::ip::tcp> >::~basic_socket_acceptor() (in /home/kondo/work/training/code/cpp/websockets/server) | |
==2009== by 0x43FAD0: boost::detail::sp_ms_deleter<boost::asio::basic_socket_acceptor<boost::asio::ip::tcp, boost::asio::socket_acceptor_service<boost::asio::ip::tcp> > >::destroy() (in /home/kondo/work/training/code/cpp/websockets/server) | |
==2009== by 0x46B0DB: boost::detail::sp_ms_deleter<boost::asio::basic_socket_acceptor<boost::asio::ip::tcp, boost::asio::socket_acceptor_service<boost::asio::ip::tcp> > >::operator()(boost::asio::basic_socket_acceptor<boost::asio::ip::tcp, boost::asio::socket_acceptor_service<boost::asio::ip::tcp> >*) (in /home/kondo/work/training/code/cpp/websockets/server) | |
==2009== by 0x46876A: boost::detail::sp_counted_impl_pd<boost::asio::basic_socket_acceptor<boost::asio::ip::tcp, boost::asio::socket_acceptor_service<boost::asio::ip::tcp> >*, boost::detail::sp_ms_deleter<boost::asio::basic_socket_acceptor<boost::asio::ip::tcp, boost::asio::socket_acceptor_service<boost::asio::ip::tcp> > > >::dispose() (in /home/kondo/work/training/code/cpp/websockets/server) | |
==2009== by 0x408C2B: boost::detail::sp_counted_base::release() (in /home/kondo/work/training/code/cpp/websockets/server) | |
==2009== Address 0x602b718 is 56 bytes inside a block of size 152 free'd | |
==2009== at 0x4C2B6D0: operator delete(void*) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) | |
==2009== by 0x4287F6: void boost::asio::detail::object_pool_access::destroy<boost::asio::detail::epoll_reactor::descriptor_state>(boost::asio::detail::epoll_reactor::descriptor_state*) (in /home/kondo/work/training/code/cpp/websockets/server) | |
==2009== by 0x423596: boost::asio::detail::object_pool<boost::asio::detail::epoll_reactor::descriptor_state>::destroy_list(boost::asio::detail::epoll_reactor::descriptor_state*) (in /home/kondo/work/training/code/cpp/websockets/server) | |
==2009== by 0x41D59C: boost::asio::detail::object_pool<boost::asio::detail::epoll_reactor::descriptor_state>::~object_pool() (in /home/kondo/work/training/code/cpp/websockets/server) | |
==2009== by 0x4129BE: boost::asio::detail::epoll_reactor::~epoll_reactor() (in /home/kondo/work/training/code/cpp/websockets/server) | |
==2009== by 0x412A29: boost::asio::detail::epoll_reactor::~epoll_reactor() (in /home/kondo/work/training/code/cpp/websockets/server) | |
==2009== by 0x411C69: boost::asio::detail::service_registry::destroy(boost::asio::io_service::service*) (in /home/kondo/work/training/code/cpp/websockets/server) | |
==2009== by 0x411B7D: boost::asio::detail::service_registry::~service_registry() (in /home/kondo/work/training/code/cpp/websockets/server) | |
==2009== by 0x414B0A: boost::asio::io_service::~io_service() (in /home/kondo/work/training/code/cpp/websockets/server) | |
==2009== by 0x407399: main (in /home/kondo/work/training/code/cpp/websockets/server) | |
==2009== | |
==2009== Invalid read of size 4 | |
==2009== at 0x5E18230: __pthread_mutex_lock_full (in /usr/lib/libpthread-2.20.so) | |
==2009== by 0x41135F: boost::asio::detail::posix_mutex::lock() (in /home/kondo/work/training/code/cpp/websockets/server) | |
==2009== by 0x41D3AB: boost::asio::detail::scoped_lock<boost::asio::detail::posix_mutex>::scoped_lock(boost::asio::detail::posix_mutex&) (in /home/kondo/work/training/code/cpp/websockets/server) | |
==2009== by 0x4132FD: boost::asio::detail::epoll_reactor::deregister_descriptor(int, boost::asio::detail::epoll_reactor::descriptor_state*&, bool) (in /home/kondo/work/training/code/cpp/websockets/server) | |
==2009== by 0x416304: boost::asio::detail::reactive_socket_service_base::destroy(boost::asio::detail::reactive_socket_service_base::base_implementation_type&) (in /home/kondo/work/training/code/cpp/websockets/server) | |
==2009== by 0x435D08: boost::asio::socket_acceptor_service<boost::asio::ip::tcp>::destroy(boost::asio::detail::reactive_socket_service<boost::asio::ip::tcp>::implementation_type&) (in /home/kondo/work/training/code/cpp/websockets/server) | |
==2009== by 0x431E6C: boost::asio::basic_io_object<boost::asio::socket_acceptor_service<boost::asio::ip::tcp>, true>::~basic_io_object() (in /home/kondo/work/training/code/cpp/websockets/server) | |
==2009== by 0x43FA9F: boost::asio::basic_socket_acceptor<boost::asio::ip::tcp, boost::asio::socket_acceptor_service<boost::asio::ip::tcp> >::~basic_socket_acceptor() (in /home/kondo/work/training/code/cpp/websockets/server) | |
==2009== by 0x43FAD0: boost::detail::sp_ms_deleter<boost::asio::basic_socket_acceptor<boost::asio::ip::tcp, boost::asio::socket_acceptor_service<boost::asio::ip::tcp> > >::destroy() (in /home/kondo/work/training/code/cpp/websockets/server) | |
==2009== by 0x46B0DB: boost::detail::sp_ms_deleter<boost::asio::basic_socket_acceptor<boost::asio::ip::tcp, boost::asio::socket_acceptor_service<boost::asio::ip::tcp> > >::operator()(boost::asio::basic_socket_acceptor<boost::asio::ip::tcp, boost::asio::socket_acceptor_service<boost::asio::ip::tcp> >*) (in /home/kondo/work/training/code/cpp/websockets/server) | |
==2009== by 0x46876A: boost::detail::sp_counted_impl_pd<boost::asio::basic_socket_acceptor<boost::asio::ip::tcp, boost::asio::socket_acceptor_service<boost::asio::ip::tcp> >*, boost::detail::sp_ms_deleter<boost::asio::basic_socket_acceptor<boost::asio::ip::tcp, boost::asio::socket_acceptor_service<boost::asio::ip::tcp> > > >::dispose() (in /home/kondo/work/training/code/cpp/websockets/server) | |
==2009== by 0x408C2B: boost::detail::sp_counted_base::release() (in /home/kondo/work/training/code/cpp/websockets/server) | |
==2009== Address 0x602b718 is 56 bytes inside a block of size 152 free'd | |
==2009== at 0x4C2B6D0: operator delete(void*) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) | |
==2009== by 0x4287F6: void boost::asio::detail::object_pool_access::destroy<boost::asio::detail::epoll_reactor::descriptor_state>(boost::asio::detail::epoll_reactor::descriptor_state*) (in /home/kondo/work/training/code/cpp/websockets/server) | |
==2009== by 0x423596: boost::asio::detail::object_pool<boost::asio::detail::epoll_reactor::descriptor_state>::destroy_list(boost::asio::detail::epoll_reactor::descriptor_state*) (in /home/kondo/work/training/code/cpp/websockets/server) | |
==2009== by 0x41D59C: boost::asio::detail::object_pool<boost::asio::detail::epoll_reactor::descriptor_state>::~object_pool() (in /home/kondo/work/training/code/cpp/websockets/server) | |
==2009== by 0x4129BE: boost::asio::detail::epoll_reactor::~epoll_reactor() (in /home/kondo/work/training/code/cpp/websockets/server) | |
==2009== by 0x412A29: boost::asio::detail::epoll_reactor::~epoll_reactor() (in /home/kondo/work/training/code/cpp/websockets/server) | |
==2009== by 0x411C69: boost::asio::detail::service_registry::destroy(boost::asio::io_service::service*) (in /home/kondo/work/training/code/cpp/websockets/server) | |
==2009== by 0x411B7D: boost::asio::detail::service_registry::~service_registry() (in /home/kondo/work/training/code/cpp/websockets/server) | |
==2009== by 0x414B0A: boost::asio::io_service::~io_service() (in /home/kondo/work/training/code/cpp/websockets/server) | |
==2009== by 0x407399: main (in /home/kondo/work/training/code/cpp/websockets/server) | |
==2009== | |
==2009== Invalid read of size 1 | |
==2009== at 0x413305: boost::asio::detail::epoll_reactor::deregister_descriptor(int, boost::asio::detail::epoll_reactor::descriptor_state*&, bool) (in /home/kondo/work/training/code/cpp/websockets/server) | |
==2009== by 0x416304: boost::asio::detail::reactive_socket_service_base::destroy(boost::asio::detail::reactive_socket_service_base::base_implementation_type&) (in /home/kondo/work/training/code/cpp/websockets/server) | |
==2009== by 0x435D08: boost::asio::socket_acceptor_service<boost::asio::ip::tcp>::destroy(boost::asio::detail::reactive_socket_service<boost::asio::ip::tcp>::implementation_type&) (in /home/kondo/work/training/code/cpp/websockets/server) | |
==2009== by 0x431E6C: boost::asio::basic_io_object<boost::asio::socket_acceptor_service<boost::asio::ip::tcp>, true>::~basic_io_object() (in /home/kondo/work/training/code/cpp/websockets/server) | |
==2009== by 0x43FA9F: boost::asio::basic_socket_acceptor<boost::asio::ip::tcp, boost::asio::socket_acceptor_service<boost::asio::ip::tcp> >::~basic_socket_acceptor() (in /home/kondo/work/training/code/cpp/websockets/server) | |
==2009== by 0x43FAD0: boost::detail::sp_ms_deleter<boost::asio::basic_socket_acceptor<boost::asio::ip::tcp, boost::asio::socket_acceptor_service<boost::asio::ip::tcp> > >::destroy() (in /home/kondo/work/training/code/cpp/websockets/server) | |
==2009== by 0x46B0DB: boost::detail::sp_ms_deleter<boost::asio::basic_socket_acceptor<boost::asio::ip::tcp, boost::asio::socket_acceptor_service<boost::asio::ip::tcp> > >::operator()(boost::asio::basic_socket_acceptor<boost::asio::ip::tcp, boost::asio::socket_acceptor_service<boost::asio::ip::tcp> >*) (in /home/kondo/work/training/code/cpp/websockets/server) | |
==2009== by 0x46876A: boost::detail::sp_counted_impl_pd<boost::asio::basic_socket_acceptor<boost::asio::ip::tcp, boost::asio::socket_acceptor_service<boost::asio::ip::tcp> >*, boost::detail::sp_ms_deleter<boost::asio::basic_socket_acceptor<boost::asio::ip::tcp, boost::asio::socket_acceptor_service<boost::asio::ip::tcp> > > >::dispose() (in /home/kondo/work/training/code/cpp/websockets/server) | |
==2009== by 0x408C2B: boost::detail::sp_counted_base::release() (in /home/kondo/work/training/code/cpp/websockets/server) | |
==2009== by 0x408CEE: boost::detail::shared_count::~shared_count() (in /home/kondo/work/training/code/cpp/websockets/server) | |
==2009== by 0x41FA67: boost::shared_ptr<boost::asio::basic_socket_acceptor<boost::asio::ip::tcp, boost::asio::socket_acceptor_service<boost::asio::ip::tcp> > >::~shared_ptr() (in /home/kondo/work/training/code/cpp/websockets/server) | |
==2009== by 0x424D18: boost::shared_ptr<boost::asio::basic_socket_acceptor<boost::asio::ip::tcp, boost::asio::socket_acceptor_service<boost::asio::ip::tcp> > >::reset() (in /home/kondo/work/training/code/cpp/websockets/server) | |
==2009== Address 0x602b770 is 144 bytes inside a block of size 152 free'd | |
==2009== at 0x4C2B6D0: operator delete(void*) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) | |
==2009== by 0x4287F6: void boost::asio::detail::object_pool_access::destroy<boost::asio::detail::epoll_reactor::descriptor_state>(boost::asio::detail::epoll_reactor::descriptor_state*) (in /home/kondo/work/training/code/cpp/websockets/server) | |
==2009== by 0x423596: boost::asio::detail::object_pool<boost::asio::detail::epoll_reactor::descriptor_state>::destroy_list(boost::asio::detail::epoll_reactor::descriptor_state*) (in /home/kondo/work/training/code/cpp/websockets/server) | |
==2009== by 0x41D59C: boost::asio::detail::object_pool<boost::asio::detail::epoll_reactor::descriptor_state>::~object_pool() (in /home/kondo/work/training/code/cpp/websockets/server) | |
==2009== by 0x4129BE: boost::asio::detail::epoll_reactor::~epoll_reactor() (in /home/kondo/work/training/code/cpp/websockets/server) | |
==2009== by 0x412A29: boost::asio::detail::epoll_reactor::~epoll_reactor() (in /home/kondo/work/training/code/cpp/websockets/server) | |
==2009== by 0x411C69: boost::asio::detail::service_registry::destroy(boost::asio::io_service::service*) (in /home/kondo/work/training/code/cpp/websockets/server) | |
==2009== by 0x411B7D: boost::asio::detail::service_registry::~service_registry() (in /home/kondo/work/training/code/cpp/websockets/server) | |
==2009== by 0x414B0A: boost::asio::io_service::~io_service() (in /home/kondo/work/training/code/cpp/websockets/server) | |
==2009== by 0x407399: main (in /home/kondo/work/training/code/cpp/websockets/server) | |
==2009== | |
==2009== Invalid read of size 4 | |
==2009== at 0x5E19E10: __pthread_mutex_unlock_usercnt (in /usr/lib/libpthread-2.20.so) | |
==2009== by 0x411379: boost::asio::detail::posix_mutex::unlock() (in /home/kondo/work/training/code/cpp/websockets/server) | |
==2009== by 0x41D3DC: boost::asio::detail::scoped_lock<boost::asio::detail::posix_mutex>::~scoped_lock() (in /home/kondo/work/training/code/cpp/websockets/server) | |
==2009== by 0x413451: boost::asio::detail::epoll_reactor::deregister_descriptor(int, boost::asio::detail::epoll_reactor::descriptor_state*&, bool) (in /home/kondo/work/training/code/cpp/websockets/server) | |
==2009== by 0x416304: boost::asio::detail::reactive_socket_service_base::destroy(boost::asio::detail::reactive_socket_service_base::base_implementation_type&) (in /home/kondo/work/training/code/cpp/websockets/server) | |
==2009== by 0x435D08: boost::asio::socket_acceptor_service<boost::asio::ip::tcp>::destroy(boost::asio::detail::reactive_socket_service<boost::asio::ip::tcp>::implementation_type&) (in /home/kondo/work/training/code/cpp/websockets/server) | |
==2009== by 0x431E6C: boost::asio::basic_io_object<boost::asio::socket_acceptor_service<boost::asio::ip::tcp>, true>::~basic_io_object() (in /home/kondo/work/training/code/cpp/websockets/server) | |
==2009== by 0x43FA9F: boost::asio::basic_socket_acceptor<boost::asio::ip::tcp, boost::asio::socket_acceptor_service<boost::asio::ip::tcp> >::~basic_socket_acceptor() (in /home/kondo/work/training/code/cpp/websockets/server) | |
==2009== by 0x43FAD0: boost::detail::sp_ms_deleter<boost::asio::basic_socket_acceptor<boost::asio::ip::tcp, boost::asio::socket_acceptor_service<boost::asio::ip::tcp> > >::destroy() (in /home/kondo/work/training/code/cpp/websockets/server) | |
==2009== by 0x46B0DB: boost::detail::sp_ms_deleter<boost::asio::basic_socket_acceptor<boost::asio::ip::tcp, boost::asio::socket_acceptor_service<boost::asio::ip::tcp> > >::operator()(boost::asio::basic_socket_acceptor<boost::asio::ip::tcp, boost::asio::socket_acceptor_service<boost::asio::ip::tcp> >*) (in /home/kondo/work/training/code/cpp/websockets/server) | |
==2009== by 0x46876A: boost::detail::sp_counted_impl_pd<boost::asio::basic_socket_acceptor<boost::asio::ip::tcp, boost::asio::socket_acceptor_service<boost::asio::ip::tcp> >*, boost::detail::sp_ms_deleter<boost::asio::basic_socket_acceptor<boost::asio::ip::tcp, boost::asio::socket_acceptor_service<boost::asio::ip::tcp> > > >::dispose() (in /home/kondo/work/training/code/cpp/websockets/server) | |
==2009== by 0x408C2B: boost::detail::sp_counted_base::release() (in /home/kondo/work/training/code/cpp/websockets/server) | |
==2009== Address 0x602b718 is 56 bytes inside a block of size 152 free'd | |
==2009== at 0x4C2B6D0: operator delete(void*) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) | |
==2009== by 0x4287F6: void boost::asio::detail::object_pool_access::destroy<boost::asio::detail::epoll_reactor::descriptor_state>(boost::asio::detail::epoll_reactor::descriptor_state*) (in /home/kondo/work/training/code/cpp/websockets/server) | |
==2009== by 0x423596: boost::asio::detail::object_pool<boost::asio::detail::epoll_reactor::descriptor_state>::destroy_list(boost::asio::detail::epoll_reactor::descriptor_state*) (in /home/kondo/work/training/code/cpp/websockets/server) | |
==2009== by 0x41D59C: boost::asio::detail::object_pool<boost::asio::detail::epoll_reactor::descriptor_state>::~object_pool() (in /home/kondo/work/training/code/cpp/websockets/server) | |
==2009== by 0x4129BE: boost::asio::detail::epoll_reactor::~epoll_reactor() (in /home/kondo/work/training/code/cpp/websockets/server) | |
==2009== by 0x412A29: boost::asio::detail::epoll_reactor::~epoll_reactor() (in /home/kondo/work/training/code/cpp/websockets/server) | |
==2009== by 0x411C69: boost::asio::detail::service_registry::destroy(boost::asio::io_service::service*) (in /home/kondo/work/training/code/cpp/websockets/server) | |
==2009== by 0x411B7D: boost::asio::detail::service_registry::~service_registry() (in /home/kondo/work/training/code/cpp/websockets/server) | |
==2009== by 0x414B0A: boost::asio::io_service::~io_service() (in /home/kondo/work/training/code/cpp/websockets/server) | |
==2009== by 0x407399: main (in /home/kondo/work/training/code/cpp/websockets/server) | |
==2009== | |
==2009== Invalid read of size 4 | |
==2009== at 0x5E19AB0: __pthread_mutex_unlock_full (in /usr/lib/libpthread-2.20.so) | |
==2009== by 0x411379: boost::asio::detail::posix_mutex::unlock() (in /home/kondo/work/training/code/cpp/websockets/server) | |
==2009== by 0x41D3DC: boost::asio::detail::scoped_lock<boost::asio::detail::posix_mutex>::~scoped_lock() (in /home/kondo/work/training/code/cpp/websockets/server) | |
==2009== by 0x413451: boost::asio::detail::epoll_reactor::deregister_descriptor(int, boost::asio::detail::epoll_reactor::descriptor_state*&, bool) (in /home/kondo/work/training/code/cpp/websockets/server) | |
==2009== by 0x416304: boost::asio::detail::reactive_socket_service_base::destroy(boost::asio::detail::reactive_socket_service_base::base_implementation_type&) (in /home/kondo/work/training/code/cpp/websockets/server) | |
==2009== by 0x435D08: boost::asio::socket_acceptor_service<boost::asio::ip::tcp>::destroy(boost::asio::detail::reactive_socket_service<boost::asio::ip::tcp>::implementation_type&) (in /home/kondo/work/training/code/cpp/websockets/server) | |
==2009== by 0x431E6C: boost::asio::basic_io_object<boost::asio::socket_acceptor_service<boost::asio::ip::tcp>, true>::~basic_io_object() (in /home/kondo/work/training/code/cpp/websockets/server) | |
==2009== by 0x43FA9F: boost::asio::basic_socket_acceptor<boost::asio::ip::tcp, boost::asio::socket_acceptor_service<boost::asio::ip::tcp> >::~basic_socket_acceptor() (in /home/kondo/work/training/code/cpp/websockets/server) | |
==2009== by 0x43FAD0: boost::detail::sp_ms_deleter<boost::asio::basic_socket_acceptor<boost::asio::ip::tcp, boost::asio::socket_acceptor_service<boost::asio::ip::tcp> > >::destroy() (in /home/kondo/work/training/code/cpp/websockets/server) | |
==2009== by 0x46B0DB: boost::detail::sp_ms_deleter<boost::asio::basic_socket_acceptor<boost::asio::ip::tcp, boost::asio::socket_acceptor_service<boost::asio::ip::tcp> > >::operator()(boost::asio::basic_socket_acceptor<boost::asio::ip::tcp, boost::asio::socket_acceptor_service<boost::asio::ip::tcp> >*) (in /home/kondo/work/training/code/cpp/websockets/server) | |
==2009== by 0x46876A: boost::detail::sp_counted_impl_pd<boost::asio::basic_socket_acceptor<boost::asio::ip::tcp, boost::asio::socket_acceptor_service<boost::asio::ip::tcp> >*, boost::detail::sp_ms_deleter<boost::asio::basic_socket_acceptor<boost::asio::ip::tcp, boost::asio::socket_acceptor_service<boost::asio::ip::tcp> > > >::dispose() (in /home/kondo/work/training/code/cpp/websockets/server) | |
==2009== by 0x408C2B: boost::detail::sp_counted_base::release() (in /home/kondo/work/training/code/cpp/websockets/server) | |
==2009== Address 0x602b718 is 56 bytes inside a block of size 152 free'd | |
==2009== at 0x4C2B6D0: operator delete(void*) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) | |
==2009== by 0x4287F6: void boost::asio::detail::object_pool_access::destroy<boost::asio::detail::epoll_reactor::descriptor_state>(boost::asio::detail::epoll_reactor::descriptor_state*) (in /home/kondo/work/training/code/cpp/websockets/server) | |
==2009== by 0x423596: boost::asio::detail::object_pool<boost::asio::detail::epoll_reactor::descriptor_state>::destroy_list(boost::asio::detail::epoll_reactor::descriptor_state*) (in /home/kondo/work/training/code/cpp/websockets/server) | |
==2009== by 0x41D59C: boost::asio::detail::object_pool<boost::asio::detail::epoll_reactor::descriptor_state>::~object_pool() (in /home/kondo/work/training/code/cpp/websockets/server) | |
==2009== by 0x4129BE: boost::asio::detail::epoll_reactor::~epoll_reactor() (in /home/kondo/work/training/code/cpp/websockets/server) | |
==2009== by 0x412A29: boost::asio::detail::epoll_reactor::~epoll_reactor() (in /home/kondo/work/training/code/cpp/websockets/server) | |
==2009== by 0x411C69: boost::asio::detail::service_registry::destroy(boost::asio::io_service::service*) (in /home/kondo/work/training/code/cpp/websockets/server) | |
==2009== by 0x411B7D: boost::asio::detail::service_registry::~service_registry() (in /home/kondo/work/training/code/cpp/websockets/server) | |
==2009== by 0x414B0A: boost::asio::io_service::~io_service() (in /home/kondo/work/training/code/cpp/websockets/server) | |
==2009== by 0x407399: main (in /home/kondo/work/training/code/cpp/websockets/server) | |
==2009== | |
==2009== | |
==2009== HEAP SUMMARY: | |
==2009== in use at exit: 43,908 bytes in 64 blocks | |
==2009== total heap usage: 264 allocs, 200 frees, 59,725 bytes allocated | |
==2009== | |
==2009== 20,984 (20,080 direct, 904 indirect) bytes in 1 blocks are definitely lost in loss record 45 of 46 | |
==2009== at 0x4C2A4F0: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) | |
==2009== by 0x439E69: boost::detail::shared_count::shared_count<websocketpp::connection<websocketpp::config::asio>*, boost::detail::sp_ms_deleter<websocketpp::connection<websocketpp::config::asio> > >(websocketpp::connection<websocketpp::config::asio>*, boost::detail::sp_inplace_tag<boost::detail::sp_ms_deleter<websocketpp::connection<websocketpp::config::asio> > >) (in /home/kondo/work/training/code/cpp/websockets/server) | |
==2009== by 0x435F1F: boost::shared_ptr<websocketpp::connection<websocketpp::config::asio> >::shared_ptr<websocketpp::connection<websocketpp::config::asio>, boost::detail::sp_inplace_tag<boost::detail::sp_ms_deleter<websocketpp::connection<websocketpp::config::asio> > > >(websocketpp::connection<websocketpp::config::asio>*, boost::detail::sp_inplace_tag<boost::detail::sp_ms_deleter<websocketpp::connection<websocketpp::config::asio> > >) (in /home/kondo/work/training/code/cpp/websockets/server) | |
==2009== by 0x43200A: boost::detail::sp_if_not_array<websocketpp::connection<websocketpp::config::asio> >::type boost::make_shared<websocketpp::connection<websocketpp::config::asio>, bool const&, std::string&, boost::reference_wrapper<websocketpp::log::basic<websocketpp::concurrency::basic, websocketpp::log::alevel> > const, boost::reference_wrapper<websocketpp::log::basic<websocketpp::concurrency::basic, websocketpp::log::elevel> > const, boost::reference_wrapper<websocketpp::random::none::int_generator<unsigned int> > const>(bool const&, std::string&, boost::reference_wrapper<websocketpp::log::basic<websocketpp::concurrency::basic, websocketpp::log::alevel> > const&&, boost::reference_wrapper<websocketpp::log::basic<websocketpp::concurrency::basic, websocketpp::log::elevel> > const&&, boost::reference_wrapper<websocketpp::random::none::int_generator<unsigned int> > const&&) (in /home/kondo/work/training/code/cpp/websockets/server) | |
==2009== by 0x42E2D7: websocketpp::endpoint<websocketpp::connection<websocketpp::config::asio>, websocketpp::config::asio>::create_connection() (in /home/kondo/work/training/code/cpp/websockets/server) | |
==2009== by 0x42A4F2: websocketpp::server<websocketpp::config::asio>::get_connection() (in /home/kondo/work/training/code/cpp/websockets/server) | |
==2009== by 0x425325: websocketpp::server<websocketpp::config::asio>::start_accept(boost::system::error_code&) (in /home/kondo/work/training/code/cpp/websockets/server) | |
==2009== by 0x42A732: websocketpp::server<websocketpp::config::asio>::handle_accept(boost::shared_ptr<websocketpp::connection<websocketpp::config::asio> >, boost::system::error_code const&) (in /home/kondo/work/training/code/cpp/websockets/server) | |
==2009== by 0x44C4CC: boost::_mfi::mf2<void, websocketpp::server<websocketpp::config::asio>, boost::shared_ptr<websocketpp::connection<websocketpp::config::asio> >, boost::system::error_code const&>::operator()(websocketpp::server<websocketpp::config::asio>*, boost::shared_ptr<websocketpp::connection<websocketpp::config::asio> >, boost::system::error_code const&) const (in /home/kondo/work/training/code/cpp/websockets/server) | |
==2009== by 0x44655E: void boost::_bi::list3<boost::_bi::value<websocketpp::server<websocketpp::config::asio>*>, boost::_bi::value<boost::shared_ptr<websocketpp::connection<websocketpp::config::asio> > >, boost::arg<1> >::operator()<boost::_mfi::mf2<void, websocketpp::server<websocketpp::config::asio>, boost::shared_ptr<websocketpp::connection<websocketpp::config::asio> >, boost::system::error_code const&>, boost::_bi::list1<boost::system::error_code const&> >(boost::_bi::type<void>, boost::_mfi::mf2<void, websocketpp::server<websocketpp::config::asio>, boost::shared_ptr<websocketpp::connection<websocketpp::config::asio> >, boost::system::error_code const&>&, boost::_bi::list1<boost::system::error_code const&>&, int) (in /home/kondo/work/training/code/cpp/websockets/server) | |
==2009== by 0x43ECE7: void boost::_bi::bind_t<void, boost::_mfi::mf2<void, websocketpp::server<websocketpp::config::asio>, boost::shared_ptr<websocketpp::connection<websocketpp::config::asio> >, boost::system::error_code const&>, boost::_bi::list3<boost::_bi::value<websocketpp::server<websocketpp::config::asio>*>, boost::_bi::value<boost::shared_ptr<websocketpp::connection<websocketpp::config::asio> > >, boost::arg<1> > >::operator()<boost::system::error_code>(boost::system::error_code const&) (in /home/kondo/work/training/code/cpp/websockets/server) | |
==2009== by 0x4389A2: boost::detail::function::void_function_obj_invoker1<boost::_bi::bind_t<void, boost::_mfi::mf2<void, websocketpp::server<websocketpp::config::asio>, boost::shared_ptr<websocketpp::connection<websocketpp::config::asio> >, boost::system::error_code const&>, boost::_bi::list3<boost::_bi::value<websocketpp::server<websocketpp::config::asio>*>, boost::_bi::value<boost::shared_ptr<websocketpp::connection<websocketpp::config::asio> > >, boost::arg<1> > >, void, boost::system::error_code const&>::invoke(boost::detail::function::function_buffer&, boost::system::error_code const&) (in /home/kondo/work/training/code/cpp/websockets/server) | |
==2009== | |
==2009== 22,924 (20,080 direct, 2,844 indirect) bytes in 1 blocks are definitely lost in loss record 46 of 46 | |
==2009== at 0x4C2A4F0: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) | |
==2009== by 0x439E69: boost::detail::shared_count::shared_count<websocketpp::connection<websocketpp::config::asio>*, boost::detail::sp_ms_deleter<websocketpp::connection<websocketpp::config::asio> > >(websocketpp::connection<websocketpp::config::asio>*, boost::detail::sp_inplace_tag<boost::detail::sp_ms_deleter<websocketpp::connection<websocketpp::config::asio> > >) (in /home/kondo/work/training/code/cpp/websockets/server) | |
==2009== by 0x435F1F: boost::shared_ptr<websocketpp::connection<websocketpp::config::asio> >::shared_ptr<websocketpp::connection<websocketpp::config::asio>, boost::detail::sp_inplace_tag<boost::detail::sp_ms_deleter<websocketpp::connection<websocketpp::config::asio> > > >(websocketpp::connection<websocketpp::config::asio>*, boost::detail::sp_inplace_tag<boost::detail::sp_ms_deleter<websocketpp::connection<websocketpp::config::asio> > >) (in /home/kondo/work/training/code/cpp/websockets/server) | |
==2009== by 0x43200A: boost::detail::sp_if_not_array<websocketpp::connection<websocketpp::config::asio> >::type boost::make_shared<websocketpp::connection<websocketpp::config::asio>, bool const&, std::string&, boost::reference_wrapper<websocketpp::log::basic<websocketpp::concurrency::basic, websocketpp::log::alevel> > const, boost::reference_wrapper<websocketpp::log::basic<websocketpp::concurrency::basic, websocketpp::log::elevel> > const, boost::reference_wrapper<websocketpp::random::none::int_generator<unsigned int> > const>(bool const&, std::string&, boost::reference_wrapper<websocketpp::log::basic<websocketpp::concurrency::basic, websocketpp::log::alevel> > const&&, boost::reference_wrapper<websocketpp::log::basic<websocketpp::concurrency::basic, websocketpp::log::elevel> > const&&, boost::reference_wrapper<websocketpp::random::none::int_generator<unsigned int> > const&&) (in /home/kondo/work/training/code/cpp/websockets/server) | |
==2009== by 0x42E2D7: websocketpp::endpoint<websocketpp::connection<websocketpp::config::asio>, websocketpp::config::asio>::create_connection() (in /home/kondo/work/training/code/cpp/websockets/server) | |
==2009== by 0x42A4F2: websocketpp::server<websocketpp::config::asio>::get_connection() (in /home/kondo/work/training/code/cpp/websockets/server) | |
==2009== by 0x425325: websocketpp::server<websocketpp::config::asio>::start_accept(boost::system::error_code&) (in /home/kondo/work/training/code/cpp/websockets/server) | |
==2009== by 0x41FDBD: websocketpp::server<websocketpp::config::asio>::start_accept() (in /home/kondo/work/training/code/cpp/websockets/server) | |
==2009== by 0x40737E: main (in /home/kondo/work/training/code/cpp/websockets/server) | |
==2009== | |
==2009== LEAK SUMMARY: | |
==2009== definitely lost: 40,160 bytes in 2 blocks | |
==2009== indirectly lost: 3,748 bytes in 62 blocks | |
==2009== possibly lost: 0 bytes in 0 blocks | |
==2009== still reachable: 0 bytes in 0 blocks | |
==2009== suppressed: 0 bytes in 0 blocks | |
==2009== | |
==2009== For counts of detected and suppressed errors, rerun with: -v | |
==2009== ERROR SUMMARY: 8 errors from 8 contexts (suppressed: 0 from 0) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#include <iostream> | |
#include <websocketpp/config/asio_no_tls.hpp> | |
#include <websocketpp/client.hpp> | |
typedef websocketpp::client<websocketpp::config::asio> client; | |
int main(int argc, char **argv) { | |
if (argc != 2) { | |
std::cout << "Usage: " << argv[0] << " URI" << std::endl; | |
return -1; | |
} | |
std::string uri = argv[1]; | |
client c; | |
boost::asio::io_service ios; | |
c.init_asio(&ios); | |
c.set_open_handler( | |
[&](websocketpp::connection_hdl hdl) { | |
c.send(hdl, "ABC", websocketpp::frame::opcode::text); | |
}); | |
websocketpp::lib::error_code ec; | |
client::connection_ptr con = c.get_connection(uri, ec); | |
std::cout << ec.message() << std::endl; | |
std::cout << "connect" << std::endl; | |
c.connect(con); | |
std::cout << "connected" << std::endl; | |
std::cout << "run" << std::endl; | |
c.run(); | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#include <websocketpp/config/asio_no_tls.hpp> | |
#include <websocketpp/server.hpp> | |
#include <iostream> | |
#include <boost/lexical_cast.hpp> | |
typedef websocketpp::server<websocketpp::config::asio> server; | |
int main(int argc, char** argv) { | |
if (argc != 2) { | |
std::cout << "Usage: " << argv[0] << " port" << std::endl; | |
return -1; | |
} | |
int port = boost::lexical_cast<int>(argv[1]); | |
server s; | |
boost::asio::io_service ios; | |
s.set_message_handler( | |
[&](websocketpp::connection_hdl, | |
server::message_ptr){ | |
s.stop(); | |
}); | |
s.init_asio(&ios); | |
s.set_reuse_addr(true); | |
s.listen(boost::asio::ip::tcp::v4(), port); | |
s.start_accept(); | |
s.run(); | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment