|
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.
|