From: Max M. <ma...@kt...> - 2011-01-21 08:08:53
|
Hi! See below for my call stack information at the moment of error. I will try to investigate a little on my own, even though I am not very experienced at c++ or boost. For convieniency, here is the method that seems to fail: boost::asio::ip::address_v4 address::to_v4() const { if (type_ != ipv4) { std::bad_cast ex; boost::throw_exception(ex); } return ipv4_address_; } Seems that type_ != ipv4, though I have no idea why. It seems to be some win-specific implementation above in the stack-trace, which would explain why it works on Ubuntu. Sorry if I am wasting your time! Best regards, Max Malmgren KernelBase.dll!76bcb727() [Frames below may be incorrect and/or missing, no symbols loaded for KernelBase.dll] KernelBase.dll!76bcb727() msvcr100.dll!std::bad_cast::bad_cast(const std::bad_cast & that) Line 75 + 0x10 bytes C++ 81fd17b7() msvcr100.dll!_CxxThrowException(void * pExceptionObject, const _s__ThrowInfo * pThrowInfo) Line 157 C++ NativeCodeTest.exe!boost::throw_exception<std::bad_cast>(const std::bad_cast & e) Line 61 + 0x2e bytes C++ > NativeCodeTest.exe!boost::asio::ip::address::to_v4() Line 91 C++ NativeCodeTest.exe!boost::network::http::async_connection<boost::network::http::tags::http_async_server,proxy::ASyncProxy>::start() Line 313 + 0x5a bytes C++ NativeCodeTest.exe!boost::network::http::async_server_base<boost::network::http::tags::http_async_server,proxy::ASyncProxy>::handle_accept(const boost::system::error_code & ec) Line 71 C++ NativeCodeTest.exe!boost::asio::asio_handler_invoke<boost::asio::detail::binder1<boost::_bi::bind_t<void,boost::_mfi::mf1<void,boost::network::http::sync_server_base<boost::network::http::tags::http_server,proxy::SyncProxy>,boost::system::error_code const &>,boost::_bi::list2<boost::_bi::value<boost::network::http::sync_server_base<boost::network::http::tags::http_server,proxy::SyncProxy> *>,boost::arg<1> > >,boost::system::error_code> >(boost::asio::detail::binder1<boost::_bi::bind_t<void,boost::_mfi::mf1<void,boost::network::http::sync_server_base<boost::network::http::tags::http_server,proxy::SyncProxy>,boost::system::error_code const &>,boost::_bi::list2<boost::_bi::value<boost::network::http::sync_server_base<boost::network::http::tags::http_server,proxy::SyncProxy> *>,boost::arg<1> > >,boost::system::error_code> function, ...) Line 65 C++ NativeCodeTest.exe!boost::asio::detail::win_iocp_socket_accept_op<boost::asio::basic_socket<boost::asio::ip::tcp,boost::asio::stream_socket_service<boost::asio::ip::tcp> >,boost::asio::ip::tcp,boost::_bi::bind_t<void,boost::_mfi::mf1<void,boost::network::http::async_server_base<boost::network::http::tags::http_async_server,proxy::ASyncProxy>,boost::system::error_code const &>,boost::_bi::list2<boost::_bi::value<boost::network::http::async_server_base<boost::network::http::tags::http_async_server,proxy::ASyncProxy> *>,boost::arg<1> > > >::do_complete(boost::asio::detail::win_iocp_io_service * owner, boost::asio::detail::win_iocp_operation * base, boost::system::error_code ec, unsigned int __formal) Line 136 + 0x2a bytes C++ NativeCodeTest.exe!boost::asio::detail::win_iocp_io_service::do_one(bool block, boost::system::error_code & ec) Line 386 + 0x10 bytes C++ NativeCodeTest.exe!boost::asio::detail::win_iocp_io_service::run(boost::system::error_code & ec) Line 160 + 0xb bytes C++ NativeCodeTest.exe!boost::asio::io_service::run() Line 58 C++ NativeCodeTest.exe!proxy::ASyncProxy::startProxy(std::basic_string<char,std::char_traits<char>,std::allocator<char> > url, std::basic_string<char,std::char_traits<char>,std::allocator<char> > port) Line 14 C++ NativeCodeTest.exe!StartASyncProxy(char * port, char * url) Line 64 C++ NativeCodeTest.exe!main() Line 76 + 0xf bytes C++ NativeCodeTest.exe!__tmainCRTStartup() Line 555 + 0x17 bytes C kernel32.dll!76363677() ntdll.dll!776b9d42() ntdll.dll!776b9d15() ________________________________________ From: Oleg Malashenko [ole...@gm...] Sent: Friday, January 21, 2011 2:39 AM To: C++ Networking Library Developers Mailing List Subject: Re: [cpp-netlib-devel] cpp-netlib async server request - bad cast exception thrown Hello, Max, On 21.01.2011 00:41, Max Malmgren wrote: > Originally I got a compile error, but once I included boost/or.hpp in > the boost/network/version.hpp file it compiled. However, it still > does not work on my windows distribution, while it does on my ubuntu > distribution. I still get a bad_cast exception thrown. Can you please run it under MSVS debugger and post a backtrace from the point where exception is thrown? It shouldn't be a problem. -- Best regards, Oleg Malashenko. |