#2864 new defect

welcome page can't display when introducer connection has problems

Reported by: warner Owned by:
Priority: normal Milestone: soon
Component: code-frontend-web Version: 1.12.1
Keywords: Cc:
Launchpad Bug:


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.

Change History (3)

comment:1 Changed at 2017-01-27T00:02:50Z by warner

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.brokers[tubref] to fail, or vice versa.

comment:2 Changed at 2020-06-30T14:45:13Z by exarkun

  • Milestone changed from 1.13.0 to 1.15.0

Moving open issues out of closed milestones.

comment:3 Changed at 2021-03-30T18:40:19Z by meejah

  • Milestone changed from 1.15.0 to soon

Ticket retargeted after milestone closed

Note: See TracTickets for help on using tickets.