Failure means that the client simply hangs. It does not use any CPU and never terminates.
Steps to Reproduce
Query a very large block. Note that the fact that it is a block summary is irrelevant. The problem is to do with the size of the data that is transmitted over the network, not the kind of data. This is supported by the fact that there is no CPU usage or any activity in the client. The client is just waiting for data.
My conjecture is that there is an accounting bug in the http2 library implementation.
Likely a minimal test case is to make a minimal GRPC server that serves a large string.
Then make a small client using the Haskell GRPC library and make the query. At some size of the string the query is going to just hang.
Bug Description
The query GetBlockSummary fails when blocks are very large. This was first observed on testnet 4 with blocks with the following hashes
Failure means that the client simply hangs. It does not use any CPU and never terminates.
Steps to Reproduce
Query a very large block. Note that the fact that it is a block summary is irrelevant. The problem is to do with the size of the data that is transmitted over the network, not the kind of data. This is supported by the fact that there is no CPU usage or any activity in the client. The client is just waiting for data.
My conjecture is that there is an accounting bug in the http2 library implementation.
Likely a minimal test case is to make a minimal GRPC server that serves a large string. Then make a small client using the Haskell GRPC library and make the query. At some size of the string the query is going to just hang.
Expected Result
Query succeeds.
Actual Result
Client hangs.
Versions: All known versions