Repository navigation
Description
Problem description
After several hours of uptime, all new unary gRPC calls (Subscribe) from our Node client stop transmitting over TCP.
At the application layer, client.Subscribe() appears to execute normally and logs “write called,” but when inspecting with tcpdump, no new TCP traffic is sent — only the periodic gRPC HTTP/2 ping/pong frames.
Restarting the Node process or explicitly closing and recreating the client fixes it immediately (new TCP SYN, new subchannel, traffic resumes).
This strongly suggests the internal HTTP/2 subchannel or transport remains “READY” but is stuck / non-functional — effectively a ghost connection.
Environment
Library: @grpc/grpc-js
Version: 1.14.0
Node.js: v20.x
OS: Rocky Linux 9
Connection: direct TCP (no proxy / load balancer)
Server: C++ gRPC v1.62.0
RPCs used:
Unary: Subscribe, Unsubscribe
Server streaming: MvrStream, BckPypStream (always open)
Reproduction steps
Reproduction pattern
Start client and server.
Client opens two persistent streaming RPCs (MvrStream, BckPypStream) and periodically issues unary RPCs Subscribe(account_id, study_type) every few minutes.
Everything works fine for a few hours.
After several hours of uptime (typically 3–5h), all new Subscribe calls silently hang — no callback, no error.
Verbose gRPC logs still show write() called, halfClose called.
tcpdump shows only small 17-byte packets every 5s (keepalive ping/pong). No new HEADERS/DATA frames leave the client.
Restarting the client (new channel) immediately restores functionality.
Expected behavior
When client.Subscribe() is called, gRPC should open a new HTTP/2 stream and send the unary request.
Actual behavior
The call remains pending indefinitely.
No outbound network traffic occurs (only keepalive).
Channel state remains READY — no reconnects triggered.
Manual client.close() + recreate fixes it instantly.
tcpdump evidence
(Port 50051; 10.18.35.30 = server)
Only ping/pong frames observed:
05:11:25.084 IP 10.18.35.20.52840 > 10.18.35.30.50051: Flags [P.], seq 620:637, ack 264, win 125, length 17
05:11:25.085 IP 10.18.35.30.50051 > 10.18.35.20.52840: Flags [P.], seq 264:281, ack 637, win 501, length 17
No new TCP frames (DATA/HEADERS) appear when Subscribe() is invoked.
gRPC debug logs around the stall
D | resolving_call | [76330] write() called with message of length 11
D | resolving_call | [76330] halfClose called
D | load_balancing_call | [76333] Pick result: COMPLETE subchannel: (2) 10.18.35.30:50051 status: undefined undefined
D | subchannel_call | [9] sending data chunk of length 11
after hours...
D | resolving_call | [0] write() called with message of length 16
but no subchannel_call send or receive
After this point, pings continue, but no new outbound streams appear.
Analysis
It looks like the subchannel’s Http2Session remains open and ping/pong-responsive, but stops issuing new stream IDs.
grpc-js continues to route new calls to this “READY” subchannel, which never transmits.
This is effectively a zombie subchannel:
TCP connection alive (ping ACKs).
gRPC channel stuck in READY.
New calls never written to the wire.
Activity
engulfing-marubozu commentedon Oct 10, 2025
node js logs after running grpc in debug mode.
you can see the Subscribe get a reply from server in starting calls but only half calls (req) can be seen later.
{"timestamp":"2025-10-10T12:20:05.380Z","level":"INFO","service":"SocketIO","environment":"DEV-CERT","message":"User unregistered with mail","mail":"rahul.ra"}
�[0mGET /api1/user/details �[36m304�[0m 90.276 ms - -�[0m
{"timestamp":"2025-10-10T12:20:06.530Z","level":"INFO","service":"SocketIO","environment":"DEV-CERT","message":"New client connected","socketId":"B03fU_1WdwnFeqPAAAAJ","mail":"rahul.p.com","branch":"NextGen","accounts":["96948","71"]}
{"timestamp":"2025-10-10T12:20:06.531Z","level":"INFO","service":"SocketIO","environment":"DEV-CERT","message":"sending latest versions to the client","latestVersionString":"1.1.131.1.12"}
{"timestamp":"2025-10-10T12:20:06.531Z","level":"INFO","service":"Livestats","environment":"DEV-CERT","message":"Calling Subscribe","AccountId":"96948","study":0}
{"timestamp":"2025-10-10T12:20:06.531Z","level":"INFO","service":"Livestats","environment":"DEV-CERT","message":"Channel state before call","state":2}
{"timestamp":"2025-10-10T12:20:06.531Z","level":"INFO","service":"Livestats","environment":"DEV-CERT","message":"Calling Subscribe","AccountId":"96948","study":1}
{"timestamp":"2025-10-10T12:20:06.531Z","level":"INFO","service":"Livestats","environment":"DEV-CERT","message":"Channel state before call","state":2}
{"timestamp":"2025-10-10T12:20:06.531Z","level":"INFO","service":"Livestats","environment":"DEV-CERT","message":"Calling Subscribe","AccountId":"71","study":0}
{"timestamp":"2025-10-10T12:20:06.531Z","level":"INFO","service":"Livestats","environment":"DEV-CERT","message":"Channel state before call","state":2}
{"timestamp":"2025-10-10T12:20:06.532Z","level":"INFO","service":"Livestats","environment":"DEV-CERT","message":"Calling Subscribe","AccountId":"71","study":1}
{"timestamp":"2025-10-10T12:20:06.532Z","level":"INFO","service":"Livestats","environment":"DEV-CERT","message":"Channel state before call","state":2}
{"timestamp":"2025-10-10T12:20:06.532Z","level":"INFO","service":"SocketIO","environment":"DEV-CERT","message":"Sent Order Book with 0 orders to user:","mail":"rahul.roup.com"}
{"timestamp":"2025-10-10T12:20:06.535Z","level":"INFO","service":"Livestats","environment":"DEV-CERT","message":"Subscribe metadata received","metadata":"{"content-type":["application/grpc"]}"}
{"timestamp":"2025-10-10T12:20:06.535Z","level":"INFO","service":"Livestats","environment":"DEV-CERT","message":"Subscribe callback SUCCESS","elapsed_ms":4,"fields":["mvr"]}
{"timestamp":"2025-10-10T12:20:06.536Z","level":"INFO","service":"Livestats","environment":"DEV-CERT","message":"Sending Lstats to client","payload":{"seq_no":"0","account_id":"71","type":"snapshot","study":"mvr","ase":[{"instrument_id":"6213","name":"Rahul_Diff_P_NSE","fills":"6","child_fills":"12","child_msgs":"6","value":"0","aseName":"6213"}],"instrument":[{"instrument_id":"9045738684984349209","name":"SR1H6","fills":"6","msgs":"3","value":"0","productName":"9045738684984349209","instrumentName":"9045738684984349209"},{"instrument_id":"13023589563915333914","name":"SR1Z5","fills":"6","msgs":"3","value":"0","productName":"13023589563915333914","instrumentName":"13023589563915333914"}],"accountName":"NG_TestRom1"}}
{"timestamp":"2025-10-10T12:20:06.536Z","level":"INFO","service":"Livestats","environment":"DEV-CERT","message":"Subscribe status event","status":"{"code":0,"details":"","metadata":{}}"}
{"timestamp":"2025-10-10T12:20:06.536Z","level":"INFO","service":"Livestats","environment":"DEV-CERT","message":"Subscribe metadata received","metadata":"{"content-type":["application/grpc"]}"}
{"timestamp":"2025-10-10T12:20:06.536Z","level":"INFO","service":"Livestats","environment":"DEV-CERT","message":"Subscribe callback SUCCESS","elapsed_ms":5,"fields":["backoff_payup"]}
{"timestamp":"2025-10-10T12:20:06.536Z","level":"INFO","service":"Livestats","environment":"DEV-CERT","message":"Sending Lstats to client","payload":{"seq_no":"0","account_id":"96948","type":"snapshot","study":"bck_pyp","ase":[],"accountName":"NGRRLCERT"}}
{"timestamp":"2025-10-10T12:20:06.536Z","level":"INFO","service":"Livestats","environment":"DEV-CERT","message":"Subscribe status event","status":"{"code":0,"details":"","metadata":{}}"}
{"timestamp":"2025-10-10T12:20:06.536Z","level":"INFO","service":"Livestats","environment":"DEV-CERT","message":"Subscribe metadata received","metadata":"{"content-type":["application/grpc"]}"}
{"timestamp":"2025-10-10T12:20:06.537Z","level":"INFO","service":"Livestats","environment":"DEV-CERT","message":"Subscribe callback SUCCESS","elapsed_ms":6,"fields":["mvr"]}
{"timestamp":"2025-10-10T12:20:06.537Z","level":"INFO","service":"Livestats","environment":"DEV-CERT","message":"Sending Lstats to client","payload":{"seq_no":"0","account_id":"96948","type":"snapshot","study":"mvr","ase":[{"instrument_id":"6213","name":"Rahul_Diff_P_NSE","fills":"1","child_fills":"2","child_msgs":"2","value":"1","aseName":"6213"}],"instrument":[{"instrument_id":"9045738684984349209","name":"SR1H6","fills":"1","msgs":"1","value":"1","productName":"9045738684984349209","instrumentName":"9045738684984349209"},{"instrument_id":"13023589563915333914","name":"SR1Z5","fills":"1","msgs":"1","value":"1","productName":"13023589563915333914","instrumentName":"13023589563915333914"}],"accountName":"NGRRLCERT"}}
{"timestamp":"2025-10-10T12:20:06.537Z","level":"INFO","service":"Livestats","environment":"DEV-CERT","message":"Subscribe status event","status":"{"code":0,"details":"","metadata":{}}"}
{"timestamp":"2025-10-10T12:20:06.537Z","level":"INFO","service":"Livestats","environment":"DEV-CERT","message":"Subscribe metadata received","metadata":"{"content-type":["application/grpc"]}"}
{"timestamp":"2025-10-10T12:20:06.538Z","level":"INFO","service":"Livestats","environment":"DEV-CERT","message":"Subscribe callback SUCCESS","elapsed_ms":6,"fields":["backoff_payup"]}
{"timestamp":"2025-10-10T12:20:06.538Z","level":"INFO","service":"Livestats","environment":"DEV-CERT","message":"Sending Lstats to client","payload":{"seq_no":"0","account_id":"71","type":"snapshot","study":"bck_pyp","ase":[{"instrument_id":"6213","name":"","frame_no":"13","backoff":0.04,"payup":0,"aseName":"6213","backoff_ticks":0.04,"payup_ticks":0}],"accountName":"NG_TestRom1"}}
{"timestamp":"2025-10-10T12:20:06.538Z","level":"INFO","service":"Livestats","environment":"DEV-CERT","message":"Subscribe status event","status":"{"code":0,"details":"","metadata":{}}"}
{"timestamp":"2025-10-10T12:20:06.954Z","level":"INFO","service":"SocketIO","environment":"DEV-CERT","message":"Client disconnected","socketId":"B03fU_1WdwnFeqPAAAAJ","reason":"transport error"}
{"timestamp":"2025-10-10T12:20:06.954Z","level":"INFO","service":"SocketIO","environment":"DEV-CERT","message":"User unregistered with mail","mail":"rahoup.com"}
�[0mGET /api1/user/details �[36m304�[0m 71.309 ms - -�[0m
{"timestamp":"2025-10-10T12:20:08.061Z","level":"INFO","service":"SocketIO","environment":"DEV-CERT","message":"New client connected","socketId":"RncjQ5JMZ6Id7JNHAAAL","mail":"rahul.r.com","branch":"NextGen","accounts":["96948","71"]}
{"timestamp":"2025-10-10T12:20:08.061Z","level":"INFO","service":"SocketIO","environment":"DEV-CERT","message":"sending latest versions to the client","latestVersionString":"1.1.131.1.12"}
{"timestamp":"2025-10-10T12:20:08.061Z","level":"INFO","service":"Livestats","environment":"DEV-CERT","message":"Calling Subscribe","AccountId":"96948","study":0}
{"timestamp":"2025-10-10T12:20:08.061Z","level":"INFO","service":"Livestats","environment":"DEV-CERT","message":"Channel state before call","state":2}
{"timestamp":"2025-10-10T12:20:08.062Z","level":"INFO","service":"Livestats","environment":"DEV-CERT","message":"Calling Subscribe","AccountId":"96948","study":1}
{"timestamp":"2025-10-10T12:20:08.062Z","level":"INFO","service":"Livestats","environment":"DEV-CERT","message":"Channel state before call","state":2}
{"timestamp":"2025-10-10T12:20:08.062Z","level":"INFO","service":"Livestats","environment":"DEV-CERT","message":"Calling Subscribe","AccountId":"71","study":0}
{"timestamp":"2025-10-10T12:20:08.062Z","level":"INFO","service":"Livestats","environment":"DEV-CERT","message":"Channel state before call","state":2}
{"timestamp":"2025-10-10T12:20:08.062Z","level":"INFO","service":"Livestats","environment":"DEV-CERT","message":"Calling Subscribe","AccountId":"71","study":1}
{"timestamp":"2025-10-10T12:20:08.062Z","level":"INFO","service":"Livestats","environment":"DEV-CERT","message":"Channel state before call","state":2}
{"timestamp":"2025-10-10T12:20:08.062Z","level":"INFO","service":"SocketIO","environment":"DEV-CERT","message":"Sent Order Book with 0 orders to user:","mail":"rahup.com"}
{"timestamp":"2025-10-10T12:20:08.454Z","level":"INFO","service":"SocketIO","environment":"DEV-CERT","message":"Client disconnected","socketId":"RncjQ5JMZ6Id7JNHAAAL","reason":"transport error"}
{"timestamp":"2025-10-10T12:20:08.454Z","level":"INFO","service":"SocketIO","environment":"DEV-CERT","message":"User unregistered with mail","mail":"rahgroup.com"}
�[0mGET /api1/user/details �[36m304�[0m 89.525 ms - -�[0m
{"timestamp":"2025-10-10T12:20:09.629Z","level":"INFO","service":"SocketIO","environment":"DEV-CERT","message":"New client connected","socketId":"N5zgBSzJD6wj3vfRAAAN","mail":"rahcom","branch":"NextGen","accounts":["96948","71"]}
{"timestamp":"2025-10-10T12:20:09.629Z","level":"INFO","service":"SocketIO","environment":"DEV-CERT","message":"sending latest versions to the client","latestVersionString":"1.1.131.1.12"}
{"timestamp":"2025-10-10T12:20:09.629Z","level":"INFO","service":"Livestats","environment":"DEV-CERT","message":"Calling Subscribe","AccountId":"96948","study":0}
{"timestamp":"2025-10-10T12:20:09.629Z","level":"INFO","service":"Livestats","environment":"DEV-CERT","message":"Channel state before call","state":2}
{"timestamp":"2025-10-10T12:20:09.629Z","level":"INFO","service":"Livestats","environment":"DEV-CERT","message":"Calling Subscribe","AccountId":"96948","study":1}
{"timestamp":"2025-10-10T12:20:09.629Z","level":"INFO","service":"Livestats","environment":"DEV-CERT","message":"Channel state before call","state":2}
{"timestamp":"2025-10-10T12:20:09.629Z","level":"INFO","service":"Livestats","environment":"DEV-CERT","message":"Calling Subscribe","AccountId":"71","study":0}
{"timestamp":"2025-10-10T12:20:09.629Z","level":"INFO","service":"Livestats","environment":"DEV-CERT","message":"Channel state before call","state":2}
{"timestamp":"2025-10-10T12:20:09.629Z","level":"INFO","service":"Livestats","environment":"DEV-CERT","message":"Calling Subscribe","AccountId":"71","study":1}
{"timestamp":"2025-10-10T12:20:09.629Z","level":"INFO","service":"Livestats","environment":"DEV-CERT","message":"Channel state before call","state":2}
{"timestamp":"2025-10-10T12:20:09.629Z","level":"INFO","service":"SocketIO","environment":"DEV-CERT","message":"Sent Order Book with 0 orders to user:","mail":"rahp.com"}
D 2025-10-10T12:20:09.701Z | v1.12.2 18 | keepalive | (1) 10.43.206.139:5149 Sending ping with timeout 5000ms
D 2025-10-10T12:20:09.702Z | v1.12.2 18 | keepalive | (1) 10.43.206.139:5149 Received ping response
D 2025-10-10T12:20:09.702Z | v1.12.2 18 | keepalive | (1) 10.43.206.139:5149 Starting keepalive timer for 10000ms
D 2025-10-10T12:20:09.706Z | v1.12.2 18 | keepalive | (2) 10.18.55.229:50051 Sending ping with timeout 2000ms
D 2025-10-10T12:20:09.707Z | v1.12.2 18 | keepalive | (2) 10.18.55.229:50051 Received ping response
D 2025-10-10T12:20:09.707Z | v1.12.2 18 | keepalive | (2) 10.18.55.229:50051 Starting keepalive timer for 5000ms
{"timestamp":"2025-10-10T12:20:10.210Z","level":"INFO","service":"SocketIO","environment":"DEV-CERT","message":"Client disconnected","socketId":"N5zgBSzJD6wj3vfRAAAN","reason":"transport error"}
{"timestamp":"2025-10-10T12:20:10.211Z","level":"INFO","service":"SocketIO","environment":"DEV-CERT","message":"User unregistered with mail","mail":"rahoup.com"}
�[0mGET /api1/user/details �[36m304�[0m 198.185 ms - -�[0m
{"timestamp":"2025-10-10T12:20:11.489Z","level":"INFO","service":"SocketIO","environment":"DEV-CERT","message":"New client connected","socketId":"quDUFYnqEh70SgmJAAAP","mail":"raroup.com","branch":"NextGen","accounts":["96948","71"]}
{"timestamp":"2025-10-10T12:20:11.489Z","level":"INFO","service":"SocketIO","environment":"DEV-CERT","message":"sending latest versions to the client","latestVersionString":"1.1.131.1.12"}
{"timestamp":"2025-10-10T12:20:11.489Z","level":"INFO","service":"Livestats","environment":"DEV-CERT","message":"Calling Subscribe","AccountId":"96948","study":0}
{"timestamp":"2025-10-10T12:20:11.489Z","level":"INFO","service":"Livestats","environment":"DEV-CERT","message":"Channel state before call","state":2}
{"timestamp":"2025-10-10T12:20:11.490Z","level":"INFO","service":"Livestats","environment":"DEV-CERT","message":"Calling Subscribe","AccountId":"96948","study":1}
{"timestamp":"2025-10-10T12:20:11.490Z","level":"INFO","service":"Livestats","environment":"DEV-CERT","message":"Channel state before call","state":2}
{"timestamp":"2025-10-10T12:20:11.490Z","level":"INFO","service":"Livestats","environment":"DEV-CERT","message":"Calling Subscribe","AccountId":"71","study":0}
{"timestamp":"2025-10-10T12:20:11.490Z","level":"INFO","service":"Livestats","environment":"DEV-CERT","message":"Channel state before call","state":2}
{"timestamp":"2025-10-10T12:20:11.490Z","level":"INFO","service":"Livestats","environment":"DEV-CERT","message":"Calling Subscribe","AccountId":"71","study":1}
{"timestamp":"2025-10-10T12:20:11.490Z","level":"INFO","service":"Livestats","environment":"DEV-CERT","message":"Channel state before call","state":2}
{"timestamp":"2025-10-10T12:20:11.490Z","level":"INFO","service":"SocketIO","environment":"DEV-CERT","message":"Sent Order Book with 0 orders to user:","mail":"rahp.com"}
{"timestamp":"2025-10-10T12:20:11.881Z","level":"INFO","service":"SocketIO","environment":"DEV-CERT","message":"Client disconnected","socketId":"quDUFYnqEh70SgmJAAAP","reason":"transport error"}
{"timestamp":"2025-10-10T12:20:11.881Z","level":"INFO","service":"SocketIO","environment":"DEV-CERT","message":"User unregistered with mail","mail":"rahup.com"}
�[0mGET /api1/user/details �[36m304�[0m 111.729 ms - -�[0m
{"timestamp":"2025-10-10T12:20:13.108Z","level":"INFO","service":"SocketIO","environment":"DEV-CERT","message":"New client connected","socketId":"zgfaUMqhJ0dywjCeAAAR","mail":"rap.com","branch":"NextGen","accounts":["96948","71"]}
{"timestamp":"2025-10-10T12:20:13.109Z","level":"INFO","service":"SocketIO","environment":"DEV-CERT","message":"sending latest versions to the client","latestVersionString":"1.1.131.1.12"}
{"timestamp":"2025-10-10T12:20:13.109Z","level":"INFO","service":"Livestats","environment":"DEV-CERT","message":"Calling Subscribe","AccountId":"96948","study":0}
{"timestamp":"2025-10-10T12:20:13.109Z","level":"INFO","service":"Livestats","environment":"DEV-CERT","message":"Channel state before call","state":2}
{"timestamp":"2025-10-10T12:20:13.109Z","level":"INFO","service":"Livestats","environment":"DEV-CERT","message":"Calling Subscribe","AccountId":"96948","study":1}
{"timestamp":"2025-10-10T12:20:13.109Z","level":"INFO","service":"Livestats","environment":"DEV-CERT","message":"Channel state before call","state":2}
{"timestamp":"2025-10-10T12:20:13.109Z","level":"INFO","service":"Livestats","environment":"DEV-CERT","message":"Calling Subscribe","AccountId":"71","study":0}
{"timestamp":"2025-10-10T12:20:13.109Z","level":"INFO","service":"Livestats","environment":"DEV-CERT","message":"Channel state before call","state":2}
{"timestamp":"2025-10-10T12:20:13.109Z","level":"INFO","service":"Livestats","environment":"DEV-CERT","message":"Calling Subscribe","AccountId":"71","study":1}
{"timestamp":"2025-10-10T12:20:13.109Z","level":"INFO","service":"Livestats","environment":"DEV-CERT","message":"Channel state before call","state":2}
{"timestamp":"2025-10-10T12:20:13.109Z","level":"INFO","service":"SocketIO","environment":"DEV-CERT","message":"Sent Order Book with 0 orders to user:","mail":"ra.com"}
{"timestamp":"2025-10-10T12:20:13.508Z","level":"INFO","service":"SocketIO","environment":"DEV-CERT","message":"Client disconnected","socketId":"zgfaUMqhJ0dywjCeAAAR","reason":"transport error"}
{"timestamp":"2025-10-10T12:20:13.508Z","level":"INFO","service":"
engulfing-marubozu commentedon Oct 10, 2025
and these are tcp packets at lof node grpc client ->50051 c++ server at the same time
You can see just ping pong tcp messages after every 5 seconds interval
supported on the "any" device)
tcpdump: listening on any, link-type LINUX_SLL2 (Linux cooked v2), snapshot length 262144 bytes
12:26:34.794124 eth0 In IP (tos 0x0, ttl 62, id 34342, offset 0, flags [none], proto TCP (6), length 57)
10.18.55.229.50051 > 10.42.47.167.59722: Flags [P.], cksum 0x63a9 (correct), seq 1025934211:1025934228, ack 965898271, win 251, length 17
12:26:34.794140 eth0 Out IP (tos 0x0, ttl 64, id 14283, offset 0, flags [DF], proto TCP (6), length 52)
10.42.47.167.59722 > 10.18.55.229.50051: Flags [.], cksum 0x7bee (incorrect -> 0xf2eb), seq 1, ack 17, win 502, options [nop,nop,TS val 3840414189 ecr 711708055], length 0
12:26:34.794199 eth0 Out IP (tos 0x0, ttl 64, id 14284, offset 0, flags [DF], proto TCP (6), length 69)
10.42.47.167.59722 > 10.18.55.229.50051: Flags [P.], cksum 0x7bff (incorrect -> 0x39ad), seq 1:18, ack 17, win 502, options [nop,nop,TS val 3840414189 ecr 711708055], length 17
12:26:34.794426 eth0 Out IP (tos 0x0, ttl 64, id 14285, offset 0, flags [DF], proto TCP (6), length 69)
10.42.47.167.59722 > 10.18.55.229.50051: Flags [P.], cksum 0x7bff (incorrect -> 0x289f), seq 18:35, ack 17, win 502, options [nop,nop,TS val 3840414189 ecr 711708055], length 17
12:26:34.794551 eth0 In IP (tos 0x0, ttl 62, id 16024, offset 0, flags [none], proto TCP (6), length 40)
10.18.55.229.50051 > 10.42.47.167.59722: Flags [.], cksum 0x1bb5 (correct), seq 17, ack 35, win 251, length 0
12:26:34.794793 eth0 In IP (tos 0x0, ttl 62, id 32425, offset 0, flags [none], proto TCP (6), length 57)
10.18.55.229.50051 > 10.42.47.167.59722: Flags [P.], cksum 0x5079 (correct), seq 17:34, ack 35, win 251, length 17
12:26:34.836119 eth0 Out IP (tos 0x0, ttl 64, id 14286, offset 0, flags [DF], proto TCP (6), length 52)
10.42.47.167.59722 > 10.18.55.229.50051: Flags [.], cksum 0x7bee (incorrect -> 0xf28e), seq 35, ack 34, win 502, options [nop,nop,TS val 3840414231 ecr 711708055], length 0
12:26:39.795162 eth0 Out IP (tos 0x0, ttl 64, id 14287, offset 0, flags [DF], proto TCP (6), length 69)
10.42.47.167.59722 > 10.18.55.229.50051: Flags [P.], cksum 0x7bff (incorrect -> 0xebc0), seq 35:52, ack 34, win 502, options [nop,nop,TS val 3840419190 ecr 711708055], length 17
12:26:39.795692 eth0 In IP (tos 0x0, ttl 62, id 13827, offset 0, flags [none], proto TCP (6), length 57)
10.18.55.229.50051 > 10.42.47.167.59722: Flags [P.], cksum 0x2724 (correct), seq 34:51, ack 52, win 251, length 17
12:26:39.795702 eth0 Out IP (tos 0x0, ttl 64, id 14288, offset 0, flags [DF], proto TCP (6), length 52)
10.42.47.167.59722 > 10.18.55.229.50051: Flags [.], cksum 0x7bee (incorrect -> 0xdf0d), seq 52, ack 51, win 502, options [nop,nop,TS val 3840419190 ecr 711708055], length 0
12:26:44.795731 eth0 Out IP (tos 0x0, ttl 64, id 14289, offset 0, flags [DF], proto TCP (6), length 69)
10.42.47.167.59722 > 10.18.55.229.50051: Flags [P.], cksum 0x7bff (incorrect -> 0x4d6d), seq 52:69, ack 51, win 502, options [nop,nop,TS val 3840424190 ecr 711708055], length 17
12:26:44.796379 eth0 In IP (tos 0x0, ttl 62, id 17637, offset 0, flags [none], proto TCP (6), length 57)
10.18.55.229.50051 > 10.42.47.167.59722: Flags [P.], cksum 0x9c58 (correct), seq 51:68, ack 69, win 251, length 17
12:26:44.796405 eth0 Out IP (tos 0x0, ttl 64, id 14290, offset 0, flags [DF], proto TCP (6), length 52)
10.42.47.167.59722 > 10.18.55.229.50051: Flags [.], cksum 0x7bee (incorrect -> 0xcb62), seq 69, ack 68, win 502, options [nop,nop,TS val 3840424191 ecr 711708055], length 0
12:26:49.797096 eth0 In IP (tos 0x0, ttl 62, id 55924, offset 0, flags [none], proto TCP (6), length 57)
10.18.55.229.50051 > 10.42.47.167.59722: Flags [P.], cksum 0xc3c3 (correct), seq 68:85, ack 69, win 251, length 17
12:26:49.797112 eth0 Out IP (tos 0x0, ttl 64, id 14291, offset 0, flags [DF], proto TCP (6), length 52)
10.42.47.167.59722 > 10.18.55.229.50051: Flags [.], cksum 0x7bee (incorrect -> 0xb7c9), seq 69, ack 85, win 502, options [nop,nop,TS val 3840429191 ecr 711708055], length 0
12:26:49.797165 eth0 Out IP (tos 0x0, ttl 64, id 14292, offset 0, flags [DF], proto TCP (6), length 69)
10.42.47.167.59722 > 10.18.55.229.50051: Flags [P.], cksum 0x7bff (incorrect -> 0x5f2c), seq 69:86, ack 85, win 502, options [nop,nop,TS val 3840429192 ecr 711708055], length 17
12:26:49.797341 eth0 Out IP (tos 0x0, ttl 64, id 14293, offset 0, flags [DF], proto TCP (6), length 69)
10.42.47.167.59722 > 10.18.55.229.50051: Flags [P.], cksum 0x7bff (incorrect -> 0x185d), seq 86:103, ack 85, win 502, options [nop,nop,TS val 3840429192 ecr 711708055], length 17
12:26:49.797447 eth0 In IP (tos 0x0, ttl 62, id 50921, offset 0, flags [none], proto TCP (6), length 40)
10.18.55.229.50051 > 10.42.47.167.59722: Flags [.], cksum 0x1b2d (correct), seq 85, ack 103, win 251, length 0
12:26:49.797720 eth0 In IP (tos 0x0, ttl 62, id 6752, offset 0, flags [none], proto TCP (6), length 57)
10.18.55.229.50051 > 10.42.47.167.59722: Flags [P.], cksum 0x7ad2 (correct), seq 85:102, ack 103, win 251, length 17
12:26:49.844119 eth0 Out IP (tos 0x0, ttl 64, id 14294, offset 0, flags [DF], proto TCP (6), length 52)
10.42.47.167.59722 > 10.18.55.229.50051: Flags [.], cksum 0x7bee (incorrect -> 0xb766), seq 103, ack 102, win 502, options [nop,nop,TS val 3840429239 ecr 711708055], length 0
12:26:54.798367 eth0 Out IP (tos 0x0, ttl 64, id 14295, offset 0, flags [DF], proto TCP (6), length 69)
10.42.47.167.59722 > 10.18.55.229.50051: Flags [P.], cksum 0x7bff (incorrect -> 0xbf12), seq 103:120, ack 102, win 502, options [nop,nop,TS val 3840434193 ecr 711708055], length 17
12:26:54.798810 eth0 In IP (tos 0x0, ttl 62, id 36512, offset 0, flags [none], proto TCP (6), length 57)
10.18.55.229.50051 > 10.42.47.167.59722: Flags [P.], cksum 0x3511 (correct), seq 102:119, ack 120, win 251, length 17
12:26:54.798856 eth0 Out IP (tos 0x0, ttl 64, id 14296, offset 0, flags [DF], proto TCP (6), length 52)
10.42.47.167.59722 > 10.18.55.229.50051: Flags [.], cksum 0x7bee (incorrect -> 0xa3ea), seq 120, ack 119, win 502, options [nop,nop,TS val 3840434193 ecr 711708055], length 0
12:26:59.798424 eth0 Out IP (tos 0x0, ttl 64, id 14297, offset 0, flags [DF], proto TCP (6), length 69)
10.42.47.167.59722 > 10.18.55.229.50051: Flags [P.], cksum 0x7bff (incorrect -> 0x7f5f), seq 120:137, ack 119, win 502, options [nop,nop,TS val 3840439193 ecr 711708055], length 17
12:26:59.798956 eth0 In IP (tos 0x0, ttl 62, id 22121, offset 0, flags [none], proto TCP (6), length 57)
10.18.55.229.50051 > 10.42.47.167.59722: Flags [P.], cksum 0x08e6 (correct), seq 119:136, ack 137, win 251, length 17
12:26:59.798980 eth0 Out IP (tos 0x0, ttl 64, id 14298, offset 0, flags [DF], proto TCP (6), length 52)
10.42.47.167.59722 > 10.18.55.229.50051: Flags [.], cksum 0x7bee (incorrect -> 0x9040), seq 137, ack 136, win 502, options [nop,nop,TS val 3840439193 ecr 711708055], length 0
12:27:04.799109 eth0 Out IP (tos 0x0, ttl 64, id 14299, offset 0, flags [DF], proto TCP (6), length 69)
10.42.47.167.59722 > 10.18.55.229.50051: Flags [P.], cksum 0x7bff (incorrect -> 0xdbd7), seq 137:154, ack 136, win 502, options [nop,nop,TS val 3840444193 ecr 711708055], length 17
12:27:04.799639 eth0 In IP (tos 0x0, ttl 62, id 10306, offset 0, flags [none], proto TCP (6), length 57)
10.18.55.229.50051 > 10.42.47.167.59722: Flags [P.], cksum 0x78e6 (correct), seq 136:153, ack 154, win 251, length 17
12:27:04.799653 eth0 Out IP (tos 0x0, ttl 64, id 14300, offset 0, flags [DF], proto TCP (6), length 52)
10.42.47.167.59722 > 10.18.55.229.50051: Flags [.], cksum 0x7bee (incorrect -> 0x7c95), seq 154, ack 153, win 502, options [nop,nop,TS val 3840444194 ecr 711708055], length 0
12:27:09.799742 eth0 Out IP (tos 0x0, ttl 64, id 14301, offset 0, flags [DF], proto TCP (6), length 69)
10.42.47.167.59722 > 10.18.55.229.50051: Flags [P.], cksum 0x7bff (incorrect -> 0xbd16), seq 154:171, ack 153, win 502, options [nop,nop,TS val 3840449194 ecr 711708055], length 17
12:27:09.800208 eth0 In IP (tos 0x0, ttl 62, id 56969, offset 0, flags [none], proto TCP (6), length 57)
10.18.55.229.50051 > 10.42.47.167.59722: Flags [P.], cksum 0x6dae (correct), seq 153:170, ack 171, win 251, length 17
12:27:09.800221 eth0 Out IP (tos 0x0, ttl 64, id 14302, offset 0, flags [DF], proto TCP (6), length 52)
10.42.47.167.59722 > 10.18.55.229.50051: Flags [.], cksum 0x7bee (incorrect -> 0x68ea), seq 171, ack 170, win 502, options [nop,nop,TS val 3840449195 ecr 711708055], length 0
and these are just ping pongs
engulfing-marubozu commentedon Oct 10, 2025
I am finally moving to grpc streams and removing unary totally, but solutions are welcome. Thanks