Greetings, I am trying to implement a gRPC++-based communication channel between two different applications that need to share data. I have started by exploring the route-guide example from the gRPC documentation and it worked fine. Because the last call to Wait() for the server blocks the server application, I modified the example code to encapsulate the server in a QThread (my software is Qt-based). Worked like a charm.
Then I tried to implement something analogous but with my own protobufs describing the data that need to travel between my programs. Because I implemented all the gRPC-related code in a lib, I can use the exact same server/client code in my two programs. However, to start simple, I initially tested the client/server operation using one of the two programs only as described below. The general working scheme is this: in the program opens a client/server management dialog where the user starts the server on 0.0.0.0:50051 (like the route-guide working example). The server is started inside a QThread so that the application interface is not blocked. From the same dialog, the user starts the client directing it to the same address:port as the server. The interesting observation is that if I try to make a client/server connection between two different running sessions of the same program (from one running program start the server and then from the other running program start the client), the connection fails. However, I know that the server is actually started and works, because if I start the server and then the client from the *same* running program, then the connection succeeds. In the case where I run the server and the client from two distinct sessions of the program, I cannot figure out if the connection is made. This is what I get on the console where the client is run from the second program session (the output starts at the moment that the client makes the data request via the service Stub). Can somebody help me understand the odd difference between success with server/client communications inside the same running program and the failure with server/client communications from two different running sessions of the same program ? Most sincerely Filippo I0329 14:32:44.442756843 568412 init.cc:147] grpc_init(void) I0329 14:32:44.442782870 568412 completion_queue.cc:510] grpc_completion_queue_create_internal(completion_type=1, polling_type=0) I0329 14:32:44.442795924 568412 channel.cc:397] grpc_channel_create_registered_call(channel=0x7f231c007a50, parent_call=(nil), propagation_mask=ffff, completion_queue=0x55cea142afd0, registered_call_handle=0x55cea123e8e0, deadline=gpr_timespec { tv_sec: 9223372036854775807, tv_nsec: 0, clock_type: 1 }, reserved=(nil)) I0329 14:32:44.442869621 568412 grpc_context.cc:31] grpc_census_call_set_context(call=0x55cea191ea90, census_context=(nil)) I0329 14:32:44.442921879 568412 call.cc:2956] grpc_call_start_batch(call=0x55cea191ea90, ops=0x7ffd77794d50, nops=6, tag=0x7ffd77795060, reserved=(nil)) I0329 14:32:44.442935427 568412 call.cc:1365] ops[0]: SEND_INITIAL_METADATA(nil) I0329 14:32:44.442939297 568412 call.cc:1365] ops[1]: SEND_MESSAGE ptr=0x55cea1624320 I0329 14:32:44.442942038 568412 call.cc:1365] ops[2]: RECV_INITIAL_METADATA ptr=0x7ffd77795560 I0329 14:32:44.442944090 568412 call.cc:1365] ops[3]: RECV_MESSAGE ptr=0x7ffd777950f0 I0329 14:32:44.442945962 568412 call.cc:1365] ops[4]: SEND_CLOSE_FROM_CLIENT I0329 14:32:44.442948514 568412 call.cc:1365] ops[5]: RECV_STATUS_ON_CLIENT metadata=0x7ffd777955b0 status=0x7ffd77795128 details=0x7ffd77795130 I0329 14:32:44.443235565 568412 init.cc:147] grpc_init(void) I0329 14:32:44.443565961 568412 tcp_client_posix.cc:378] CLIENT_CONNECT: ipv4:0.0.0.0:50051: asynchronously connecting fd 0x55cea145dba0 I0329 14:32:44.443668199 568412 tcp_client_posix.cc:173] CLIENT_CONNECT: ipv4:0.0.0.0:50051: on_writable: error=OK I0329 14:32:44.443690758 568412 ref_counted.h:83] tcp:0x55cea123e028 ./src/core/lib/iomgr/tcp_posix.cc:2020 ref 1 -> 2 error-tracking I0329 14:32:44.443716126 568412 tcp_client_posix.cc:134] CLIENT_CONNECT: ipv4:0.0.0.0:50051: on_alarm: error=CANCELLED I0329 14:32:44.443749998 568831 security_context.cc:271] grpc_auth_context_add_cstring_property(ctx=0x7f230c000b90, name=transport_security_type, value=insecure) I0329 14:32:44.443773448 568831 security_context.cc:250] grpc_auth_context_add_property(ctx=0x7f230c000b90, name=security_level, value=TSI_SECURITY_NONE, value_length=17) I0329 14:32:44.443804483 568831 init.cc:147] grpc_init(void) I0329 14:32:44.443878960 568831 chttp2_transport.cc:756] W:0x7f230c001210 CLIENT [ipv4:0.0.0.0:50051] state IDLE -> WRITING [TRANSPORT_FLOW_CONTROL] I0329 14:32:44.443885010 568831 chttp2_transport.cc:756] W:0x7f230c001210 CLIENT [ipv4:0.0.0.0:50051] state WRITING -> WRITING+MORE [INITIAL_WRITE] I0329 14:32:44.443909038 568831 ref_counted.h:83] tcp:0x55cea123e028 ./src/core/lib/iomgr/tcp_posix.cc:1151 ref 2 -> 3 read I0329 14:32:44.443911915 568831 tcp_posix.cc:669] TCP:0x55cea123e000 notify_on_read I0329 14:32:44.443916223 568831 chttp2_transport.cc:2617] ipv4:0.0.0.0:50051: Keepalive ping cancelled. Resetting timer. I0329 14:32:44.443929488 568831 chttp2_transport.cc:756] W:0x7f230c001210 CLIENT [ipv4:0.0.0.0:50051] state WRITING+MORE -> WRITING [begin write in current thread] I0329 14:32:44.443933109 568831 tcp_posix.cc:1823] WRITE 0x55cea123e000 (peer=ipv4:0.0.0.0:50051) D0329 14:32:44.443941318 568831 tcp_posix.cc:1827] WRITE DATA: 50 52 49 20 2a 20 48 54 54 50 2f 32 2e 30 0d 0a 0d 0a 53 4d 0d 0a 0d 0a 'PRI * HTTP/2.0....SM....' I0329 14:32:44.443943839 568831 tcp_posix.cc:1823] WRITE 0x55cea123e000 (peer=ipv4:0.0.0.0:50051) D0329 14:32:44.443946663 568831 tcp_posix.cc:1827] WRITE DATA: 00 00 24 04 00 00 00 00 00 00 02 00 00 00 00 00 03 00 00 00 00 00 04 00 3f ff ff 00 05 00 3f ff ff 00 06 00 00 20 00 fe 03 00 00 00 01 '..$.....................?.....?...... .......' I0329 14:32:44.443950056 568831 tcp_posix.cc:1823] WRITE 0x55cea123e000 (peer=ipv4:0.0.0.0:50051) D0329 14:32:44.443952283 568831 tcp_posix.cc:1827] WRITE DATA: 00 00 04 08 00 00 00 00 00 00 3f 00 00 '..........?..' I0329 14:32:44.444006450 568831 tcp_posix.cc:1871] write: OK I0329 14:32:44.444009359 568831 chttp2_transport.cc:756] W:0x7f230c001210 CLIENT [ipv4:0.0.0.0:50051] state WRITING -> IDLE [finish writing] I0329 14:33:04.443648289 568833 chttp2_transport.cc:2737] transport 0x7f230c001210 set connectivity_state=4 I0329 14:33:04.444055387 568833 tcp_posix.cc:1112] TCP:0x55cea123e000 got_read: UNKNOWN:FD Shutdown {file:"./src/core/lib/iomgr/lockfree_event.cc", file_line:200, created_time:"2024-03-29T14:33:04.443674616+01:00", children:[UNKNOWN:Transport destroyed {file:"./src/core/ext/transport/chttp2/transport/chttp2_transport.cc", file_line:541, created_time:"2024-03-29T14:33:04.443630951+01:00", occurred_during_write:0, grpc_status:14}]} I0329 14:33:04.444065903 568833 ref_counted.h:179] tcp:0x55cea123e028 ./src/core/lib/iomgr/tcp_posix.cc:1137 unref 3 -> 2 read I0329 14:33:04.444079374 568833 tcp_posix.cc:1456] TCP:0x55cea123e000 got_error: UNKNOWN:FD Shutdown {file:"./src/core/lib/iomgr/lockfree_event.cc", file_line:200, created_time:"2024-03-29T14:33:04.443753415+01:00", children:[UNKNOWN:Transport destroyed {grpc_status:14, occurred_during_write:0, created_time:"2024-03-29T14:33:04.443630951+01:00", file_line:541, file:"./src/core/ext/transport/chttp2/transport/chttp2_transport.cc"}]} I0329 14:33:04.444085818 568833 ref_counted.h:179] tcp:0x55cea123e028 ./src/core/lib/iomgr/tcp_posix.cc:1464 unref 2 -> 1 error-tracking I0329 14:33:04.444115447 568833 subchannel.cc:908] subchannel 0x55cea1275250 {address=ipv4:0.0.0.0:50051, args={grpc.client_channel_factory=0x55cea164f4e0, grpc.default_authority=0.0.0.0:50051, grpc.internal.channel_credentials=0x55cea164f4a0, grpc.internal.event_engine=0x55cea123da00, grpc.internal.security_connector=0x7f231c017a40, grpc.internal.subchannel_pool=0x55cea1626130, grpc.primary_user_agent=grpc-c++/1.51.1, grpc.resource_quota=0x55cea12159e0, grpc.server_uri=dns:///0.0.0.0:50051}}: connect failed (UNKNOWN:connection attempt timed out before receiving SETTINGS frame {file:"./src/core/ext/transport/chttp2/client/chttp2_connector.cc", file_line:231, created_time:"2024-03-29T14:33:04.443602656+01:00"}), backing off for -19000 ms I0329 14:33:04.444240699 568833 completion_queue.cc:772] cq_end_op_for_pluck(cq=0x55cea142afd0, tag=0x7ffd77795060, error=OK, done=0x7f23337033a0, done_arg=0x55cea191fb40, storage=0x55cea191fbb0) I0329 14:33:04.444272130 568833 ref_counted.h:179] tcp:0x55cea123e028 ./src/core/lib/iomgr/tcp_posix.cc:777 unref 1 -> 0 destroy I0329 14:33:04.444318139 568833 init.cc:175] grpc_shutdown(void) I0329 14:33:04.444316764 568412 completion_queue.cc:1294] RETURN_EVENT[0x55cea142afd0]: OP_COMPLETE: tag:0x7ffd77795060 OK I0329 14:33:04.444357474 568412 completion_queue.cc:1398] grpc_completion_queue_destroy(cq=0x55cea142afd0) I0329 14:33:04.444363308 568412 completion_queue.cc:1393] grpc_completion_queue_shutdown(cq=0x55cea142afd0) I0329 14:33:04.444370267 568412 init.cc:175] grpc_shutdown(void) Debug: /home/rusconi/devel/massxpert2/development/libmass/src/RouteGuideClient.cpp:82 grpc::Status msxps::libmass::RouteGuideClient::featureRequest(const msxps::libmass::rpc::Point&, msxps::libmass::rpc::FeatureResponse*) Failed to get feature by RPC: 14 "failed to connect to all addresses; last error: UNKNOWN: ipv4:0.0.0.0:50051: connection attempt timed out before receiving SETTINGS frame" "" I0329 14:33:04.444409527 568412 call.cc:774] grpc_call_unref(c=0x55cea191ea90) I0329 14:33:04.444471881 568412 metadata_array.cc:36] grpc_metadata_array_destroy(array=0x7ffd777955b0) I0329 14:33:04.444478057 568412 metadata_array.cc:36] grpc_metadata_array_destroy(array=0x7ffd77795560) Debug: /home/rusconi/devel/massxpert2/development/libmass/src/RouteGuideClient.cpp:109 void msxps::libmass::RouteGuideClient::requestFeature() Failed to get feature by RPC: 14 "failed to connect to all addresses; last error: UNKNOWN: ipv4:0.0.0.0:50051: connection attempt timed out before receiving SETTINGS frame" "" Debug: /home/rusconi/devel/massxpert2/development/libmass/src/RouteGuideClient.cpp:97 void msxps::libmass::RouteGuideClient::requestFeature() QTimer-based request of a feature from client to server. Debug: /home/rusconi/devel/massxpert2/development/libmass/src/RouteGuideClient.cpp:99 void msxps::libmass::RouteGuideClient::requestFeature() Now requesting feature via the Stub. Debug: /home/rusconi/devel/massxpert2/development/libmass/src/RouteGuideClient.cpp:71 grpc::Status msxps::libmass::RouteGuideClient::featureRequest(const msxps::libmass::rpc::Point&, msxps::libmass::rpc::FeatureResponse*) Going to request feature from server. Debug: /home/rusconi/devel/massxpert2/development/libmass/src/RouteGuideClient.cpp:75 grpc::Status msxps::libmass::RouteGuideClient::featureRequest(const msxps::libmass::rpc::Point&, msxps::libmass::rpc::FeatureResponse*) Now requesting feature via the Stub. I0329 14:33:04.444581029 568412 init.cc:147] grpc_init(void) I0329 14:33:04.444587655 568412 completion_queue.cc:510] grpc_completion_queue_create_internal(completion_type=1, polling_type=0) I0329 14:33:04.444595990 568412 channel.cc:397] grpc_channel_create_registered_call(channel=0x7f231c007a50, parent_call=(nil), propagation_mask=ffff, completion_queue=0x55cea1217500, registered_call_handle=0x55cea123e8e0, deadline=gpr_timespec { tv_sec: 9223372036854775807, tv_nsec: 0, clock_type: 1 }, reserved=(nil)) I0329 14:33:04.444607565 568412 grpc_context.cc:31] grpc_census_call_set_context(call=0x55cea191ea90, census_context=(nil)) I0329 14:33:04.444624799 568412 call.cc:2956] grpc_call_start_batch(call=0x55cea191ea90, ops=0x7ffd77794d50, nops=6, tag=0x7ffd77795060, reserved=(nil)) I0329 14:33:04.444632070 568412 call.cc:1365] ops[0]: SEND_INITIAL_METADATA(nil) I0329 14:33:04.444635532 568412 call.cc:1365] ops[1]: SEND_MESSAGE ptr=0x55cea1624320 I0329 14:33:04.444638390 568412 call.cc:1365] ops[2]: RECV_INITIAL_METADATA ptr=0x7ffd77795560 I0329 14:33:04.444641059 568412 call.cc:1365] ops[3]: RECV_MESSAGE ptr=0x7ffd777950f0 I0329 14:33:04.444643565 568412 call.cc:1365] ops[4]: SEND_CLOSE_FROM_CLIENT I0329 14:33:04.444646741 568412 call.cc:1365] ops[5]: RECV_STATUS_ON_CLIENT metadata=0x7ffd777955b0 status=0x7ffd77795128 details=0x7ffd77795130 I0329 14:33:04.444722672 568412 completion_queue.cc:772] cq_end_op_for_pluck(cq=0x55cea1217500, tag=0x7ffd77795060, error=OK, done=0x7f23337033a0, done_arg=0x55cea191fb40, storage=0x55cea191fbb0) I0329 14:33:04.444734839 568412 completion_queue.cc:1294] RETURN_EVENT[0x55cea1217500]: OP_COMPLETE: tag:0x7ffd77795060 OK I0329 14:33:04.444743132 568412 completion_queue.cc:1398] grpc_completion_queue_destroy(cq=0x55cea1217500) I0329 14:33:04.444746848 568412 completion_queue.cc:1393] grpc_completion_queue_shutdown(cq=0x55cea1217500) I0329 14:33:04.444750605 568412 init.cc:175] grpc_shutdown(void) Debug: /home/rusconi/devel/massxpert2/development/libmass/src/RouteGuideClient.cpp:82 grpc::Status msxps::libmass::RouteGuideClient::featureRequest(const msxps::libmass::rpc::Point&, msxps::libmass::rpc::FeatureResponse*) Failed to get feature by RPC: 14 "failed to connect to all addresses; last error: UNKNOWN: ipv4:0.0.0.0:50051: connection attempt timed out before receiving SETTINGS frame" "" I0329 14:33:04.444766071 568412 call.cc:774] grpc_call_unref(c=0x55cea191ea90) I0329 14:33:04.444781734 568412 metadata_array.cc:36] grpc_metadata_array_destroy(array=0x7ffd777955b0) I0329 14:33:04.444786913 568412 metadata_array.cc:36] grpc_metadata_array_destroy(array=0x7ffd77795560) Debug: /home/rusconi/devel/massxpert2/development/libmass/src/RouteGuideClient.cpp:109 void msxps::libmass::RouteGuideClient::requestFeature() Failed to get feature by RPC: 14 "failed to connect to all addresses; last error: UNKNOWN: ipv4:0.0.0.0:50051: connection attempt timed out before receiving SETTINGS frame" "" I0329 14:33:04.446343247 568837 subchannel.cc:866] subchannel 0x55cea1275250 {address=ipv4:0.0.0.0:50051, args={grpc.client_channel_factory=0x55cea164f4e0, grpc.default_authority=0.0.0.0:50051, grpc.internal.channel_credentials=0x55cea164f4a0, grpc.internal.event_engine=0x55cea123da00, grpc.internal.security_connector=0x7f231c017a40, grpc.internal.subchannel_pool=0x55cea1626130, grpc.primary_user_agent=grpc-c++/1.51.1, grpc.resource_quota=0x55cea12159e0, grpc.server_uri=dns:///0.0.0.0:50051}}: backoff delay elapsed, reporting IDLE I0329 14:33:04.446472045 568837 tcp_client_posix.cc:378] CLIENT_CONNECT: ipv4:0.0.0.0:50051: asynchronously connecting fd 0x55cea145dba0 I0329 14:33:06.448429416 568890 tcp_client_posix.cc:173] CLIENT_CONNECT: ipv4:0.0.0.0:50051: on_writable: error=OK I0329 14:33:06.448497501 568890 ref_counted.h:83] tcp:0x7f2298000c78 ./src/core/lib/iomgr/tcp_posix.cc:2020 ref 1 -> 2 error-tracking I0329 14:33:06.448504765 568890 tcp_client_posix.cc:134] CLIENT_CONNECT: ipv4:0.0.0.0:50051: on_alarm: error=CANCELLED I0329 14:33:06.448602866 568831 security_context.cc:271] grpc_auth_context_add_cstring_property(ctx=0x7f230c003410, name=transport_security_type, value=insecure) I0329 14:33:06.448612438 568831 security_context.cc:250] grpc_auth_context_add_property(ctx=0x7f230c003410, name=security_level, value=TSI_SECURITY_NONE, value_length=17) I0329 14:33:06.448631736 568831 init.cc:147] grpc_init(void) I0329 14:33:06.448651077 568831 chttp2_transport.cc:756] W:0x7f230c0036e0 CLIENT [ipv4:0.0.0.0:50051] state IDLE -> WRITING [TRANSPORT_FLOW_CONTROL] I0329 14:33:06.448654277 568831 chttp2_transport.cc:756] W:0x7f230c0036e0 CLIENT [ipv4:0.0.0.0:50051] state WRITING -> WRITING+MORE [INITIAL_WRITE] I0329 14:33:06.448667523 568831 ref_counted.h:83] tcp:0x7f2298000c78 ./src/core/lib/iomgr/tcp_posix.cc:1151 ref 2 -> 3 read I0329 14:33:06.448669813 568831 tcp_posix.cc:669] TCP:0x7f2298000c50 notify_on_read I0329 14:33:06.448672526 568831 chttp2_transport.cc:2617] ipv4:0.0.0.0:50051: Keepalive ping cancelled. Resetting timer. I0329 14:33:06.448677393 568831 chttp2_transport.cc:756] W:0x7f230c0036e0 CLIENT [ipv4:0.0.0.0:50051] state WRITING+MORE -> WRITING [begin write in current thread] I0329 14:33:06.448679728 568831 tcp_posix.cc:1823] WRITE 0x7f2298000c50 (peer=ipv4:0.0.0.0:50051) D0329 14:33:06.448682902 568831 tcp_posix.cc:1827] WRITE DATA: 50 52 49 20 2a 20 48 54 54 50 2f 32 2e 30 0d 0a 0d 0a 53 4d 0d 0a 0d 0a 'PRI * HTTP/2.0....SM....' I0329 14:33:06.448686074 568831 tcp_posix.cc:1823] WRITE 0x7f2298000c50 (peer=ipv4:0.0.0.0:50051) D0329 14:33:06.448688734 568831 tcp_posix.cc:1827] WRITE DATA: 00 00 24 04 00 00 00 00 00 00 02 00 00 00 00 00 03 00 00 00 00 00 04 00 3f ff ff 00 05 00 3f ff ff 00 06 00 00 20 00 fe 03 00 00 00 01 '..$.....................?.....?...... .......' I0329 14:33:06.448691786 568831 tcp_posix.cc:1823] WRITE 0x7f2298000c50 (peer=ipv4:0.0.0.0:50051) D0329 14:33:06.448693751 568831 tcp_posix.cc:1827] WRITE DATA: 00 00 04 08 00 00 00 00 00 00 3f 00 00 '..........?..' I0329 14:33:06.448750248 568831 tcp_posix.cc:1871] write: OK I0329 14:33:06.448752739 568831 chttp2_transport.cc:756] W:0x7f230c0036e0 CLIENT [ipv4:0.0.0.0:50051] state WRITING -> IDLE [finish writing] Debug: /home/rusconi/devel/massxpert2/development/libmass/src/RouteGuideClient.cpp:97 void msxps::libmass::RouteGuideClient::requestFeature() QTimer-based request of a feature from client to server. Debug: /home/rusconi/devel/massxpert2/development/libmass/src/RouteGuideClient.cpp:99 void msxps::libmass::RouteGuideClient::requestFeature() Now requesting feature via the Stub. Debug: /home/rusconi/devel/massxpert2/development/libmass/src/RouteGuideClient.cpp:71 grpc::Status msxps::libmass::RouteGuideClient::featureRequest(const msxps::libmass::rpc::Point&, msxps::libmass::rpc::FeatureResponse*) Going to request feature from server. Debug: /home/rusconi/devel/massxpert2/development/libmass/src/RouteGuideClient.cpp:75 grpc::Status msxps::libmass::RouteGuideClient::featureRequest(const msxps::libmass::rpc::Point&, msxps::libmass::rpc::FeatureResponse*) Now requesting feature via the Stub. I0329 14:33:07.443449105 568412 init.cc:147] grpc_init(void) I0329 14:33:07.443466359 568412 completion_queue.cc:510] grpc_completion_queue_create_internal(completion_type=1, polling_type=0) I0329 14:33:07.443477369 568412 channel.cc:397] grpc_channel_create_registered_call(channel=0x7f231c007a50, parent_call=(nil), propagation_mask=ffff, completion_queue=0x55cea142cbe0, registered_call_handle=0x55cea123e8e0, deadline=gpr_timespec { tv_sec: 9223372036854775807, tv_nsec: 0, clock_type: 1 }, reserved=(nil)) I0329 14:33:07.443495097 568412 grpc_context.cc:31] grpc_census_call_set_context(call=0x55cea191ea90, census_context=(nil)) I0329 14:33:07.443514859 568412 call.cc:2956] grpc_call_start_batch(call=0x55cea191ea90, ops=0x7ffd77794d50, nops=6, tag=0x7ffd77795060, reserved=(nil)) I0329 14:33:07.443523549 568412 call.cc:1365] ops[0]: SEND_INITIAL_METADATA(nil) I0329 14:33:07.443527147 568412 call.cc:1365] ops[1]: SEND_MESSAGE ptr=0x55cea1624320 I0329 14:33:07.443529879 568412 call.cc:1365] ops[2]: RECV_INITIAL_METADATA ptr=0x7ffd77795560 I0329 14:33:07.443532502 568412 call.cc:1365] ops[3]: RECV_MESSAGE ptr=0x7ffd777950f0 I0329 14:33:07.443534875 568412 call.cc:1365] ops[4]: SEND_CLOSE_FROM_CLIENT I0329 14:33:07.443537841 568412 call.cc:1365] ops[5]: RECV_STATUS_ON_CLIENT metadata=0x7ffd777955b0 status=0x7ffd77795128 details=0x7ffd77795130 I0329 14:33:07.443621611 568412 completion_queue.cc:772] cq_end_op_for_pluck(cq=0x55cea142cbe0, tag=0x7ffd77795060, error=OK, done=0x7f23337033a0, done_arg=0x55cea191fb40, storage=0x55cea191fbb0) I0329 14:33:07.443635198 568412 completion_queue.cc:1294] RETURN_EVENT[0x55cea142cbe0]: OP_COMPLETE: tag:0x7ffd77795060 OK I0329 14:33:07.443644835 568412 completion_queue.cc:1398] grpc_completion_queue_destroy(cq=0x55cea142cbe0) I0329 14:33:07.443648668 568412 completion_queue.cc:1393] grpc_completion_queue_shutdown(cq=0x55cea142cbe0) I0329 14:33:07.443653693 568412 init.cc:175] grpc_shutdown(void) Debug: /home/rusconi/devel/massxpert2/development/libmass/src/RouteGuideClient.cpp:82 grpc::Status msxps::libmass::RouteGuideClient::featureRequest(const msxps::libmass::rpc::Point&, msxps::libmass::rpc::FeatureResponse*) Failed to get feature by RPC: 14 "failed to connect to all addresses; last error: UNKNOWN: ipv4:0.0.0.0:50051: connection attempt timed out before receiving SETTINGS frame" "" I0329 14:33:07.443675657 568412 call.cc:774] grpc_call_unref(c=0x55cea191ea90) I0329 14:33:07.443697717 568412 metadata_array.cc:36] grpc_metadata_array_destroy(array=0x7ffd777955b0) I0329 14:33:07.443702990 568412 metadata_array.cc:36] grpc_metadata_array_destroy(array=0x7ffd77795560) Debug: /home/rusconi/devel/massxpert2/development/libmass/src/RouteGuideClient.cpp:109 void msxps::libmass::RouteGuideClient::requestFeature() Failed to get feature by RPC: 14 "failed to connect to all addresses; last error: UNKNOWN: ipv4:0.0.0.0:50051: connection attempt timed out before receiving SETTINGS frame" "" Debug: /home/rusconi/devel/massxpert2/development/libmass/src/RouteGuideClient.cpp:97 void msxps::libmass::RouteGuideClient::requestFeature() QTimer-based request of a feature from client to server. Debug: /home/rusconi/devel/massxpert2/development/libmass/src/RouteGuideClient.cpp:99 void msxps::libmass::RouteGuideClient::requestFeature() Now requesting feature via the Stub. Debug: /home/rusconi/devel/massxpert2/development/libmass/src/RouteGuideClient.cpp:71 grpc::Status msxps::libmass::RouteGuideClient::featureRequest(const msxps::libmass::rpc::Point&, msxps::libmass::rpc::FeatureResponse*) Going to request feature from server. Debug: /home/rusconi/devel/massxpert2/development/libmass/src/RouteGuideClient.cpp:75 grpc::Status msxps::libmass::RouteGuideClient::featureRequest(const msxps::libmass::rpc::Point&, msxps::libmass::rpc::FeatureResponse*) -- You received this message because you are subscribed to the Google Groups "grpc.io" group. To unsubscribe from this group and stop receiving emails from it, send an email to grpc-io+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/grpc-io/10d7cfc4-77b5-4b3c-b48d-3bdd23ec9a60n%40googlegroups.com.