我已经为QNX ARM编译了gRPC。 使用此二进制文件,我试图在QNX 7.0上启动gRPC服务器。
但是可执行文件崩溃了。我试图使用GDB进行回溯。 这是日志-
#0 0x0000001c6c6c7fe4 in grpc_combiner_continue_exec_ctx () at /local/mnt/workspace/temp/grpc_for_qnx/src/core/lib/iomgr/combiner.cc:184
#1 0x0000001c6c6702a8 in grpc_core::ExecCtx::Flush (this=this@entry=0x3607c0e890) at /local/mnt/workspace/temp/grpc_for_qnx/src/core/lib/iomgr/exec_ctx.cc:156
#2 0x0000001f137baf80 in grpc_core::ExecCtx::~ExecCtx (this=0x3607c0e890, __in_chrg=<optimized out>) at /local/mnt/workspace/temp/grpc_for_qnx/src/core/lib/iomgr/exec_ctx.h:124
#3 grpc_server_add_insecure_http2_port (server=<optimized out>, addr=0x178cee0111 "0.0.0.0:62472")
at /local/mnt/workspace/temp/grpc_for_qnx/src/core/ext/transport/chttp2/server/insecure/server_chttp2.cc:31
#4 0x0000001f137a2658 in grpc_impl::Server::AddListeningPort (this=0x178cf06bd0, addr=..., creds=0x178ceae6d0)
at /local/mnt/workspace/temp/grpc_for_qnx/src/cpp/server/server_cc.cc:1199
#5 0x0000001f137a082c in grpc_impl::ServerBuilder::BuildAndStart (this=this@entry=0x3607c0ec88) at /local/mnt/workspace/temp/grpc_for_qnx/src/cpp/server/server_builder.cc:411
#6 0x0000001f13796874 in qaic::QMonitorTaskStarter::startGRPCServerHelper (this=0x3607b8daf0, config=..., readyStatus=..., asyncTestSupport=false)
at /local/mnt/workspace/qnx/runtime/lib/qmonitor/src/QMonitorTaskStarter.cpp:89
#7 0x0000001f1379a9b8 in std::__1::__invoke<void (qaic::QMonitorTaskStarter::*)(qaic::QMonitorGRPCTaskConfig const&, std::__1::promise<QStatus>, bool), qaic::QMonitorTaskStarter*, qaic::QMonitorGRPCTaskConfig, std::__1::promise<QStatus>, bool, void>(void (qaic::QMonitorTaskStarter::*&&)(qaic::QMonitorGRPCTaskConfig const&, std::__1::promise<QStatus>, bool), qaic::QMonitorTaskStarter*&&, qaic::QMonitorGRPCTaskConfig&&, std::__1::promise<QStatus>&&, bool&&) (__a0=<optimized out>, __f=<optimized out>)
at /local/mnt/workspace/prebuilt_QNX700/target/qnx7/usr/include/c++/v1/__functional_base:382
#8 std::__1::__thread_execute<void (qaic::QMonitorTaskStarter::*)(qaic::QMonitorGRPCTaskConfig const&, std::__1::promise<QStatus>, bool), qaic::QMonitorTaskStarter*, qaic::QMonitorGRPCTaskConfig, std::__1::promise<QStatus>, bool, 1ul, 2ul, 3ul, 4ul> (__t=...)
at /local/mnt/workspace/prebuilt_QNX700/target/qnx7/usr/include/c++/v1/thread:337
#9 std::__1::__thread_proxy<std::__1::tuple<void (qaic::QMonitorTaskStarter::*)(qaic::QMonitorGRPCTaskConfig const&, std::__1::promise<QStatus>, bool), qaic::QMonitorTaskStarter*, qaic::QMonitorGRPCTaskConfig, std::__1::promise<QStatus>, bool> > (__vp=0x178cee0490)
at /local/mnt/workspace/prebuilt_QNX700/target/qnx7/usr/include/c++/v1/thread:347
#10 0x0000001c6c0334e0 in pthread_attr_setdetachstate ()
from /local/mnt/workspace/prebuilt_QNX700/target/qnx7/aarch64le/usr/lib/ldqnx-64.so.2
Backtrace stopped: previous frame identical to this frame (corrupt stack?)
有人有什么线索吗,应该是什么问题。由于我是gRPC的新手,因此我对此一无所知。