Opened 10 months ago

Closed 5 months ago

#28401 closed defect (worksforme)

stem.client does not fragment across relay cells when making dir requests over orports

Reported by: irl Owned by: atagar
Priority: Medium Milestone:
Component: Core Tor/Stem Version:
Severity: Normal Keywords:
Cc: Actual Points:
Parent ID: Points:
Reviewer: Sponsor:

Description

DEBUG:stem:Unable to download descriptors from 'None' (10 retries remaining): Cell of type RELAY is too large (4031 bytes), must not be more than 512. Check payload size (was 4028 bytes)

It probably should also not be saying 'None' there in the error message.

Child Tickets

Change History (3)

comment:1 Changed 10 months ago by atagar

Status: newneeds_information

Thanks irl, do you have a demo script that produced this issue that I can run?

comment:2 Changed 10 months ago by irl

I just went to try to reproduce this and I can't. ):

I'm not actually able to make any download successfully over an ORPort though, I'm just getting this error over and over now:

>>> from stem import ORPort
>>> from stem.descriptor.remote import get_consensus
>>> tor26 = ORPort("86.59.21.38", 443)
>>> get_consensus(endpoints=[tor26])
<stem.descriptor.remote.Query object at 0x7f8579799080>
>>> _.run()
Traceback (most recent call last):
  File "<input>", line 1, in <module>
    _.run()
  File "/usr/lib/python3/dist-packages/stem/descriptor/remote.py", line 446, in run
    return list(self._run(suppress))
  File "/usr/lib/python3/dist-packages/stem/descriptor/remote.py", line 457, in _run
    raise self.error
  File "/usr/lib/python3/dist-packages/stem/descriptor/remote.py", line 511, in _download_descriptors
    self.content, self.reply_headers = _download_from_orport(endpoint, self.compression, self.resource)
  File "/usr/lib/python3/dist-packages/stem/descriptor/remote.py", line 854, in _download_from_orport
    response = b''.join([cell.data for cell in circ.send(RelayCommand.DATA, request, stream_id = 1)])
  File "/usr/lib/python3/dist-packages/stem/client/__init__.py", line 262, in send
    raise stem.ProtocolError('Circuit response should be a series of RELAY cells, but received an unexpected size for a
 response: %i' % len(reply))
stem.ProtocolError: Circuit response should be a series of RELAY cells, but received an unexpected size for a response:
 4048

This is a different issue, so feel free to close this ticket and make a new one if you wish.

comment:3 Changed 5 months ago by irl

Resolution: worksforme
Status: needs_informationclosed

Unable to reproduce still, will make a new ticket for the other issue.

Note: See TracTickets for help on using tickets.