welcome page can't display when introducer connection has problems #2864

Open
opened 2017-01-26 19:58:20 +00:00 by warner · 3 comments
warner commented 2017-01-26 19:58:20 +00:00
Owner

While debugging some I2P-based introducer problems, IRC user "ls" noticed that the welcome page fails to render (i.e. displays a traceback) if the ConnectionInfo returned by foolscap's Reconnector.getReconnectingInfo() is None.

  File "src/allmydata/web/root.py", line 245, in data_connected_introducers
    return len([1 for cs in self.client.introducer_connection_statuses()
  File "src/allmydata/client.py", line 614, in introducer_connection_statuses
    return [ic.connection_status() for ic in self.introducer_clients]
  File "src/allmydata/introducer/client.py", line 335, in connection_status
    return connection_status.from_foolscap_reconnector(irc, last_received)
  File "src/allmydata/util/connection_status.py", line 34, in from_foolscap_reconnector
    others = set(ci.connectorStatuses.keys())
exceptions.AttributeError: 'NoneType' object has no attribute 'connectorStatuses'

I think this can happen if there is no valid connection handler for the introducer FURL, but I need to explore some more to be sure.

In any case, this needs to be reported better, and not cause an exception.

While debugging some I2P-based introducer problems, IRC user "ls" noticed that the welcome page fails to render (i.e. displays a traceback) if the `ConnectionInfo` returned by foolscap's `Reconnector.getReconnectingInfo()` is None. ``` File "src/allmydata/web/root.py", line 245, in data_connected_introducers return len([1 for cs in self.client.introducer_connection_statuses() File "src/allmydata/client.py", line 614, in introducer_connection_statuses return [ic.connection_status() for ic in self.introducer_clients] File "src/allmydata/introducer/client.py", line 335, in connection_status return connection_status.from_foolscap_reconnector(irc, last_received) File "src/allmydata/util/connection_status.py", line 34, in from_foolscap_reconnector others = set(ci.connectorStatuses.keys()) exceptions.AttributeError: 'NoneType' object has no attribute 'connectorStatuses' ``` I think this can happen if there is no valid connection handler for the introducer FURL, but I need to explore some more to be sure. In any case, this needs to be reported better, and not cause an exception.
tahoe-lafs added the
code-frontend-web
normal
defect
1.12.1
labels 2017-01-26 19:58:20 +00:00
tahoe-lafs added this to the 1.13.0 milestone 2017-01-26 19:58:20 +00:00
warner commented 2017-01-27 00:02:50 +00:00
Author
Owner

Looking at Foolscap's code, it might also happen if the Tub hadn't been started (Tub._getReference found self.running != True). It might also be worth checking to see if ascii-vs-unicode issues could cause e.g. if tubref in self.brokers to be True, but self.brokerstubref to fail, or vice versa.

Looking at Foolscap's code, it might also happen if the Tub hadn't been started (`Tub._getReference` found `self.running != True`). It might also be worth checking to see if ascii-vs-unicode issues could cause e.g. `if tubref in self.brokers` to be True, but `self.brokerstubref` to fail, or vice versa.
exarkun commented 2020-06-30 14:45:13 +00:00
Author
Owner

Moving open issues out of closed milestones.

Moving open issues out of closed milestones.
tahoe-lafs modified the milestone from 1.13.0 to 1.15.0 2020-06-30 14:45:13 +00:00
meejah commented 2021-03-30 18:40:19 +00:00
Author
Owner

Ticket retargeted after milestone closed

Ticket retargeted after milestone closed
tahoe-lafs modified the milestone from 1.15.0 to soon 2021-03-30 18:40:19 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: tahoe-lafs/trac-2024-07-25#2864
No description provided.