Skip to content

Instantly share code, notes, and snippets.

@redboltz
Created January 1, 2015 06:32
Show Gist options
  • Save redboltz/a7a9c5abfdeca803dbd5 to your computer and use it in GitHub Desktop.
Save redboltz/a7a9c5abfdeca803dbd5 to your computer and use it in GitHub Desktop.
websocket++ valgrind log
==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)
#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();
}
#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