Opened 6 years ago

Closed 5 years ago

#8551 closed defect (fixed)

ooni: director cannot find geoip data directory even when it is present

Reported by: isis Owned by: hellais
Priority: Medium Milestone:
Component: Archived/Ooni Version:
Severity: Keywords: ooni, bugreport
Cc: hellais, ioerror, aagbsn, isis Actual Points:
Parent ID: Points:
Reviewer: Sponsor:

Description

Running an ooni nettest with our ooniprobe.conf specifying that tor should be started and a DataDir should be used which is currently empty, as well as specifying that geoip lookups should be used (with a data dir which already has the geoip data file) we get the following:

(ooni)?!isis?wintermute:~/code/torproject/ooni-probe ? s !!
s bin/ooniprobe nettests/experimental/bridge_reachability/echo.py -f private/lists/ping-me.list
[sudo] password for isis:
Log opened.
[D] No test deck detected
[!] pypcap or dnet not installed. Certain tests may not work.
.
Sent 1 packets.
Starting Tor...
[D] Setting control port as 55051
[D] Setting SOCKS port as 55050
[D] 85%: Finishing handshake with first hop
[D] 90%: Establishing a Tor circuit
[D] 100%: Done
[D] Building a TorState
Successfully bootstrapped Tor
[D] We now have the following circuits:
[D]  * <Circuit 1 BUILT [88.198.18.111] for GENERAL>
[D]  * <Circuit 2 EXTENDED [128.2.142.104] for GENERAL>
[D]  * <Circuit 3 BUILT [171.25.193.20 62.113.250.64 204.11.50.131] for GENERAL>
[D]  * <Circuit 4 EXTENDED [128.2.142.104 85.23.157.176] for GENERAL>
[D]  * <Circuit 5 EXTENDED [] for GENERAL>
[D]  * <Circuit 6 EXTENDED [] for GENERAL>
[D]  * <Circuit 7 EXTENDED [] for GENERAL>
[D]  * <Circuit 8 EXTENDED [] for GENERAL>
[D]  * <Circuit 9 EXTENDED [] for GENERAL>
[D]  * <Circuit 10 EXTENDED [] for GENERAL>
[D] Obtained our IP address from a Tor Relay 38.111.11.2
We will include some geo data in the report
[!] Could not find GeoIP data files. Go into data/ and run make geoip
^CReceived SIGINT, shutting down.
Main loop terminated.

If we then try running again, now that the Tor DataDir is populated with descriptors, we get:

(ooni)?!isis?wintermute:~/code/torproject/ooni-probe ? s bin/ooniprobe nettests/experimental/bridge_reachability/echo.py -f private/lists/ping-me.list
Log opened.
[D] No test deck detected
[!] pypcap or dnet not installed. Certain tests may not work.
.
Sent 1 packets.
Starting Tor...
[D] Setting control port as 55051
[D] Setting SOCKS port as 55050
[D] 85%: Finishing handshake with first hop
[D] 90%: Establishing a Tor circuit
[D] 100%: Done
[D] Building a TorState
Successfully bootstrapped Tor
[D] We now have the following circuits:
[D]  * <Circuit 1 BUILT [193.219.33.14 204.124.83.133 108.163.156.56] for GENERAL>
[D]  * <Circuit 2 EXTENDED [128.2.142.104 87.236.194.158] for GENERAL>
[D]  * <Circuit 3 EXTENDED [] for GENERAL>
Unhandled Error
Traceback (most recent call last):
Failure: txtorcon.torcontrolprotocol.TorProtocolError: 551 Address unknown

Traceback (most recent call last):
  File "/home/isis/.virtualenvs/ooni/local/lib/python2.7/site-packages/twisted/internet/defer.py", line 397, in errback
    self._startRunCallbacks(fail)
  File "/home/isis/.virtualenvs/ooni/local/lib/python2.7/site-packages/twisted/internet/defer.py", line 464, in _startRunCallbacks
    self._runCallbacks()
  File "/home/isis/.virtualenvs/ooni/local/lib/python2.7/site-packages/twisted/internet/defer.py", line 551, in _runCallbacks
    current.result = callback(current.result, *args, **kw)
  File "/home/isis/.virtualenvs/ooni/local/lib/python2.7/site-packages/twisted/internet/defer.py", line 1101, in gotResult
    _inlineCallbacks(r, g, deferred)
--- <exception caught here> ---
  File "/home/isis/.virtualenvs/ooni/local/lib/python2.7/site-packages/twisted/internet/defer.py", line 1045, in _inlineCallbacks
    result = g.send(result)
  File "/home/isis/code/torproject/ooni-probe/ooni/director.py", line 240, in state_complete
    config.probe_ip = client_ip.values()[0]
exceptions.AttributeError: 'NoneType' object has no attribute 'values'
Traceback (most recent call last):
  File "/home/isis/.virtualenvs/ooni/local/lib/python2.7/site-packages/twisted/internet/defer.py", line 1101, in gotResult
    _inlineCallbacks(r, g, deferred)
  File "/home/isis/.virtualenvs/ooni/local/lib/python2.7/site-packages/twisted/internet/defer.py", line 1091, in _inlineCallbacks
    deferred.errback()
  File "/home/isis/.virtualenvs/ooni/local/lib/python2.7/site-packages/twisted/internet/defer.py", line 397, in errback
    self._startRunCallbacks(fail)
  File "/home/isis/.virtualenvs/ooni/local/lib/python2.7/site-packages/twisted/internet/defer.py", line 464, in _startRunCallbacks
    self._runCallbacks()
--- <exception caught here> ---
  File "/home/isis/.virtualenvs/ooni/local/lib/python2.7/site-packages/twisted/internet/defer.py", line 551, in _runCallbacks
    current.result = callback(current.result, *args, **kw)
  File "/home/isis/code/torproject/ooni-probe/ooni/director.py", line 246, in setup_failed
    raise UnableToStartTor
ooni.errors.UnableToStartTor:
^CReceived SIGINT, shutting down.
Main loop terminated.

and we get the same as the last one if we specify in the config to not include IP or use geoip.

Child Tickets

Change History (2)

comment:1 Changed 6 years ago by hellais

The first error is not a bug, it's just that you have not run make inside of the data/ directory and you should edit ooniprobe.conf to point to it (as is mentioned in the error message and in the documentation).

The second error should have been fixed in master (by failing over to using geoip.ubuntu.org instead of tor) and is a bug in Tor: https://trac.torproject.org/projects/tor/ticket/8214.

What version of ooniprobe are you running?

comment:2 Changed 5 years ago by hellais

Resolution: fixed
Status: newclosed
Note: See TracTickets for help on using tickets.