Skip to content

libcpprest.so.2.10 crashed with a nonexistent URL instead of throwing exception #1519

Closed
@everdancer

Description

@everdancer

I intentionally used an invalid URL to create http_client, e.g. mp_client = new http_client(U("http://not.present.site.com"));, then I started a GET request. I expected an exception, but the process crashed directly.

Program terminated with signal 11, Segmentation fault.
#0 0x00007f490a8aad13 in boost::asio::detail::socket_ops::translate_addrinfo_error(int) () from /cpprest/libcpprest.so.2.10
Missing separate debuginfos, use: debuginfo-install apr-1.4.8-5.el7.x86_64 apr-util-1.5.2-6.el7.x86_64 cyrus-sasl-lib-2.1.26-23.el7.x86_64 expat-2.1.0-11.el7.x86_64 glibc-2.17-307.el7.1.x86_64 keyutils-libs-1.5.8-3.el7.4 log4cxx-0.10.0-16.el7.x86_64 nspr-4.21.0-1.el7.x86_64 nss-3.44.0-7.el7_7.x86_64 nss-softokn-freebl-3.44.0-8.el7_7.x86_64 nss-util-3.44.0-4.el7_7.x86_64 openldap-2.4.44-21.el7_6.x86_64 openssl-libs-1.0.2k-19.el7.x86_64
(gdb) bt
#0 0x00007f490a8aad13 in boost::asio::detail::socket_ops::translate_addrinfo_error(int) () from /cpprest/libcpprest.so.2.10
#1 0x00007f490a93ed51 in boost::asio::detail::resolve_query_op<boost::asio::ip::tcp, boost::_bi::bind_t<void, boost::_mfi::mf2<void, web::http::client::details::asio_context, boost::system::error_code const&, boost::aste(void*, boost::asio::detail::scheduler_operation*, boost::system::error_code const&, unsigned long) () from /cpprest/libcpprest.so.2.10
#2 0x00007f490a8af1ab in boost::asio::detail::scheduler::run(boost::system::error_code&) () from /cpprest/libcpprest.so.2.10
#3 0x00007f490a8b3c1c in boost::asio::detail::posix_thread::funcboost::asio::detail::resolver_service_base::work_io_context_runner::run() () from /cpprest/libcpprest.so.2.10
#4 0x00007f490a8a06ef in boost_asio_detail_posix_thread_function () from /cpprest/libcpprest.so.2.10
#5 0x00007f49098cdea5 in start_thread () from /lib64/libpthread.so.0
#6 0x00007f49095f68dd in clone () from /lib64/libc.so.6

I'm using the latest release of sdk, OS is CentOS7, and boost version is 1.69.0.
Is this a case where exception is not supported yet?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions