microsoft / cpprestsdk

The C++ REST SDK is a Microsoft project for cloud-based client-server communication in native code using a modern asynchronous C++ API design. This project aims to help C++ developers connect to and interact with services.
Other
7.89k stars 1.63k forks source link

using cpprest and segmentation fault on ubuntu 22.04 #1791

Open xyq-c-cpp opened 2 months ago

xyq-c-cpp commented 2 months ago

my program used cpprest on ubuntu 22.04, and it got segmentation fault while running the program.

here is the crash program brack trace:

0 0x00007f53caa5dec4 in EVP_KEYMGMT_get0_name () from /lib/x86_64-linux-gnu/libcrypto.so.3

1 0x00007f53caa6c517 in ?? () from /lib/x86_64-linux-gnu/libcrypto.so.3

2 0x00007f53cb9963d3 in SSL_CTX_new_ex () from /lib/x86_64-linux-gnu/libssl.so.3

3 0x00007f53cb4f8540 in web::http::client::details::asio_connection::upgrade_to_ssl(std::__cxx11::basic_string<char, std::char_traits, std::allocator >&&, std::function<void (boost::asio::ssl::context&)> const&) () from /lib/x86_64-linux-gnu/libcpprest.so.2.10

4 0x00007f53cb5238b4 in web::http::client::details::asio_context::ssl_proxy_tunnel::handle_status_line(boost::system::error_code const&) () from /lib/x86_64-linux-gnu/libcpprest.so.2.10

5 0x00007f53cb5038be in boost::asio::detail::read_until_delim_string_op_v1<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::execution::any_executor<boost::asio::execution::context_as_t<boost::asio::execution_context&>, boost::asio::execution::detail::blocking::never_t<0>, boost::asio::execution::prefer_only<boost::asio::execution::detail::blocking::possibly_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::tracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::untracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::fork_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::continuation_t<0> > > >, boost::asio::basic_streambuf_ref<std::allocator >, boost::_bi::bind_t<void, boost::_mfi::mf1<void, web::http::client::details::asio_context::ssl_proxy_tunnel, boost::system::error_code const&>, boost::_bi::list2<boost::_bi::value<std::shared_ptr >, boost::arg<1> (*)()> > >::operator()(boost::system::error_code const&, unsigned long, int) () from /lib/x86_64-linux-gnu/libcpprest.so.2.10

6 0x00007f53cb504232 in boost::asio::detail::reactive_socket_recv_op<boost::asio::mutable_buffers_1, boost::asio::detail::read_until_delim_string_op_v1<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::execution::any_executor<boost::asio::execution::context_as_t<boost::asio::execution_context&>, boost::asio::execution::detail::blocking::never_t<0>, boost::asio::execution::prefer_only<boost::asio::execution::detail::blocking::possibly_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::tracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::untracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::fork_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::continuation_t<0> > > >, boost::asio::basic_streambuf_ref<std::allocator >, boost::_bi::bind_t<void, boost::_mfi::mf1<void, web::http::client::details::asio_context::ssl_proxy_tunnel, boost::system::error_code const&>, boost::_bi::list2<boost::_bi::value<std::shared_ptr >, boost::arg<1> ()()> > >, boost::asio::execution::any_executor<boost::asio::execution::context_as_t<boost::asio::execution_context&>, boost::asio::execution::detail::blocking::never_t<0>, boost::asio::execution::prefer_only<boost::asio::execution::detail::blocking::possibly_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::tracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::untracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::fork_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::continuation_t<0> > > >::do_complete(void, boost::asio::detail::scheduler_operation*, boost::system::error_code const&, unsigned long) ()

from /lib/x86_64-linux-gnu/libcpprest.so.2.10

7 0x00007f53cb44b61e in boost::asio::detail::scheduler::do_run_one(boost::asio::detail::conditionally_enabled_mutex::scoped_lock&, boost::asio::detail::scheduler_thread_info&, boost::system::error_code const&) () from /lib/x86_64-linux-gnu/libcpprest.so.2.10

8 0x00007f53cb451a81 in boost::asio::detail::scheduler::run(boost::system::error_code&) () from /lib/x86_64-linux-gnu/libcpprest.so.2.10

9 0x00007f53cb4ea792 in ?? () from /lib/x86_64-linux-gnu/libcpprest.so.2.10

10 0x00007f53cb441804 in boost_asio_detail_posix_thread_function () from /lib/x86_64-linux-gnu/libcpprest.so.2.10

11 0x00007f53ccd07ac3 in start_thread (arg=) at ./nptl/pthread_create.c:442

12 0x00007f53ccd98a04 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:100

Program terminated with signal SIGSEGV, Segmentation fault.

i wanna know what is the proble? how can i fix it?

xyq-c-cpp commented 2 months ago
another detail info:
root@1159ad3e320b:~/bin# cat /etc/issue
Ubuntu 22.04.3 LTS \n \l

root@1159ad3e320b:~/bin# uname -a 
Linux 1159ad3e320b 5.15.0-100-generic #110-Ubuntu SMP Wed Feb 7 13:27:48 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux
root@1159ad3e320b:~/bin# 
root@1159ad3e320b:~/bin# whereis libcpprest.so 
libcpprest.so: /usr/lib/x86_64-linux-gnu/libcpprest.so