I am trying to run a very basic example of gRPC client and server with SSL
Client sends just one request and server sends back just one response.
Client and server are running on the same machine in this case WSL (Ubuntu 
18.04) on Windows 10

What I am observing is that SSL handshake pass successful.
Server receives the client request.
Server state changes to WRITING
Server state changes from WRITING to IDLE
At this point an error occurs "*Endpoint read failed*"
Server transport state changes to SHUTDOWN

This is reproducible every time
NOTE: I have read about other issues related to the same type of error on 
the client side but here it appears to be on the server side

Both client and server are running on node 8.12.0
gRPC package version is 1.15.1

*Logs from the server (starting after HANDSHAKE is completed):*
I1018 12:09:53.858667100   12206 ssl_transport_security.cc:213]      
 HANDSHAKE DONE - SSL negotiation finished succe  - SSLOK
I1018 12:09:53.858721000   12206 tcp_custom.cc:234]          WRITE 
0x3b71470 (peer=ipv4:127.0.0.1:60785): 16 03 03 00 ba 04 00 00 b6 00 00 1c 
20 00 b0 d5 8a 01 11 37 2c 68 06 ab
19 0a 63 13 8c 83 f0 1f 32 21 ee c8 06 73 65 10 7d 27 33 1f 7a 50 cb dc 32 
ca 7d 90 7b 4e 42 7d a1 2a b5 49 de 29 86 eb 23 33 31 12 f2 e7 76 1a 4a f1 
43 c3 cf 62 03 6f 31 6c c8 14 ac 81 5a cb fd 3c b1 2c fc 95 e6 86 0b 22 4e 
7a a3 94 8f 46 2a d6 fe 52 97 16 55 85 49 89 6b 0d ea bd f5 5f 82 f9 ea 96 
64 05 43 f3 13 33 8d 52 2e 26 ca cf a2 fa 43 05 1f ea 2b 40 14 07 79 3e 3c 
e3 ba 5b 83 3a 56 fd b1 79 29 30 30 7e 44 eb 3f b1 75 b1 7a c7 67 64 06 2f 
33 d8 2e 6d 84 3a 2e 1f c7 11 38 68 45 04 bb c4 67 14 03 03 00 01 01 16 03 
03 00 28
3d 5b 96 9e 87 a7 a0 eb c2 19 88 a0 3c 35 01 d6 c8 db 4a 83 6c 24 1b d8 86 
24 f2 5d 52 54 18 d2 c3 53 e8 dc 8c c8 f1 45 '............ 
......7,h....c.....2!...se.}'3.zP..2.}.{NB}.*.I.)..#31...v.J.C..b.o1l....Z..<.,....."Nz...F*..R..U.I.k...._....d.C..3.R.&[email protected]><..[.:V..y)00~D.?.u.z.gd./3..m.:....8hE...g..........(=[..........<5....J.l$...$.]RT...S.....E'
I1018 12:09:53.858876600   12206 tcp_custom.cc:217]          write complete 
on 0x3b71470: error="No Error"
I1018 12:09:53.858947400   12206 security_context.cc:295]    
grpc_auth_context_add_cstring_property(ctx=0x3b5e4c0, 
name=transport_security_type, value=ssl)
I1018 12:09:53.858997800   12206 security_context.cc:279]    
grpc_auth_context_add_property(ctx=0x3b5e4c0, name=ssl_session_reused, 
value=false, value_length=5)
I1018 12:09:53.859073400   12206 handshaker.cc:212]          
handshake_manager 0x3b73130: error="No Error" shutdown=0 index=1, 
args={endpoint=0x3b759f0, args=0x3b764a0 {size=4: 
grpc.primary_user_agent=grpc-node/1.15.1, 
grpc.server_credentials=0x3a41540, grpc.security_connector=0x3a4f220, 
grpc.auth_context=0x3b5e4c0}, read_buffer=0x3b14310 (length=0), 
exit_early=0}
I1018 12:09:53.859141800   12206 handshaker.cc:245]          
handshake_manager 0x3b73130: handshaking complete -- scheduling 
on_handshake_done with error="No Error"
I1018 12:09:53.859269800   12206 bdp_estimator.h:53]        
 bdp[ipv4:127.0.0.1:60785]:sched acc=0 est=65536
I1018 12:09:53.859344000   12206 chttp2_transport.cc:813]    W:0x3b2e980 
SERVER state IDLE -> WRITING [TRANSPORT_FLOW_CONTROL]
I1018 12:09:53.859398300   12206 chttp2_transport.cc:813]    W:0x3b2e980 
SERVER state WRITING -> WRITING+MORE [INITIAL_WRITE]
I1018 12:09:53.859480700   12206 chttp2_transport.cc:1822]  
 perform_transport_op[t=0x3b2e980]: 
ON_CONNECTIVITY_STATE_CHANGE:p=0x3b29208:from=IDLE 
SET_ACCEPT_STREAM:0x7fd4b8b52eb0(0x3b291a0,...)
I1018 12:09:53.859547100   12206 connectivity_state.cc:116]  CONWATCH: 
0x3b2ec20 server_transport: from IDLE [cur=READY] notify=0x3b29208
I1018 12:09:53.859602400   12206 chttp2_transport.cc:1822]  
 perform_transport_op[t=0x3b2e980]: 
ON_CONNECTIVITY_STATE_CHANGE:p=0x3b29208:from=READY
I1018 12:09:53.859651900   12206 resource_quota.cc:873]      RQ 
anonymous_pool_3b6e0f0 ipv4:127.0.0.1:60785: alloc 8192; free_pool -> 0
I1018 12:09:53.859701300   12206 tcp_custom.cc:174]          TCP:0x3b71470 
read_allocation_done: "No Error"
I1018 12:09:53.859749800   12206 tcp_custom.cc:191]          Initiating 
read on 0x3b71470: error="No Error"
I1018 12:09:53.859797300   12206 connectivity_state.cc:116]  CONWATCH: 
0x3b2ec20 server_transport: from READY [cur=READY] notify=0x3b29208
D1018 12:09:53.859860800   12206 flow_control.cc:113]        
0x3b2ffc0[0][svr] | t updt sent | trw:                         65535, ttw:  
                     4194304, taw:
       65535 -> 4194304, srw:                              , slw:          
                    , saw:
I1018 12:09:53.859936000   12206 writing.cc:110]             SERVER: Ping 
sent [0x3b735f0]: 2/2
I1018 12:09:53.859986400   12206 chttp2_transport.cc:813]    W:0x3b2e980 
SERVER state WRITING+MORE -> WRITING [begin write in current thread]
I1018 12:09:53.860036800   12206 secure_endpoint.cc:272]     WRITE 
0x3b759f0: 00 00 18 04 00 00 00 00 00 00 04 00 40 00 00 00 05 00 40 00 00 
00 06 00 00 20 00 fe 03 00 00 00 01 '............@.....@...... .......'
I1018 12:09:53.860107600   12206 secure_endpoint.cc:272]     WRITE 
0x3b759f0: 00 00 04 08 00 00 00 00 00 00 3f 00 01 00 00 08 06 00 00 00 00 
00 00 '..........?............'
I1018 12:09:53.860156600   12206 secure_endpoint.cc:272]     WRITE 
0x3b759f0: 00 00 00 00 00 00 00 '.......'
I1018 12:09:53.860213800   12206 tcp_custom.cc:234]          WRITE 
0x3b71470 (peer=ipv4:127.0.0.1:60785): 17 03 03 00 57 3d 5b 96 9e 87 a7 a0 
ec d8 76 f1 55 85 bf 6c dd bb f6 c2
c0 5c 54 09 27 64 e9 4b ae c0 d8 6d 96 f5 e3 8a b6 5f ea 9d c6 df 85 35 d9 
bd 1b eb 61 ba a5 8a bb e1 d9 9e c0 a3 0c 74 c4 70 ff 0a 11 d4 d2 99 14 e7 
fc 6f 9c 36 d3 a9 62 d3 d1 da d3 a7 48 3d 1f e9 93 44 
'....W=[.......v.U..l.....\T.'d.K...m....._.....5....a..........t.p.........o.6..b.....H=...D'
I1018 12:09:53.860315600   12206 chttp2_transport.cc:2553]  
 ipv4:127.0.0.1:60785: Start BDP ping err="No Error"
I1018 12:09:53.860377200   12206 bdp_estimator.h:66]        
 bdp[ipv4:127.0.0.1:60785]:start acc=0 est=65536
I1018 12:09:53.860476100   12206 tcp_custom.cc:217]          write complete 
on 0x3b71470: error="No Error"
I1018 12:09:53.860524600   12206 chttp2_transport.cc:813]    W:0x3b2e980 
*SERVER 
state WRITING -> IDLE *[finish writing]
I1018 12:09:53.860575000   12206 completion_queue.cc:954]    
grpc_completion_queue_next(cq=0x3b152f0, deadline=gpr_timespec { tv_sec: 
-9223372036854775808, tv_nsec: 0, clock_type: 0 }, reserved=(nil))
I1018 12:09:53.860630800   12206 completion_queue.cc:1054]  
 RETURN_EVENT[0x3b152f0]: QUEUE_TIMEOUT
I1018 12:09:53.860701600   12206 resource_quota.cc:896]      RQ 
anonymous_pool_3b6e0f0 ipv4:127.0.0.1:60785: free 8192; free_pool -> 8192
I1018 12:09:53.860750000   12206 tcp_custom.cc:128]          TCP:0x3b71470 
call_cb 0x3b75a48 0x7fd4b8bb5740:0x3b759f0
I1018 12:09:53.860806300   12206 tcp_custom.cc:132]          read: *error=*
{"created":"@1539853793.860693800","description":"EOF","file":"../deps/grpc/src/core/lib/iomgr/tcp_uv.cc","file_line":107}
I1018 12:09:53.860869300   12206 chttp2_transport.cc:2743]   set 
connectivity_state=4
I1018 12:09:53.860928500   12206 connectivity_state.cc:164]  SET: 0x3b2ec20 
server_transport: READY --> SHUTDOWN [close_transport] error=0x3b5dc90 
{"created":"@1539853793.860862000","description":"*Endpoint read 
failed*","file":"../deps/grpc/src/core/ext/transport/chttp2/transport/chttp2_transport.cc","file_line":2467,"grpc_status":14,"occurred_during_write":0,"referenced_errors":[{"created":"@1539853793.860860600","description":"Secure
 
read 
failed","file":"../deps/grpc/src/core/lib/security/transport/secure_endpoint.cc","file_line":156,"referenced_errors":[{"created":"@1539853793.860693800","description":"EOF","file":"../deps/grpc/src/core/lib/iomgr/tcp_uv.cc","file_line":107}]}]}
I1018 12:09:53.861054000   12206 connectivity_state.cc:190]  NOTIFY: 
0x3b2ec20 server_transport: 0x3b29208
I1018 12:09:53.861149600   12206 tcp_custom.cc:286]          TCP 0x3b71470 
shutdown why={"created":"@1539853793.860862000","description":"Endpoint 
read 
failed","file":"../deps/grpc/src/core/ext/transport/chttp2/transport/chttp2_transport.cc","file_line":2467,"grpc_status":14,"occurred_during_write":0,"referenced_errors":[{"created":"@1539853793.860860600","description":"Secure
 
read 
failed","file":"../deps/grpc/src/core/lib/security/transport/secure_endpoint.cc","file_line":156,"referenced_errors":[{"created":"@1539853793.860693800","description":"EOF","file":"../deps/grpc/src/core/lib/iomgr/tcp_uv.cc","file_line":107}]}]}
I1018 12:09:53.861245100   12206 server.cc:426]              Disconnected 
client: {"created":"@1539853793.860862000","description":"Endpoint read 
failed","file":"../deps/grpc/src/core/ext/transport/chttp2/transport/chttp2_transport.cc","file_line":2467,"grpc_status":14,"occurred_during_write":0,"referenced_errors":[{"created":"@1539853793.860860600","description":"Secure
 
read 
failed","file":"../deps/grpc/src/core/lib/security/transport/secure_endpoint.cc","file_line":156,"referenced_errors":[{"created":"@1539853793.860693800","description":"EOF","file":"../deps/grpc/src/core/lib/iomgr/tcp_uv.cc","file_line":107}]}]}
I1018 12:09:53.861328500   12206 chttp2_transport.cc:1822]  
 perform_transport_op[t=0x3b2e980]: SET_ACCEPT_STREAM:(nil)((nil),...)
I1018 12:09:53.861393400   12206 chttp2_transport.cc:2566]  
 ipv4:127.0.0.1:60785: Complete BDP ping 
err={"created":"@1539853793.860862000","description":"Endpoint read 
failed","file":"../deps/grpc/src/core/ext/transport/chttp2/transport/chttp2_transport.cc","file_line":2467,"occurred_during_write":0,"referenced_errors":[{"created":"@1539853793.860860600","description":"Secure
 
read 
failed","file":"../deps/grpc/src/core/lib/security/transport/secure_endpoint.cc","file_line":156,"referenced_errors":[{"created":"@1539853793.860693800","description":"EOF","file":"../deps/grpc/src/core/lib/iomgr/tcp_uv.cc","file_line":107}]}]}
I1018 12:09:53.861499100   12206 resource_quota.cc:532]      RU shutdown 
0x3b70ee0
I1018 12:09:53.861564600   12206 completion_queue.cc:954]    
grpc_completion_queue_next(cq=0x3b152f0, deadline=gpr_timespec { tv_sec: 
-9223372036854775808, tv_nsec: 0, clock_type: 0 }, reserved=(nil))
I1018 12:09:53.861662000   12206 completion_queue.cc:1054]  
 RETURN_EVENT[0x3b152f0]: QUEUE_TIMEOUT
I1018 12:09:55.603482700   12206 completion_queue.cc:954]    
grpc_completion_queue_next(cq=0x3b152f0, deadline=gpr_timespec { tv_sec: 
-9223372036854775808, tv_nsec: 0, clock_type: 0 }, reserved=(nil))
I1018 12:09:55.610302100   12206 completion_queue.cc:1054]  
 RETURN_EVENT[0x3b152f0]: QUEUE_TIMEOUT
I1018 12:09:55.701036800   12206 completion_queue.cc:954]    
grpc_completion_queue_next(cq=0x3b152f0, deadline=gpr_timespec { tv_sec: 
-9223372036854775808, tv_nsec: 0, clock_type: 0 }, reserved=(nil))
I1018 12:09:55.714192200   12206 completion_queue.cc:1054]  
 RETURN_EVENT[0x3b152f0]: QUEUE_TIMEOUT
I1018 12:09:55.785706000   12206 completion_queue.cc:954]    
grpc_completion_queue_next(cq=0x3b152f0, deadline=gpr_timespec { tv_sec: 
-9223372036854775808, tv_nsec: 0, clock_type: 0 }, reserved=(nil))
I1018 12:09:55.792353300   12206 completion_queue.cc:1054]  
 RETURN_EVENT[0x3b152f0]: QUEUE_TIMEOUT
I1018 12:09:55.869137400   12206 completion_queue.cc:954]    
grpc_completion_queue_next(cq=0x3b152f0, deadline=gpr_timespec { tv_sec: 
-9223372036854775808, tv_nsec: 0, clock_type: 0 }, reserved=(nil))
I1018 12:09:55.875613500   12206 completion_queue.cc:1054]  
 RETURN_EVENT[0x3b152f0]: QUEUE_TIMEOUT
I1018 12:09:55.952253600   12206 completion_queue.cc:954]    
grpc_completion_queue_next(cq=0x3b152f0, deadline=gpr_timespec { tv_sec: 
-9223372036854775808, tv_nsec: 0, clock_type: 0 }, reserved=(nil))
I1018 12:09:55.958769600   12206 completion_queue.cc:1054]  
 RETURN_EVENT[0x3b152f0]: QUEUE_TIMEOUT
I1018 12:09:56.037989600   12206 completion_queue.cc:954]    
grpc_completion_queue_next(cq=0x3b152f0, deadline=gpr_timespec { tv_sec: 
-9223372036854775808, tv_nsec: 0, clock_type: 0 }, reserved=(nil))
I1018 12:09:56.045105600   12206 completion_queue.cc:1054]  
 RETURN_EVENT[0x3b152f0]: QUEUE_TIMEOUT
I1018 12:09:56.114108900   12206 completion_queue.cc:954]    
grpc_completion_queue_next(cq=0x3b152f0, deadline=gpr_timespec { tv_sec: 
-9223372036854775808, tv_nsec: 0, clock_type: 0 }, reserved=(nil))
I1018 12:09:56.120438600   12206 completion_queue.cc:1054]  
 RETURN_EVENT[0x3b152f0]: QUEUE_TIMEOUT
I1018 12:11:53.852811100   12206 chttp2_transport.cc:1822]  
 perform_transport_op[t=0x3b2e980]: 
DISCONNECT:{"created":"@1539853913.852758200","description":"Did not 
receive HTTP/2 settings before handshake 
timeout","file":"../deps/grpc/src/core/ext/transport/chttp2/server/chttp2_server.cc","file_line":91}
I1018 12:11:53.854777100   12206 completion_queue.cc:954]    
grpc_completion_queue_next(cq=0x3b152f0, deadline=gpr_timespec { tv_sec: 
-9223372036854775808, tv_nsec: 0, clock_type: 0 }, reserved=(nil))
I1018 12:11:53.855295400   12206 completion_queue.cc:1054]  
 RETURN_EVENT[0x3b152f0]: QUEUE_TIMEOUT
I1018 12:11:53.855814700   12206 completion_queue.cc:954]    
grpc_completion_queue_next(cq=0x3b152f0, deadline=gpr_timespec { tv_sec: 
-9223372036854775808, tv_nsec: 0, clock_type: 0 }, reserved=(nil))
I1018 12:11:53.856325700   12206 completion_queue.cc:1054]  
 RETURN_EVENT[0x3b152f0]: QUEUE_TIMEOUT




-- 
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 [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/grpc-io.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/grpc-io/2df76544-c10d-4917-8066-63cae15b13b4%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to