ptftpd icon indicating copy to clipboard operation
ptftpd copied to clipboard

RecursionError in TFTPServer.send_response

Open frederikaalund opened this issue 5 years ago • 2 comments

I tried to send a 150MiB file but got a RecursionError in TFTPServer.send_response.

I noticed that you already fixed this in 61f0d9f886dc417ab00dadf3c0793a54c740f143. This commit, however, is not part of the latest ptftpd-1.3 release.

I hope that this is just an oversight. Just to let you know.

Thanks for your work on ptftpd.

frederikaalund avatar Oct 15 '19 12:10 frederikaalund

Note that despite applying the fix from 61f0d9f886dc417ab00dadf3c0793a54c740f143, I still got the following exception:

Exception happened during processing of request from ('192.168.1.168', 2198)
Traceback (most recent call last):
  File "/usr/lib/python3.7/socketserver.py", line 316, in _handle_request_noblock
    self.process_request(request, client_address)
  File "/usr/lib/python3.7/socketserver.py", line 347, in process_request
    self.finish_request(request, client_address)
  File "/usr/lib/python3.7/socketserver.py", line 360, in finish_request
    self.RequestHandlerClass(request, client_address, self)
  File "/usr/lib/python3.7/socketserver.py", line 722, in __init__
    self.finish()
  File "/usr/lib/python3.7/socketserver.py", line 817, in finish
    self.socket.sendto(self.wfile.getvalue(), self.client_address)
OSError: [Errno 90] Message too long
----------------------------------------
DEBUG:tftpd:  >  DATA: 71429 data packet(s) sent.
DEBUG:tftpd:  <   ACK: Transfer complete, 104857600 byte(s).
INFO:tftpd:Transfer of file config.img completed.
EHCI timed out on TD - token=0x88008d80
Rx: failed to receive: -5

Shortly before that, I got DEBUG:tftpd:Packet number wraparound..

I think that the error is related to the wrap-around. Everything works fine for file sizes below 32 MiB.

frederikaalund avatar Oct 15 '19 12:10 frederikaalund

Same error here with a file of 50 megabytes

pozzugno avatar Jan 30 '24 16:01 pozzugno