greekev / namebench

Automatically exported from code.google.com/p/namebench
Apache License 2.0
0 stars 0 forks source link

IndexError: list index out of range - during initial health check #112

Closed GoogleCodeExporter closed 8 years ago

GoogleCodeExporter commented 8 years ago
What steps will reproduce the problem?
1. run
2. wait

What is the expected output? What do you see instead?
Successful run.
Instead it stalls somewhere in the initial health checks randomly.
It spits out an traceback and retries that step ad infinitum. Sometimes it
will spit out more tracebacks, but the step number never increments.
It could at least fail gracefully.

What version of the product are you using? On what operating system?
1.2 on debian squeeze x86 2.6.32

Please provide any additional information below.

> Running initial health checks on 395 servers (35 threads)... [22/395]   

Exception in thread Thread-74:                                            

Traceback (most recent call last):                                        

  File "/usr/lib/python2.5/threading.py", line 486, in __bootstrap_inner  

    self.run()                                                            

  File "/home/dm8tbr/src/namebench-1.2/libnamebench/nameserver_list.py",
line 110, in run                 
    self.results.put(ns.CheckHealth(sanity_checks=self.checks))           

  File "/home/dm8tbr/src/namebench-1.2/libnamebench/health_checks.py", line
235, in CheckHealth           
    (is_broken, warning, duration) = function(*args)                      

  File "/home/dm8tbr/src/namebench-1.2/libnamebench/health_checks.py", line
61, in TestAnswers            
    (response, duration, error_msg) = self.TimedRequest(record_type,
record, timeout)                     
  File "/home/dm8tbr/src/namebench-1.2/libnamebench/nameserver.py", line
211, in TimedRequest             
    request = self.CreateRequest(record, request_type, rdataclass)        

  File "/home/dm8tbr/src/namebench-1.2/libnamebench/nameserver.py", line
181, in CreateRequest            
    return dns.message.make_query(record, request_type, return_type)      

  File "/usr/lib/python2.5/site-packages/dns/message.py", line 1032, in
make_query                        
    m = Message()                                                         

  File "/usr/lib/python2.5/site-packages/dns/message.py", line 137, in
__init__                           
    self.id = dns.entropy.random_16()                                     

  File "/usr/lib/python2.5/site-packages/dns/entropy.py", line 92, in
random_16                           
    return pool.random_16()                                               

  File "/usr/lib/python2.5/site-packages/dns/entropy.py", line 69, in
random_16                           
    return self.random_8() * 256 + self.random_8()                        

  File "/usr/lib/python2.5/site-packages/dns/entropy.py", line 62, in
random_8                            
    self.stir(self.digest)                                                

  File "/usr/lib/python2.5/site-packages/dns/entropy.py", line 54, in stir

    bytes[self.pool_index] ^= b                                           

IndexError: list index out of range                                       

Original issue reported on code.google.com by dm8...@gmail.com on 25 Mar 2010 at 9:43

GoogleCodeExporter commented 8 years ago
just in case I reran with r748 - almost same result

> Running initial health checks on 404 servers (35 threads)... [43/404]         

> Running initial health checks on 404 servers (35 threads)... [66/404]         

Exception in thread Thread-46:                                                  

Traceback (most recent call last):                                              

  File "/usr/lib/python2.5/threading.py", line 486, in __bootstrap_inner            

    self.run()                                                                      

  File "/home/dm8tbr/src/namebench-read-only/libnamebench/nameserver_list.py", line
110, in run                 
    self.results.put(ns.CheckHealth(sanity_checks=self.checks))                     

  File "/home/dm8tbr/src/namebench-read-only/libnamebench/health_checks.py", line
235, in CheckHealth           
    (is_broken, warning, duration) = function(*args)                                

  File "/home/dm8tbr/src/namebench-read-only/libnamebench/health_checks.py", line 62,
in TestAnswers            
    (response, duration, error_msg) = self.TimedRequest(record_type, record, timeout)

  File "/home/dm8tbr/src/namebench-read-only/libnamebench/nameserver.py", line 212,
in TimedRequest             
    request = self.CreateRequest(record, request_type, rdataclass)                  

  File "/home/dm8tbr/src/namebench-read-only/libnamebench/nameserver.py", line 182,
in CreateRequest            
    return dns.message.make_query(record, request_type, return_type)                

  File "/usr/lib/python2.5/site-packages/dns/message.py", line 1032, in make_query  

    m = Message()                                                                   

  File "/usr/lib/python2.5/site-packages/dns/message.py", line 137, in __init__     

    self.id = dns.entropy.random_16()                                               

  File "/usr/lib/python2.5/site-packages/dns/entropy.py", line 92, in random_16     

    return pool.random_16()                                                         

  File "/usr/lib/python2.5/site-packages/dns/entropy.py", line 69, in random_16     

    return self.random_8() * 256 + self.random_8()                                  

  File "/usr/lib/python2.5/site-packages/dns/entropy.py", line 62, in random_8      

    self.stir(self.digest)                                                          

  File "/usr/lib/python2.5/site-packages/dns/entropy.py", line 54, in stir          

    bytes[self.pool_index] ^= b                                                     

IndexError: list index out of range                                             

> Running initial health checks on 404 servers (35 threads)... [92/404]
> Running initial health checks on 404 servers (35 threads)... [114/404]
> Running initial health checks on 404 servers (35 threads)... [135/404]
> Running initial health checks on 404 servers (35 threads)... [159/404]
> Running initial health checks on 404 servers (35 threads)... [182/404]
> Running initial health checks on 404 servers (35 threads)... [221/404]
> Running initial health checks on 404 servers (35 threads)... [251/404]
> Running initial health checks on 404 servers (35 threads)... [281/404]
Exception in thread Thread-64:                                          
Traceback (most recent call last):                                      
  File "/usr/lib/python2.5/threading.py", line 486, in __bootstrap_inner
    self.run()                                                          
  File "/home/dm8tbr/src/namebench-read-only/libnamebench/nameserver_list.py", line
110, in run
    self.results.put(ns.CheckHealth(sanity_checks=self.checks))                     

  File "/home/dm8tbr/src/namebench-read-only/libnamebench/health_checks.py", line
235, in CheckHealth
    (is_broken, warning, duration) = function(*args)                                

  File "/home/dm8tbr/src/namebench-read-only/libnamebench/health_checks.py", line 62,
in TestAnswers 
    (response, duration, error_msg) = self.TimedRequest(record_type, record, timeout)

  File "/home/dm8tbr/src/namebench-read-only/libnamebench/nameserver.py", line 212,
in TimedRequest  
    request = self.CreateRequest(record, request_type, rdataclass)                  

  File "/home/dm8tbr/src/namebench-read-only/libnamebench/nameserver.py", line 182,
in CreateRequest 
    return dns.message.make_query(record, request_type, return_type)                

  File "/usr/lib/python2.5/site-packages/dns/message.py", line 1032, in make_query  

    m = Message()                                                                   

  File "/usr/lib/python2.5/site-packages/dns/message.py", line 137, in __init__     

    self.id = dns.entropy.random_16()                                               

  File "/usr/lib/python2.5/site-packages/dns/entropy.py", line 92, in random_16     

    return pool.random_16()                                                         

  File "/usr/lib/python2.5/site-packages/dns/entropy.py", line 69, in random_16     

    return self.random_8() * 256 + self.random_8()                                  

  File "/usr/lib/python2.5/site-packages/dns/entropy.py", line 62, in random_8      

    self.stir(self.digest)                                                          

  File "/usr/lib/python2.5/site-packages/dns/entropy.py", line 54, in stir          

    bytes[self.pool_index] ^= b                                                     

IndexError: list index out of range                                             

[...]

Original comment by dm8...@gmail.com on 25 Mar 2010 at 9:53

GoogleCodeExporter commented 8 years ago
dupe of issue 96
The search should default to 'all issues'! (I did search before filing the 
issue but
overlooked the limited scope)

Original comment by dm8...@gmail.com on 25 Mar 2010 at 10:11

GoogleCodeExporter commented 8 years ago

Original comment by helixblue on 26 Mar 2010 at 1:09