Open PalmaITEM opened 7 years ago
@Tanganelli, could it be a race condition with the transaction.response
field?
At many places the response is initialized like this:
transaction.response = Response()
transaction.response.destination = transaction.request.source
transaction.response.token = transaction.request.token
transaction.response.code = defines.Codes.CONTINUE.number
transaction.response.block1 = (num, m, size)
Another thread could access the response before it is fully populated.
Hi, I don't know honestly, I have to investigate it.
With intermittent connections, where duplicate requests end up being generated, the following happens: (client)
This occurred using the forward proxy (with multiple simultaneous requests) and the problem seems to be, after correctly receiving the first block, the sending of a delayed response/ACK to the initial request but as if it was block 2 with 0 bytes:
(forward proxy)
More complete output from the client side: