[tor-bugs] #7714 [Ooni]: nettests/blocking/dnstamper.py fails if one of the DNS resolver Timeout

Tor Bug Tracker & Wiki blackhole at torproject.org
Wed Dec 12 20:41:58 UTC 2012


#7714: nettests/blocking/dnstamper.py  fails if one of the DNS resolver Timeout
------------------------------+---------------------------------------------
 Reporter:  zion              |          Owner:  hellais
     Type:  defect            |         Status:  new    
 Priority:  normal            |      Milestone:         
Component:  Ooni              |        Version:         
 Keywords:  oonib, dnstamper  |         Parent:         
   Points:                    |   Actualpoints:         
------------------------------+---------------------------------------------
 If one of the DNS resolver timeouts, the dnstamper.py  stops and gives no
 report at all, leaving only options.

 $ ./bin/ooniprobe nettests/blocking/dnstamper.py -f test-hostname.txt -T
 test-dnsresolver.txt
 Log opened.
 No test deck detected
 [D] processing options
 [D] Checking if backend is present
 [D] Checking if file is present
 [D] Running [(<class 'nettests.blocking.dnstamper.DNSTamperTest'>,
 'test_a_lookup')]
 [D] Options {'inputs': <ooni.nettest.inputProcessorIterator object at
 0x3299c90>, 'version': '0.4', 'name': 'DNS tamper'}
 [D] cmd_line_options {'pcapfile': None, 'help': 0, 'subargs': ('-f',
 'test-hostname.txt', '-T', 'test-dnsresolver.txt'), 'resume': 0, 'test':
 'nettests/blocking/dnstamper.py', 'logfile': None, 'collector': None,
 'reportfile': None}
 Traceback (most recent call last):
   File "/home/user/Develop/ooni-probe/ooni/reporter.py", line 275, in
 __init__
     socksport=int(config.tor.socks_port))
 TypeError: int() argument must be a string or a number, not 'NoneType'
 [D] Creating report_dnstamper_2012-12-12T194201Z.yamloo
 [D] Writing report with YAML reporter
 Reporting to file report_dnstamper_2012-12-12T194201Z.yamloo
 [D] Not going to resume dnstamper.py
 [D] Running dnstamper default processor
 [D] input_unit_items: 1.0
 [D] test_case_number: 1.0
 [D] Test case number: 1.0
 [D] Total iterations: 1.0
 [D] Current iteration: 0.0
 [D] Running dnstamper default processor
 [D] Running dnstamper.py with input unit <<class
 'ooni.inputunit.InputUnit'> inputs=<listiterator object at 0x3311cd0>>
 [D] Running test cases with input unit
 [D] Running test with this input www.mit.edu
 [D] Processing test_a_lookup
 Running test_a_lookup with www.mit.edu...
 Doing the test lookups on www.mit.edu
 DNSDatagramProtocol starting on 23406
 Starting protocol <twisted.names.dns.DNSDatagramProtocol object at
 0x3311d90>
 [D] Running test with this input www.edu.cn
 [D] Processing test_a_lookup
 Running test_a_lookup with www.edu.cn...
 Doing the test lookups on www.edu.cn
 DNSDatagramProtocol starting on 43458
 Starting protocol <twisted.names.dns.DNSDatagramProtocol object at
 0x331e090>
 [dnstamper.py] 0.0%
 [D] Adding [Query('www.mit.edu', 1, 1)] to report)
 Testing resolver: 8.8.8.1
 DNSDatagramProtocol starting on 40508
 Starting protocol <twisted.names.dns.DNSDatagramProtocol object at
 0x331e390>
 (UDP Port 23406 Closed)
 Stopping protocol <twisted.names.dns.DNSDatagramProtocol object at
 0x3311d90>
 [D] Adding [Query('www.edu.cn', 1, 1)] to report)
 Testing resolver: 8.8.8.1
 DNSDatagramProtocol starting on 24444
 Starting protocol <twisted.names.dns.DNSDatagramProtocol object at
 0x3311dd0>
 (UDP Port 43458 Closed)
 Stopping protocol <twisted.names.dns.DNSDatagramProtocol object at
 0x331e090>
 [D] Adding [Query('www.mit.edu', 1, 1)] to report)
 [!] Deferred Timed Out Error
 [!] Error in running test_a_lookup
 Traceback (most recent call last):
 Failure: twisted.internet.defer.TimeoutError: [Query('www.mit.edu', 1, 1)]
 [D] No post processor configured
 (UDP Port 40508 Closed)
 Stopping protocol <twisted.names.dns.DNSDatagramProtocol object at
 0x331e390>
 [D] Adding [Query('www.edu.cn', 1, 1)] to report)
 [!] Deferred Timed Out Error
 [!] Error in running test_a_lookup
 Traceback (most recent call last):
 Failure: twisted.internet.defer.TimeoutError: [Query('www.edu.cn', 1, 1)]
 [D] No post processor configured
 [D] Acquiring lock for dnstamper.py
 [D] Releasing lock for dnstamper.py
 [D] input_unit_items: 1.0
 [D] test_case_number: 1.0
 [D] Test case number: 1.0
 [D] Total iterations: 1.0
 [D] Current iteration: 1.0
 [D] testsEnded: Finished running all tests
 Main loop terminated.


 $ more report_dnstamper_2012-12-12T194201Z.yamloo
 ###########################################
 # OONI Probe Report for DNS tamper test
 # Thu Dec 13 03:42:01 2012
 ###########################################
 ---
 options:
   collector: null
   help: 0
   logfile: null
   pcapfile: null
   reportfile: null
   resume: 0
   subargs: [-f, test-hostname.txt, -T, test-dnsresolver.txt]
   test: nettests/blocking/dnstamper.py
 probe_asn: AS0
 probe_cc: null
 probe_ip: 127.0.0.1
 software_name: ooniprobe
 software_version: 0.0.8
 start_time: 1355312521.0
 test_name: DNS tamper
 test_version: '0.4'
 ...

 $ git log
 commit 9212cbabcfc297564d886ddc5b884833a4c8dd30
 Author: Arturo Filastò <art at fuffa.org>
 Date:   Tue Dec 11 11:45:16 2012 +0100

     Clean up HTTP Header Field Manipulation test documentation

 commit 53ed7f69ff809e20eeaaaa4e3797e1da155de6a2
 Author: Arturo Filastò <art at fuffa.org>
 Date:   Sun Dec 9 14:01:16 2012 +0100

     Explicitly state that reactor.stop and reactor.start should not be
 called from inside test methods

 commit fb9d25b80d761532c41034fffc255244b3175fab
 Author: Arturo Filastò <art at fuffa.org>
 Date:   Sun Dec 9 01:08:19 2012 +0100

     Do not call reactor.stop in netalyzr test.

-- 
Ticket URL: <https://trac.torproject.org/projects/tor/ticket/7714>
Tor Bug Tracker & Wiki <https://trac.torproject.org/>
The Tor Project: anonymity online


More information about the tor-bugs mailing list