Hello,

I've had the same problem with apt-proxy as described above.  I'm using
unstable with unmodified packages.

I'm not familiar with twisted, but I did some digging and found that the
Deferred.errback() method claims to allow one to send no argument (in
which case the "fail" argument defaults to None).  However, if no
exception is currently being processed, this causes another exception to
be thrown in the failure.Failure() constructor.  I added a small patch
to defer.py in the twisted library which appears to work around the
problem (see attached).

However, when using the system with this patch, my package lists'
signatures appear to be broken in some way.  This may not be a proper
fix, but hopefully it will illuminate the problem for someone more
familiar with twisted.

thanks,
tim
--- defer.py.orig       2006-07-04 12:00:49.000000000 -0400
+++ defer.py    2006-07-04 12:01:17.000000000 -0400
@@ -245,6 +245,9 @@
         Passing a string as `fail' is deprecated, and will be punished with
         a warning message.
         """
+        if fail == None:
+            fail = failure.DefaultException(None)
+
         if not isinstance(fail, failure.Failure):
             fail = failure.Failure(fail)
 

Reply via email to