[tahoe-dev] [tahoe-lafs] #710: exception from binascii.unhexlify when handling announcements on Python 2.4

tahoe-lafs trac at allmydata.org
Tue May 19 02:30:54 UTC 2009


#710: exception from binascii.unhexlify when handling announcements on Python 2.4
---------------------+------------------------------------------------------
 Reporter:  exarkun  |           Owner:  nobody   
     Type:  defect   |          Status:  new      
 Priority:  major    |       Milestone:  undecided
Component:  unknown  |         Version:  1.4.1    
 Keywords:           |   Launchpad_bug:           
---------------------+------------------------------------------------------
 When I start up a node on Python 2.4, if I insert some additional logging,
 then I can see this unhandled exception happening partway through
 processing the initial announcements list:

 {{{
 2009-05-18 22:24:17-0400 [-] Unhandled Error
         Traceback (most recent call last):
           File "/c/home/tahoe/allmydata-tahoe-1.4.1/Twisted-8.1.0-py2.4
 -linux-padre.egg/twisted/internet/defer.py", line 328, in _runCallbacks
             self.result = callback(self.result, *args, **kw)
           File "/c/home/tahoe/allmydata-tahoe-1.4.1/support/lib/python2.4
 /site-packages/foolscap-0.3.2-py2.4.egg/foolscap/broker.py", line 536,
 in <lambda>
             d.addCallback(lambda res: self._doCall(delivery))
           File "/c/home/tahoe/allmydata-tahoe-1.4.1/support/lib/python2.4
 /site-packages/foolscap-0.3.2-py2.4.egg/foolscap/broker.py", line 571,
 in _doCall
             return obj.doRemoteCall(delivery.methodname, args, kwargs)
           File "/c/home/tahoe/allmydata-tahoe-1.4.1/support/lib/python2.4
 /site-packages/foolscap-0.3.2-py2.4.egg/foolscap/referenceable.py", lin
 e 59, in doRemoteCall
             res = meth(*args, **kwargs)
         --- <exception caught here> ---
           File "/c/home/tahoe/allmydata-
 tahoe-1.4.1/src/allmydata/introducer/client.py", line 252, in
 remote_announce
             self._new_announcement(ann)
           File "/c/home/tahoe/allmydata-
 tahoe-1.4.1/src/allmydata/introducer/client.py", line 258, in
 _new_announcement
             index = make_index(announcement)
           File "/c/home/tahoe/allmydata-
 tahoe-1.4.1/src/allmydata/introducer/common.py", line 9, in make_index
             nodeid = b32decode(m.group(1).upper())
           File "/usr/lib/python2.4/base64.py", line 224, in b32decode
             parts.append(binascii.unhexlify(hex(acc)[2:-1]))
         exceptions.TypeError: Odd-length string
 }}}

 A related issue may be that this sort of exception isn't being reported at
 all, as far as I can tell.  It manifest as a mysterious shortness in the
 known peers list on the welcome page.  To discover the problem, I had to
 edit the code to insert a try/except/log.err call.

-- 
Ticket URL: <http://allmydata.org/trac/tahoe/ticket/710>
tahoe-lafs <http://allmydata.org>
secure decentralized file storage grid


More information about the tahoe-dev mailing list