cpprestsdk icon indicating copy to clipboard operation
cpprestsdk copied to clipboard

using cpprest and segmentation fault on ubuntu 22.04

Open xyq-c-cpp opened this issue 9 months ago • 1 comments

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_tboost::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_ptrweb::http::client::details::asio_context::ssl_proxy_tunnel >, 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_tboost::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_ptrweb::http::client::details::asio_context::ssl_proxy_tunnel >, boost::arg<1> ()()> > >, boost::asio::execution::any_executor<boost::asio::execution::context_as_tboost::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 avatar May 08 '24 08:05 xyq-c-cpp

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

xyq-c-cpp avatar May 08 '24 08:05 xyq-c-cpp

can you share ther source code to reproduce it?

giorgiozoppi avatar Aug 05 '24 15:08 giorgiozoppi

had resolved. no problem.

xyq-c-cpp avatar Aug 07 '24 05:08 xyq-c-cpp

had resolved. no problem.

how did you solve it, can you share some info with me? thanks very much.

yangqun avatar Sep 08 '24 17:09 yangqun