- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I wrote a simple consle test in C++ to check basic operations, it perform only ConferenceClient::Join and ConferenceClient::Leave. In debug version after leave command finished successfully some background thread causes abnormal termination because of memory corruption during "free" function call. Release version of the same program works silently without crashes, but it's just a probability of random crash.
I use OpenSSL 1.0.2 precompiled binaries for VS2013 with dinamic libraries (OpenSSL 1.1.0 causes crash) and Boost 1.62.0 to compile sioclient library. Here is the code of the test (Visual Studio 2015). token.h and token.cpp are from example Qt project.
_____________________________________________________
#include <stdio.h> #include <Windows.h> #include "woogeen/base/clientconfiguration.h" #include "woogeen/conference/remotemixedstream.h" #include "woogeen/conference/conferenceclient.h" #include "token.h" using namespace std; using namespace woogeen::base; using namespace woogeen::conference; shared_ptr<ConferenceClient> client; ConferenceClientObserver observer; bool joined; //-------------------------------------------------------------------- int main (int argc, const char * argv[]) { //-------------------------------------------------------------------- // ice server IceServer ice; ice.urls.push_back("stun:52.78.15.236"); ice.username = ice.password = ""; vector<woogeen::base::IceServer> ice_servers; ice_servers.push_back (ice); // configuration ConferenceClientConfiguration config = ConferenceClientConfiguration (); config.ice_servers = ice_servers; MediaCodec mc; // mc.video_codec = MediaCodec::H264; mc.video_codec = MediaCodec::VP8; config.media_codec = mc; client = std::make_shared<ConferenceClient> (config); client->AddObserver (observer); //................................................................. string uri = "http://52.78.15.236:3001"; string token = getToken (uri); joined = false; if (token != "") { printf ("token = %s\n\n", token.c_str()); printf ("Join...\n"); client->Join (token, [=] (std::shared_ptr<User> user) { printf ("Join succeeded!\n"); joined = true; }, [=] (std::unique_ptr<ConferenceException> err) { printf ("Join failed!\n"); }); } while (!joined) { Sleep (100); } printf ("Leave...\n"); client->Leave ( [=] () { printf ("Leave succeeded!\n"); }, [=] (std::unique_ptr<ConferenceException> err) { printf ("Leave failed!\n"); }); while (true) { Sleep (100); } } _____________________________________________________
The output of the code
[2016-11-15 21:22:29] [devel] endpoint constructor
[2016-11-15 21:22:29] [devel] client constructor
X-Powered-By: Express
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: POST, GET, OPTIONS, DELETE
Access-Control-Allow-Headers: origin, content-type
Content-Type: text/html; charset=utf-8
Content-Length: 244
ETag: W/"f4-34lWKLn5AM1qpHkJEpN8GA"
Date: Tue, 15 Nov 2016 17:22:36 GMT
Connection: close
token = eyJ0b2tlbklkIjoiNTgyYjQ0NWM4MjY4NjAwODlhYTgzYzBlIiwiaG9zdCI6IjUyLjc4LjE1LjIzNjo4MDgwIiwic2VjdXJlIjp0cnVlLCJzaWduYXR1cmUiOiJPREkwWW1KbE1UUXlPR1ZsTmpSaE5qVXpZVEF3WkdFd09HRXlNVGhsTURnME5URTNOakF3TnpJeU9HTTFNekZtWVRCaVpEY3hOV0kxTWpjNE9UbGhZUT09In0=
Join...
[2016-11-15 21:22:30] [connect] Successful connection
[2016-11-15 21:22:31] [connect] WebSocket Connection 52.78.15.236:8080 v-2 "WebSocket++/0.7.0" /socket.io/?EIO=4&transport=websocket&t=1479230550 101
Connected.
On handshake,sid:FDM2p5QYg4aCCi2rAAAy,ping interval:25000,ping timeout60000
Received Message type (Connect)
encoded payload length:181
Received Message type (ACK)
Message length: 2
Join succeeded!
(conferenceclient.cc:149): Find streams in the conference.
(conferenceclient.cc:560): OnStreamAdded: mixed stream.
Leave...
encoded payload length:2
Close by reason:End by user
Client Disconnected.
clear timers
(conferencesocketsignalingchannel.cc:73): Socket.IO disconnected.
Leave succeeded!
[2016-11-15 21:22:32] [disconnect] Disconnect close local:[1000,End by user] remote:[1000,End by user]
_____________________________________________________
After the last line assertion failure heppen:
File minkernel\crts\ucrt\src\appcrt\heap\debug_heap.cpp, line 892.
Expression is_block_type_valid(header->_block_use)
- Tags:
- HTML5
- JavaScript*
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Sometime crash message is different:
File minkernel\crts\ucrt\src\appcrt\heap\debug_heap.cpp, line 888.
Expression _CrtIsValidHeapPointer(block)
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
forgot to metion, the stack trace for such crash is
ntdll.dll!777f97c5()Unknown
[Frames below may be incorrect and/or missing, no symbols loaded for ntdll.dll]
ntdll.dll!7779fc92()Unknown
ntdll.dll!7775c6dc()Unknown
>WoogeenConsoleTest.exe!free(void * block) Line 16C++
WoogeenConsoleTest.exe!_CRYPTO_free()Unknown
WoogeenConsoleTest.exe!boost::asio::ssl::detail::stream_core::~stream_core() Line 60C++
WoogeenConsoleTest.exe!boost::asio::ssl::stream<boost::asio::basic_stream_socket<boost::asio::ip::tcp,boost::asio::stream_socket_service<boost::asio::ip::tcp> > >::~stream<boost::asio::basic_stream_socket<boost::asio::ip::tcp,boost::asio::stream_socket_service<boost::asio::ip::tcp> > >() Line 117C++
WoogeenConsoleTest.exe!boost::asio::ssl::stream<boost::asio::basic_stream_socket<boost::asio::ip::tcp,boost::asio::stream_socket_service<boost::asio::ip::tcp> > >::`scalar deleting destructor'(unsigned int)C++
WoogeenConsoleTest.exe!std::_Ref_count_obj<boost::asio::ssl::stream<boost::asio::basic_stream_socket<boost::asio::ip::tcp,boost::asio::stream_socket_service<boost::asio::ip::tcp> > > >::_Destroy() Line 914C++
WoogeenConsoleTest.exe!std::_Ref_count_base::_Decref() Line 112C++
WoogeenConsoleTest.exe!std::_Ptr_base<boost::asio::ssl::stream<boost::asio::basic_stream_socket<boost::asio::ip::tcp,boost::asio::stream_socket_service<boost::asio::ip::tcp> > > >::_Decref() Line 339C++
WoogeenConsoleTest.exe!std::shared_ptr<boost::asio::ssl::stream<boost::asio::basic_stream_socket<boost::asio::ip::tcp,boost::asio::stream_socket_service<boost::asio::ip::tcp> > > >::~shared_ptr<boost::asio::ssl::stream<boost::asio::basic_stream_socket<boost::asio::ip::tcp,boost::asio::stream_socket_service<boost::asio::ip::tcp> > > >() Line 568C++
WoogeenConsoleTest.exe!websocketpp::transport::asio::tls_socket::connection::~connection()C++
WoogeenConsoleTest.exe!websocketpp::transport::asio::connection<websocketpp::config::debug_asio_tls::transport_config>::~connection<websocketpp::config::debug_asio_tls::transport_config>()C++
WoogeenConsoleTest.exe!websocketpp::connection<websocketpp::config::debug_asio_tls>::~connection<websocketpp::config::debug_asio_tls>()C++
WoogeenConsoleTest.exe!websocketpp::connection<websocketpp::config::debug_asio_tls>::`scalar deleting destructor'(unsigned int)C++
WoogeenConsoleTest.exe!std::_Ref_count_obj<websocketpp::connection<websocketpp::config::debug_asio_tls> >::_Destroy() Line 914C++
WoogeenConsoleTest.exe!std::_Ref_count_base::_Decref() Line 112C++
WoogeenConsoleTest.exe!std::_Ptr_base<websocketpp::transport::asio::connection<websocketpp::config::debug_asio_tls::transport_config> >::_Decref() Line 339C++
WoogeenConsoleTest.exe!std::shared_ptr<websocketpp::transport::asio::connection<websocketpp::config::debug_asio_tls::transport_config> >::~shared_ptr<websocketpp::transport::asio::connection<websocketpp::config::debug_asio_tls::transport_config> >() Line 568C++
WoogeenConsoleTest.exe!boost::_bi::value<std::shared_ptr<websocketpp::transport::asio::connection<websocketpp::config::debug_asio_tls::transport_config> > >::~value<std::shared_ptr<websocketpp::transport::asio::connection<websocketpp::config::debug_asio_tls::transport_config> > >()C++
WoogeenConsoleTest.exe!boost::_bi::storage1<boost::_bi::value<std::shared_ptr<websocketpp::transport::asio::connection<websocketpp::config::debug_asio_tls::transport_config> > > >::~storage1<boost::_bi::value<std::shared_ptr<websocketpp::transport::asio::connection<websocketpp::config::debug_asio_tls::transport_config> > > >()C++
WoogeenConsoleTest.exe!boost::_bi::storage2<boost::_bi::value<std::shared_ptr<websocketpp::transport::asio::connection<websocketpp::config::debug_asio_tls::transport_config> > >,boost::_bi::value<std::shared_ptr<boost::asio::basic_waitable_timer<std::chrono::steady_clock,boost::asio::wait_traits<std::chrono::steady_clock>,boost::asio::waitable_timer_service<std::chrono::steady_clock,boost::asio::wait_traits<std::chrono::steady_clock> > > > > >::~storage2<boost::_bi::value<std::shared_ptr<websocketpp::transport::asio::connection<websocketpp::config::debug_asio_tls::transport_config> > >,boost::_bi::value<std::shared_ptr<boost::asio::basic_waitable_timer<std::chrono::steady_clock,boost::asio::wait_traits<std::chrono::steady_clock>,boost::asio::waitable_timer_service<std::chrono::steady_clock,boost::asio::wait_traits<std::chrono::steady_clock> > > > > >()C++
WoogeenConsoleTest.exe!boost::_bi::storage3<boost::_bi::value<std::shared_ptr<websocketpp::transport::asio::connection<websocketpp::config::debug_asio_tls::transport_config> > >,boost::_bi::value<std::shared_ptr<boost::asio::basic_waitable_timer<std::chrono::steady_clock,boost::asio::wait_traits<std::chrono::steady_clock>,boost::asio::waitable_timer_service<std::chrono::steady_clock,boost::asio::wait_traits<std::chrono::steady_clock> > > > >,boost::_bi::value<boost::function<void __cdecl(std::error_code const &)> > >::~storage3<boost::_bi::value<std::shared_ptr<websocketpp::transport::asio::connection<websocketpp::config::debug_asio_tls::transport_config> > >,boost::_bi::value<std::shared_ptr<boost::asio::basic_waitable_timer<std::chrono::steady_clock,boost::asio::wait_traits<std::chrono::steady_clock>,boost::asio::waitable_timer_service<std::chrono::steady_clock,boost::asio::wait_traits<std::chrono::steady_clock> > > > >,boost::_bi::value<boost::function<void __cdecl(std::error_code const &)> > >()C++
WoogeenConsoleTest.exe!boost::_bi::storage4<boost::_bi::value<std::shared_ptr<websocketpp::transport::asio::connection<websocketpp::config::debug_asio_tls::transport_config> > >,boost::_bi::value<std::shared_ptr<boost::asio::basic_waitable_timer<std::chrono::steady_clock,boost::asio::wait_traits<std::chrono::steady_clock>,boost::asio::waitable_timer_service<std::chrono::steady_clock,boost::asio::wait_traits<std::chrono::steady_clock> > > > >,boost::_bi::value<boost::function<void __cdecl(std::error_code const &)> >,boost::arg<1> >::~storage4<boost::_bi::value<std::shared_ptr<websocketpp::transport::asio::connection<websocketpp::config::debug_asio_tls::transport_config> > >,boost::_bi::value<std::shared_ptr<boost::asio::basic_waitable_timer<std::chrono::steady_clock,boost::asio::wait_traits<std::chrono::steady_clock>,boost::asio::waitable_timer_service<std::chrono::steady_clock,boost::asio::wait_traits<std::chrono::steady_clock> > > > >,boost::_bi::value<boost::function<void __cdecl(std::error_code const &)> >,boost::arg<1> >()C++
WoogeenConsoleTest.exe!boost::_bi::list4<boost::_bi::value<std::shared_ptr<websocketpp::transport::asio::connection<websocketpp::config::debug_asio_tls::transport_config> > >,boost::_bi::value<std::shared_ptr<boost::asio::basic_waitable_timer<std::chrono::steady_clock,boost::asio::wait_traits<std::chrono::steady_clock>,boost::asio::waitable_timer_service<std::chrono::steady_clock,boost::asio::wait_traits<std::chrono::steady_clock> > > > >,boost::_bi::value<boost::function<void __cdecl(std::error_code const &)> >,boost::arg<1> >::~list4<boost::_bi::value<std::shared_ptr<websocketpp::transport::asio::connection<websocketpp::config::debug_asio_tls::transport_config> > >,boost::_bi::value<std::shared_ptr<boost::asio::basic_waitable_timer<std::chrono::steady_clock,boost::asio::wait_traits<std::chrono::steady_clock>,boost::asio::waitable_timer_service<std::chrono::steady_clock,boost::asio::wait_traits<std::chrono::steady_clock> > > > >,boost::_bi::value<boost::function<void __cdecl(std::error_code const &)> >,boost::arg<1> >()C++
WoogeenConsoleTest.exe!boost::_bi::bind_t<void,boost::_mfi::mf3<void,websocketpp::transport::asio::connection<websocketpp::config::debug_asio_tls::transport_config>,std::shared_ptr<boost::asio::basic_waitable_timer<std::chrono::steady_clock,boost::asio::wait_traits<std::chrono::steady_clock>,boost::asio::waitable_timer_service<std::chrono::steady_clock,boost::asio::wait_traits<std::chrono::steady_clock> > > >,boost::function<void __cdecl(std::error_code const &)>,boost::system::error_code const &>,boost::_bi::list4<boost::_bi::value<std::shared_ptr<websocketpp::transport::asio::connection<websocketpp::config::debug_asio_tls::transport_config> > >,boost::_bi::value<std::shared_ptr<boost::asio::basic_waitable_timer<std::chrono::steady_clock,boost::asio::wait_traits<std::chrono::steady_clock>,boost::asio::waitable_timer_service<std::chrono::steady_clock,boost::asio::wait_traits<std::chrono::steady_clock> > > > >,boost::_bi::value<boost::function<void __cdecl(std::error_code const &)> >,boost::arg<1> > >::~bind_t<void,boost::_mfi::mf3<void,websocketpp::transport::asio::connection<websocketpp::config::debug_asio_tls::transport_config>,std::shared_ptr<boost::asio::basic_waitable_timer<std::chrono::steady_clock,boost::asio::wait_traits<std::chrono::steady_clock>,boost::asio::waitable_timer_service<std::chrono::steady_clock,boost::asio::wait_traits<std::chrono::steady_clock> > > >,boost::function<void __cdecl(std::error_code const &)>,boost::system::error_code const &>,boost::_bi::list4<boost::_bi::value<std::shared_ptr<websocketpp::transport::asio::connection<websocketpp::config::debug_asio_tls::transport_config> > >,boost::_bi::value<std::shared_ptr<boost::asio::basic_waitable_timer<std::chrono::steady_clock,boost::asio::wait_traits<std::chrono::steady_clock>,boost::asio::waitable_timer_service<std::chrono::steady_clock,boost::asio::wait_traits<std::chrono::steady_clock> > > > >,boost::_bi::value<boost::function<void __cdecl(std::error_code const &)> >,boost::arg<1> > >()C++
WoogeenConsoleTest.exe!boost::asio::detail::rewrapped_handler<boost::asio::detail::binder1<boost::asio::detail::wrapped_handler<boost::asio::io_service::strand,boost::_bi::bind_t<void,boost::_mfi::mf3<void,websocketpp::transport::asio::connection<websocketpp::config::debug_asio_tls::transport_config>,std::shared_ptr<boost::asio::basic_waitable_timer<std::chrono::steady_clock,boost::asio::wait_traits<std::chrono::steady_clock>,boost::asio::waitable_timer_service<std::chrono::steady_clock,boost::asio::wait_traits<std::chrono::steady_clock> > > >,boost::function<void __cdecl(std::error_code const &)>,boost::system::error_code const &>,boost::_bi::list4<boost::_bi::value<std::shared_ptr<websocketpp::transport::asio::connection<websocketpp::config::debug_asio_tls::transport_config> > >,boost::_bi::value<std::shared_ptr<boost::asio::basic_waitable_timer<std::chrono::steady_clock,boost::asio::wait_traits<std::chrono::steady_clock>,boost::asio::waitable_timer_service<std::chrono::steady_clock,boost::asio::wait_traits<std::chrono::steady_clock> > > > >,boost::_bi::value<boost::function<void __cdecl(std::error_code const &)> >,boost::arg<1> > >,boost::asio::detail::is_continuation_if_running>,boost::system::error_code>,boost::_bi::bind_t<void,boost::_mfi::mf3<void,websocketpp::transport::asio::connection<websocketpp::config::debug_asio_tls::transport_config>,std::shared_ptr<boost::asio::basic_waitable_timer<std::chrono::steady_clock,boost::asio::wait_traits<std::chrono::steady_clock>,boost::asio::waitable_timer_service<std::chrono::steady_clock,boost::asio::wait_traits<std::chrono::steady_clock> > > >,boost::function<void __cdecl(std::error_code const &)>,boost::system::error_code const &>,boost::_bi::list4<boost::_bi::value<std::shared_ptr<websocketpp::transport::asio::connection<websocketpp::config::debug_asio_tls::transport_config> > >,boost::_bi::value<std::shared_ptr<boost::asio::basic_waitable_timer<std::chrono::steady_clock,boost::asio::wait_traits<std::chrono::steady_clock>,boost::asio::waitable_timer_service<std::chrono::steady_clock,boost::asio::wait_traits<std::chrono::steady_clock> > > > >,boost::_bi::value<boost::function<void __cdecl(std::error_code const &)> >,boost::arg<1> > > >::~rewrapped_handler<boost::asio::detail::binder1<boost::asio::detail::wrapped_handler<boost::asio::io_service::strand,boost::_bi::bind_t<void,boost::_mfi::mf3<void,websocketpp::transport::asio::connection<websocketpp::config::debug_asio_tls::transport_config>,std::shared_ptr<boost::asio::basic_waitable_timer<std::chrono::steady_clock,boost::asio::wait_traits<std::chrono::steady_clock>,boost::asio::waitable_timer_service<std::chrono::steady_clock,boost::asio::wait_traits<std::chrono::steady_clock> > > >,boost::function<void __cdecl(std::error_code const &)>,boost::system::error_code const &>,boost::_bi::list4<boost::_bi::value<std::shared_ptr<websocketpp::transport::asio::connection<websocketpp::config::debug_asio_tls::transport_config> > >,boost::_bi::value<std::shared_ptr<boost::asio::basic_waitable_timer<std::chrono::steady_clock,boost::asio::wait_traits<std::chrono::steady_clock>,boost::asio::waitable_timer_service<std::chrono::steady_clock,boost::asio::wait_traits<std::chrono::steady_clock> > > > >,boost::_bi::value<boost::function<void __cdecl(std::error_code const &)> >,boost::arg<1> > >,boost::asio::detail::is_continuation_if_running>,boost::system::error_code>,boost::_bi::bind_t<void,boost::_mfi::mf3<void,websocketpp::transport::asio::connection<websocketpp::config::debug_asio_tls::transport_config>,std::shared_ptr<boost::asio::basic_waitable_timer<std::chrono::steady_clock,boost::asio::wait_traits<std::chrono::steady_clock>,boost::asio::waitable_timer_service<std::chrono::steady_clock,boost::asio::wait_traits<std::chrono::steady_clock> > > >,boost::function<void __cdecl(std::error_code const &)>,boost::system::error_code const &>,boost::_bi::list4<boost::_bi::value<std::shared_ptr<websocketpp::transport::asio::connection<websocketpp::config::debug_asio_tls::transport_config> > >,boost::_bi::value<std::shared_ptr<boost::asio::basic_waitable_timer<std::chrono::steady_clock,boost::asio::()C++
WoogeenConsoleTest.exe!boost::asio::detail::completion_handler<boost::asio::detail::rewrapped_handler<boost::asio::detail::binder1<boost::asio::detail::wrapped_handler<boost::asio::io_service::strand,boost::_bi::bind_t<void,boost::_mfi::mf3<void,websocketpp::transport::asio::connection<websocketpp::config::debug_asio_tls::transport_config>,std::shared_ptr<boost::asio::basic_waitable_timer<std::chrono::steady_clock,boost::asio::wait_traits<std::chrono::steady_clock>,boost::asio::waitable_timer_service<std::chrono::steady_clock,boost::asio::wait_traits<std::chrono::steady_clock> > > >,boost::function<void __cdecl(std::error_code const &)>,boost::system::error_code const &>,boost::_bi::list4<boost::_bi::value<std::shared_ptr<websocketpp::transport::asio::connection<websocketpp::config::debug_asio_tls::transport_config> > >,boost::_bi::value<std::shared_ptr<boost::asio::basic_waitable_timer<std::chrono::steady_clock,boost::asio::wait_traits<std::chrono::steady_clock>,boost::asio::waitable_timer_service<std::chrono::steady_clock,boost::asio::wait_traits<std::chrono::steady_clock> > > > >,boost::_bi::value<boost::function<void __cdecl(std::error_code const &)> >,boost::arg<1> > >,boost::asio::detail::is_continuation_if_running>,boost::system::error_code>,boost::_bi::bind_t<void,boost::_mfi::mf3<void,websocketpp::transport::asio::connection<websocketpp::config::debug_asio_tls::transport_config>,std::shared_ptr<boost::asio::basic_waitable_timer<std::chrono::steady_clock,boost::asio::wait_traits<std::chrono::steady_clock>,boost::asio::waitable_timer_service<std::chrono::steady_clock,boost::asio::wait_traits<std::chrono::steady_clock> > > >,boost::function<void __cdecl(std::error_code const &)>,boost::system::error_code const &>,boost::_bi::list4<boost::_bi::value<std::shared_ptr<websocketpp::transport::asio::connection<websocketpp::config::debug_asio_tls::transport_config> > >,boost::_bi::value<std::shared_ptr<boost::asio::basic_waitable_timer<std::chrono::steady_clock,boost::asio::wait_traits<std::chrono::steady_clock>,boost::asio::waitable_timer_service<std::chrono::steady_clock,boost::asio::wait_traits<std::chrono::steady_clock> > > > >,boost::_bi::value<boost::function<void __cdecl(std::error_code const &)> >,boost::arg<1> > > > >::do_complete(boost::asio::detail::win_iocp_io_service * owner, boost::asio::detail::win_iocp_operation * base, const boost::system::error_code & __formal, unsigned int __formal) Line 71C++
WoogeenConsoleTest.exe!??@3d6907229b4f277c7fdb4116819c12f9@(boost::asio::detail::strand_service::strand_impl * & impl, boost::asio::detail::rewrapped_handler<boost::asio::detail::binder1<boost::asio::detail::wrapped_handler<boost::asio::io_service::strand,boost::_bi::bind_t<void,boost::_mfi::mf3<void,websocketpp::transport::asio::connection<websocketpp::config::debug_asio_tls::transport_config>,std::shared_ptr<boost::asio::basic_waitable_timer<std::chrono::steady_clock,boost::asio::wait_traits<std::chrono::steady_clock>,boost::asio::waitable_timer_service<std::chrono::steady_clock,boost::asio::wait_traits<std::chrono::steady_clock> > > >,boost::function<void __cdecl(std::error_code const &)>,boost::system::error_code const &>,boost::_bi::list4<boost::_bi::value<std::shared_ptr<websocketpp::transport::asio::connection<websocketpp::config::debug_asio_tls::transport_config> > >,boost::_bi::value<std::shared_ptr<boost::asio::basic_waitable_timer<std::chrono::steady_clock,boost::asio::wait_traits<std::chrono::steady_clock>,boost::asio::waitable_timer_service<std::chrono::steady_clock,boost::asio::wait_traits<std::chrono::steady_clock> > > > >,boost::_bi::value<boost::function<void __cdecl(std::error_code const &)> >,boost::arg<1> > >,boost::asio::detail::is_continuation_if_running>,boost::system::error_code>,boost::_bi::bind_t<void,boost::_mfi::mf3<void,websocketpp::transport::asio::connection<websocketpp::config::debug_asio_tls::transport_config>,std::shared_ptr<boost::asio::basic_waitable_timer<std::chrono::steady_clock,boost::asio::wait_traits<std::chrono::steady_clock>,boost::asio::waitable_timer_service<std::chrono::steady_clock,boost::asio::wait_traits<std::chrono::steady_clock> > > >,boost::function<void __cdecl(std::error_code const &)>,boost::system::error_code const &>,boost::_bi::list4<boost::_bi::value<std::shared_ptr<websocketpp::transport::asio::connection<websocketpp::config::debug_asio_tls::transport_config> > >,boost::_bi::value<std::shared_ptr<boost::asio::basic_waitable_timer<std::chrono::steady_clock,boost::asio::wait_traits<std::chrono::steady_clock>,boost::asio::waitable_timer_service<std::chrono::steady_clock,boost::asio::wait_traits<std::chrono::steady_clock> > > > >,boost::_bi::value<boost::function<void __cdecl(std::error_code const &)> >,boost::arg<1> > > > & handler) Line 88C++
WoogeenConsoleTest.exe!??@0df5f076bbd04a3a81d66057c9adb268@(boost::asio::detail::rewrapped_handler<boost::asio::detail::binder1<boost::asio::detail::wrapped_handler<boost::asio::io_service::strand,boost::_bi::bind_t<void,boost::_mfi::mf3<void,websocketpp::transport::asio::connection<websocketpp::config::debug_asio_tls::transport_config>,std::shared_ptr<boost::asio::basic_waitable_timer<std::chrono::steady_clock,boost::asio::wait_traits<std::chrono::steady_clock>,boost::asio::waitable_timer_service<std::chrono::steady_clock,boost::asio::wait_traits<std::chrono::steady_clock> > > >,boost::function<void __cdecl(std::error_code const &)>,boost::system::error_code const &>,boost::_bi::list4<boost::_bi::value<std::shared_ptr<websocketpp::transport::asio::connection<websocketpp::config::debug_asio_tls::transport_config> > >,boost::_bi::value<std::shared_ptr<boost::asio::basic_waitable_timer<std::chrono::steady_clock,boost::asio::wait_traits<std::chrono::steady_clock>,boost::asio::waitable_timer_service<std::chrono::steady_clock,boost::asio::wait_traits<std::chrono::steady_clock> > > > >,boost::_bi::value<boost::function<void __cdecl(std::error_code const &)> >,boost::arg<1> > >,boost::asio::detail::is_continuation_if_running>,boost::system::error_code>,boost::_bi::bind_t<void,boost::_mfi::mf3<void,websocketpp::transport::asio::connection<websocketpp::config::debug_asio_tls::transport_config>,std::shared_ptr<boost::asio::basic_waitable_timer<std::chrono::steady_clock,boost::asio::wait_traits<std::chrono::steady_clock>,boost::asio::waitable_timer_service<std::chrono::steady_clock,boost::asio::wait_traits<std::chrono::steady_clock> > > >,boost::function<void __cdecl(std::error_code const &)>,boost::system::error_code const &>,boost::_bi::list4<boost::_bi::value<std::shared_ptr<websocketpp::transport::asio::connection<websocketpp::config::debug_asio_tls::transport_config> > >,boost::_bi::value<std::shared_ptr<boost::asio::basic_waitable_timer<std::chrono::steady_clock,boost::asio::wait_traits<std::chrono::steady_clock>,boost::asio::waitable_timer_service<std::chrono::steady_clock,boost::asio::wait_traits<std::chrono::steady_clock> > > > >,boost::_bi::value<boost::function<void __cdecl(std::error_code const &)> >,boost::arg<1> > > > && handler) Line 160C++
WoogeenConsoleTest.exe!??@d4c9529087a2349d1eae6a370978f754@(boost::asio::detail::binder1<boost::asio::detail::wrapped_handler<boost::asio::io_service::strand,boost::_bi::bind_t<void,boost::_mfi::mf3<void,websocketpp::transport::asio::connection<websocketpp::config::debug_asio_tls::transport_config>,std::shared_ptr<boost::asio::basic_waitable_timer<std::chrono::steady_clock,boost::asio::wait_traits<std::chrono::steady_clock>,boost::asio::waitable_timer_service<std::chrono::steady_clock,boost::asio::wait_traits<std::chrono::steady_clock> > > >,boost::function<void __cdecl(std::error_code const &)>,boost::system::error_code const &>,boost::_bi::list4<boost::_bi::value<std::shared_ptr<websocketpp::transport::asio::connection<websocketpp::config::debug_asio_tls::transport_config> > >,boost::_bi::value<std::shared_ptr<boost::asio::basic_waitable_timer<std::chrono::steady_clock,boost::asio::wait_traits<std::chrono::steady_clock>,boost::asio::waitable_timer_service<std::chrono::steady_clock,boost::asio::wait_traits<std::chrono::steady_clock> > > > >,boost::_bi::value<boost::function<void __cdecl(std::error_code const &)> >,boost::arg<1> > >,boost::asio::detail::is_continuation_if_running>,boost::system::error_code> & function, boost::asio::detail::wrapped_handler<boost::asio::io_service::strand,boost::_bi::bind_t<void,boost::_mfi::mf3<void,websocketpp::transport::asio::connection<websocketpp::config::debug_asio_tls::transport_config>,std::shared_ptr<boost::asio::basic_waitable_timer<std::chrono::steady_clock,boost::asio::wait_traits<std::chrono::steady_clock>,boost::asio::waitable_timer_service<std::chrono::steady_clock,boost::asio::wait_traits<std::chrono::steady_clock> > > >,boost::function<void __cdecl(std::error_code const &)>,boost::system::error_code const &>,boost::_bi::list4<boost::_bi::value<std::shared_ptr<websocketpp::transport::asio::connection<websocketpp::config::debug_asio_tls::transport_config> > >,boost::_bi::value<std::shared_ptr<boost::asio::basic_waitable_timer<std::chrono::steady_clock,boost::asio::wait_traits<std::chrono::steady_clock>,boost::asio::waitable_timer_service<std::chrono::steady_clock,boost::asio::wait_traits<std::chrono::steady_clock> > > > >,boost::_bi::value<boost::function<void __cdecl(std::error_code const &)> >,boost::arg<1> > >,boost::asio::detail::is_continuation_if_running> * this_handler) Line 232C++
WoogeenConsoleTest.exe!??@8e005d2b74b41711b4a32dcaa96172a8@(boost::asio::detail::binder1<boost::asio::detail::wrapped_handler<boost::asio::io_service::strand,boost::_bi::bind_t<void,boost::_mfi::mf3<void,websocketpp::transport::asio::connection<websocketpp::config::debug_asio_tls::transport_config>,std::shared_ptr<boost::asio::basic_waitable_timer<std::chrono::steady_clock,boost::asio::wait_traits<std::chrono::steady_clock>,boost::asio::waitable_timer_service<std::chrono::steady_clock,boost::asio::wait_traits<std::chrono::steady_clock> > > >,boost::function<void __cdecl(std::error_code const &)>,boost::system::error_code const &>,boost::_bi::list4<boost::_bi::value<std::shared_ptr<websocketpp::transport::asio::connection<websocketpp::config::debug_asio_tls::transport_config> > >,boost::_bi::value<std::shared_ptr<boost::asio::basic_waitable_timer<std::chrono::steady_clock,boost::asio::wait_traits<std::chrono::steady_clock>,boost::asio::waitable_timer_service<std::chrono::steady_clock,boost::asio::wait_traits<std::chrono::steady_clock> > > > >,boost::_bi::value<boost::function<void __cdecl(std::error_code const &)> >,boost::arg<1> > >,boost::asio::detail::is_continuation_if_running>,boost::system::error_code> & function, boost::asio::detail::wrapped_handler<boost::asio::io_service::strand,boost::_bi::bind_t<void,boost::_mfi::mf3<void,websocketpp::transport::asio::connection<websocketpp::config::debug_asio_tls::transport_config>,std::shared_ptr<boost::asio::basic_waitable_timer<std::chrono::steady_clock,boost::asio::wait_traits<std::chrono::steady_clock>,boost::asio::waitable_timer_service<std::chrono::steady_clock,boost::asio::wait_traits<std::chrono::steady_clock> > > >,boost::function<void __cdecl(std::error_code const &)>,boost::system::error_code const &>,boost::_bi::list4<boost::_bi::value<std::shared_ptr<websocketpp::transport::asio::connection<websocketpp::config::debug_asio_tls::transport_config> > >,boost::_bi::value<std::shared_ptr<boost::asio::basic_waitable_timer<std::chrono::steady_clock,boost::asio::wait_traits<std::chrono::steady_clock>,boost::asio::waitable_timer_service<std::chrono::steady_clock,boost::asio::wait_traits<std::chrono::steady_clock> > > > >,boost::_bi::value<boost::function<void __cdecl(std::error_code const &)> >,boost::arg<1> > >,boost::asio::detail::is_continuation_if_running> & context) Line 37C++
WoogeenConsoleTest.exe!boost::asio::detail::wait_handler<boost::asio::detail::wrapped_handler<boost::asio::io_service::strand,boost::_bi::bind_t<void,boost::_mfi::mf3<void,websocketpp::transport::asio::connection<websocketpp::config::debug_asio_tls::transport_config>,std::shared_ptr<boost::asio::basic_waitable_timer<std::chrono::steady_clock,boost::asio::wait_traits<std::chrono::steady_clock>,boost::asio::waitable_timer_service<std::chrono::steady_clock,boost::asio::wait_traits<std::chrono::steady_clock> > > >,boost::function<void __cdecl(std::error_code const &)>,boost::system::error_code const &>,boost::_bi::list4<boost::_bi::value<std::shared_ptr<websocketpp::transport::asio::connection<websocketpp::config::debug_asio_tls::transport_config> > >,boost::_bi::value<std::shared_ptr<boost::asio::basic_waitable_timer<std::chrono::steady_clock,boost::asio::wait_traits<std::chrono::steady_clock>,boost::asio::waitable_timer_service<std::chrono::steady_clock,boost::asio::wait_traits<std::chrono::steady_clock> > > > >,boost::_bi::value<boost::function<void __cdecl(std::error_code const &)> >,boost::arg<1> > >,boost::asio::detail::is_continuation_if_running> >::do_complete(boost::asio::detail::win_iocp_io_service * owner, boost::asio::detail::win_iocp_operation * base, const boost::system::error_code & __formal, unsigned int __formal) Line 70C++
WoogeenConsoleTest.exe!boost::asio::detail::win_iocp_operation::complete(boost::asio::detail::win_iocp_io_service & owner, const boost::system::error_code & ec, unsigned int bytes_transferred) Line 46C++
WoogeenConsoleTest.exe!boost::asio::detail::win_iocp_io_service::do_one(bool block, boost::system::error_code & ec) Line 406C++
WoogeenConsoleTest.exe!boost::asio::detail::win_iocp_io_service::run(boost::system::error_code & ec) Line 164C++
WoogeenConsoleTest.exe!boost::asio::io_service::run() Line 59C++
WoogeenConsoleTest.exe!websocketpp::transport::asio::endpoint<websocketpp::config::debug_asio_tls::transport_config>::run() Line 615C++
WoogeenConsoleTest.exe!sio::client_impl::run_loop() Line 195C++
WoogeenConsoleTest.exe!boost::_mfi::mf0<void,sio::client_impl>::operator()(sio::client_impl * p) Line 49C++
WoogeenConsoleTest.exe!boost::_bi::list1<boost::_bi::value<sio::client_impl *> >::operator()<boost::_mfi::mf0<void,sio::client_impl>,boost::_bi::list0>(boost::_bi::type<void> __formal, boost::_mfi::mf0<void,sio::client_impl> & f, boost::_bi::list0 & a, int __formal) Line 260C++
WoogeenConsoleTest.exe!boost::_bi::bind_t<void,boost::_mfi::mf0<void,sio::client_impl>,boost::_bi::list1<boost::_bi::value<sio::client_impl *> > >::operator()() Line 1295C++
WoogeenConsoleTest.exe!std::_Invoker_functor::_Call<boost::_bi::bind_t<void,boost::_mfi::mf0<void,sio::client_impl>,boost::_bi::list1<boost::_bi::value<sio::client_impl *> > > >(boost::_bi::bind_t<void,boost::_mfi::mf0<void,sio::client_impl>,boost::_bi::list1<boost::_bi::value<sio::client_impl *> > > && _Obj) Line 1377C++
WoogeenConsoleTest.exe!std::invoke<boost::_bi::bind_t<void,boost::_mfi::mf0<void,sio::client_impl>,boost::_bi::list1<boost::_bi::value<sio::client_impl *> > > >(boost::_bi::bind_t<void,boost::_mfi::mf0<void,sio::client_impl>,boost::_bi::list1<boost::_bi::value<sio::client_impl *> > > && _Obj) Line 1443C++
WoogeenConsoleTest.exe!std::_LaunchPad<std::unique_ptr<std::tuple<boost::_bi::bind_t<void,boost::_mfi::mf0<void,sio::client_impl>,boost::_bi::list1<boost::_bi::value<sio::client_impl *> > > >,std::default_delete<std::tuple<boost::_bi::bind_t<void,boost::_mfi::mf0<void,sio::client_impl>,boost::_bi::list1<boost::_bi::value<sio::client_impl *> > > > > > >::_Execute<0>(std::tuple<boost::_bi::bind_t<void,boost::_mfi::mf0<void,sio::client_impl>,boost::_bi::list1<boost::_bi::value<sio::client_impl *> > > > & _Tup, std::integer_sequence<unsigned int,0> __formal) Line 240C++
WoogeenConsoleTest.exe!std::_LaunchPad<std::unique_ptr<std::tuple<boost::_bi::bind_t<void,boost::_mfi::mf0<void,sio::client_impl>,boost::_bi::list1<boost::_bi::value<sio::client_impl *> > > >,std::default_delete<std::tuple<boost::_bi::bind_t<void,boost::_mfi::mf0<void,sio::client_impl>,boost::_bi::list1<boost::_bi::value<sio::client_impl *> > > > > > >::_Run(std::_LaunchPad<std::unique_ptr<std::tuple<boost::_bi::bind_t<void,boost::_mfi::mf0<void,sio::client_impl>,boost::_bi::list1<boost::_bi::value<sio::client_impl *> > > >,std::default_delete<std::tuple<boost::_bi::bind_t<void,boost::_mfi::mf0<void,sio::client_impl>,boost::_bi::list1<boost::_bi::value<sio::client_impl *> > > > > > > * _Ln) Line 247C++
WoogeenConsoleTest.exe!std::_LaunchPad<std::unique_ptr<std::tuple<boost::_bi::bind_t<void,boost::_mfi::mf0<void,sio::client_impl>,boost::_bi::list1<boost::_bi::value<sio::client_impl *> > > >,std::default_delete<std::tuple<boost::_bi::bind_t<void,boost::_mfi::mf0<void,sio::client_impl>,boost::_bi::list1<boost::_bi::value<sio::client_impl *> > > > > > >::_Go() Line 232C++
WoogeenConsoleTest.exe!std::_Pad::_Call_func(void *)Unknown
WoogeenConsoleTest.exe!invoke_thread_procedure(unsigned int(__stdcall*)(void *) procedure, void * const context) Line 92C++
WoogeenConsoleTest.exe!thread_start<unsigned int (__stdcall*)(void *)>(void * const parameter) Line 115C++
kernel32.dll!77643744()Unknown
ntdll.dll!77779e54()Unknown
ntdll.dll!77779e1f()Unknown
![](/skins/images/C4F7392A5C68ACA60290C9576F107044/responsive_peak/images/icon_anonymous_message.png)
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page