Skip to content
This repository was archived by the owner on Oct 1, 2025. It is now read-only.
This repository was archived by the owner on Oct 1, 2025. It is now read-only.

MakeMeHearAffix should treat CanIHearErrors gracefully #69

@aaaaalbert

Description

@aaaaalbert

The MakeMeHearAffix queries the CanIHear (formerly CanIListen) service to connect to the node and see if it is firewalled or NATted. It needs to do a better job of handling CanIHearErrors like the below, as reported by @yyzhuang: In case of an unresolvable error from the service, just assume the node needs NAT traversal.

It's probably indicated to also extend the CanIHear code to use more diverse exceptions to make error signaling more accurate.


Traceback from the nodemanager log:

1459867033.32:PID-14313:Running canilisten test for local address b27411dec9c508b5c71a70910bf8a35a08caff85 port 64310 
1459867034.39:PID-14313:[ERROR] setting up nodemanager serversocket on address b27411dec9c508b5c71a70910bf8a35a08caff85:64310: AddressBindingError("MakeMeHearAffix: Error looking up or contacting canilisten servers. Exception encountered: CanIListenError('Did not find any servers advertising canilisten',)",)
1459867034.39:PID-14313:Traceback (most recent call last):
  File "/storage/emulated/0/Android/data/com.sensibility_testbed/files/sl4a/seattle/seattle_repy/nmmain.py", line 366, in start_accepter
  File "/storage/emulated/0/Android/data/com.sensibility_testbed/files/sl4a/seattle/seattle_repy/nmmain.py", line 311, in new_timeout_listenforconnection
  File "coordinationaffix.r2py", line 93, in listenforconnection
  File "makemehearaffix.r2py", line 134, in listenforconnection
AddressBindingError: MakeMeHearAffix: Error looking up or contacting canilisten servers. Exception encountered: CanIListenError('Did not find any servers advertising canilisten',)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions