vearne / grpcreplay

GrpcReplay is an open-source network monitoring tool which can record your grpc traffic and use it for shadowing, load testing, monitoring and detailed analysis.
MIT License
15 stars 3 forks source link

golang replay error #55

Open XIAO-FAN-5257 opened 1 week ago

XIAO-FAN-5257 commented 1 week ago

gRPC's reflection has been added

2024/10/14 16:46:27 [error] method is empty, this is illegal
2024/10/14 16:46:27 [error] method is empty, this is illegal
2024/10/14 16:46:27 [error] method is empty, this is illegal
2024/10/14 16:46:27 [error] decoding error: invalid indexed representation index 70
2024/10/14 16:46:27 [error] method is empty, this is illegal
2024/10/14 16:46:27 [error] decoding error: invalid indexed representation index 68
2024/10/14 16:46:27 [error] method is empty, this is illegal
2024/10/14 16:46:27 [error] decoding error: invalid indexed representation index 69
2024/10/14 16:46:27 [error] decoding error: invalid indexed representation index 68
2024/10/14 16:46:27 [error] method is empty, this is illegal
2024/10/14 16:46:27 [error] method is empty, this is illegal
2024/10/14 16:46:27 [error] decoding error: invalid indexed representation index 69
2024/10/14 16:46:27 [error] decoding error: invalid indexed representation index 68
2024/10/14 16:46:27 [error] method is empty, this is illegal
2024/10/14 16:46:27 [error] method is empty, this is illegal
2024/10/14 16:46:27 [error] decoding error: invalid indexed representation index 69
2024/10/14 16:46:27 [error] method is empty, this is illegal
2024/10/14 16:46:27 [error] decoding error: invalid indexed representation index 68
2024/10/14 16:46:27 [error] method is empty, this is illegal
2024/10/14 16:46:27 [error] decoding error: invalid indexed representation index 69
2024/10/14 16:46:27 [error] decoding error: invalid indexed representation index 68
2024/10/14 16:46:27 [error] method is empty, this is illegal
2024/10/14 16:46:27 [error] method is empty, this is illegal
2024/10/14 16:46:27 [error] decoding error: invalid indexed representation index 69
2024/10/14 16:46:27 [error] method is empty, this is illegal
2024/10/14 16:46:27 [error] decoding error: invalid indexed representation index 68
2024/10/14 16:46:27 [error] decoding error: invalid indexed representation index 69
2024/10/14 16:46:27 [error] method is empty, this is illegal

Thanks for your helping!

vearne commented 1 week ago

If none of the above problems occur, there may be a problem with HTTP2 processed by grpcreplay. Please provide the complete program code and operation steps so that I can further locate the problem.

export SIMPLE_LOG_LEVEL=debug

Providing detailed logs and packet capture files can also be helpful @XIAO-FAN-5257

XIAO-FAN-5257 commented 1 week ago

Setting log_level to debug and this is detailed logs

2024/10/14 20:49:51 [debug] [start]SocketBuffer.getData, size:20272, actualCanReadSize:4294796570, expectedSeq:2094856998
2024/10/14 20:49:51 [debug] [end]SocketBuffer.getData, size:0, actualCanReadSize:4294776298, expectedSeq:2094856998, data: 20272 bytes
2024/10/14 20:49:51 [debug] push to channel: 20272 bytes
2024/10/14 20:49:51 [debug] Connection:10.156.203.50:41586 -> 10.173.211.158:50052, seq:2094856998, length:4344
2024/10/14 20:49:51 [debug] [AddTCP]Connection:10.156.203.50:41586 -> 10.173.211.158:50052, seq:2094856998, length:4344
2024/10/14 20:49:51 [debug] [start]SocketBuffer.addTCP, size:0, actualCanReadSize:4294776298, expectedSeq:2094856998
2024/10/14 20:49:51 [debug] [end]SocketBuffer.addTCP, size:4344, actualCanReadSize:4294780642, expectedSeq:2094861342
2024/10/14 20:49:51 [debug] SocketBuffer.AddTCP, satisfy the conditions, size:4344, actualCanReadSize:4294780642, expectedSeq:2094861342
2024/10/14 20:49:51 [debug] [start]SocketBuffer.getData, size:4344, actualCanReadSize:4294780642, expectedSeq:2094861342
2024/10/14 20:49:51 [debug] SocketBuffer.Read, got:2896 bytes
2024/10/14 20:49:51 [debug] [end]SocketBuffer.getData, size:0, actualCanReadSize:4294776298, expectedSeq:2094861342, data: 4344 bytes
2024/10/14 20:49:51 [debug] push to channel: 4344 bytes
2024/10/14 20:49:51 [debug] SocketBuffer.Read, got:20272 bytes
2024/10/14 20:49:51 [debug] Connection:10.156.203.50:41586 -> 10.173.211.158:50052, seq:2094861342, length:1448
2024/10/14 20:49:51 [debug] SocketBuffer.Read, got:4344 bytes
2024/10/14 20:49:51 [debug] [AddTCP]Connection:10.156.203.50:41586 -> 10.173.211.158:50052, seq:2094861342, length:1448
2024/10/14 20:49:51 [debug] [start]SocketBuffer.addTCP, size:0, actualCanReadSize:4294776298, expectedSeq:2094861342
2024/10/14 20:49:51 [debug] [end]SocketBuffer.addTCP, size:1448, actualCanReadSize:4294777746, expectedSeq:2094862790
2024/10/14 20:49:51 [debug] SocketBuffer.AddTCP, satisfy the conditions, size:1448, actualCanReadSize:4294777746, expectedSeq:2094862790
2024/10/14 20:49:51 [debug] [start]SocketBuffer.getData, size:1448, actualCanReadSize:4294777746, expectedSeq:2094862790
2024/10/14 20:49:51 [debug] [end]SocketBuffer.getData, size:0, actualCanReadSize:4294776298, expectedSeq:2094862790, data: 1448 bytes
2024/10/14 20:49:51 [debug] push to channel: 1448 bytes
2024/10/14 20:49:51 [debug] Connection:10.156.203.50:41586 -> 10.173.211.158:50052, seq:2094862790, length:7240
2024/10/14 20:49:51 [debug] [AddTCP]Connection:10.156.203.50:41586 -> 10.173.211.158:50052, seq:2094862790, length:7240
2024/10/14 20:49:51 [debug] [start]SocketBuffer.addTCP, size:0, actualCanReadSize:4294776298, expectedSeq:2094862790
2024/10/14 20:49:51 [debug] [end]SocketBuffer.addTCP, size:7240, actualCanReadSize:4294783538, expectedSeq:2094870030
2024/10/14 20:49:51 [debug] SocketBuffer.AddTCP, satisfy the conditions, size:7240, actualCanReadSize:4294783538, expectedSeq:2094870030
2024/10/14 20:49:51 [debug] [start]SocketBuffer.getData, size:7240, actualCanReadSize:4294783538, expectedSeq:2094870030
2024/10/14 20:49:51 [debug] [end]SocketBuffer.getData, size:0, actualCanReadSize:4294776298, expectedSeq:2094870030, data: 7240 bytes
vearne commented 1 week ago
2024/10/14 20:49:51 [debug] [start]SocketBuffer.getData, size:20272, actualCanReadSize:4294796570, expectedSeq:2094856998

It's strange. The actualCanReadSize indicates the amount of data that the network transport layer can hand over to the application layer. This value is too large. If you are worried about data leakage, you can send the interface definition and complete packet capture records to my email address, and I will do further analysis. asdwoshiaotian@gmail.com

@XIAO-FAN-5257