[tahoe-dev] [tahoe-lafs] #710: exception from binascii.unhexlify when handling announcements on Python 2.4
tahoe-lafs
trac at allmydata.org
Mon May 18 19:30:54 PDT 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