[Twisted-Python] trac / website woes

Jean-Paul Calderone exarkun at divmod.com
Sat Jan 13 18:55:45 EST 2007


On Sat, 13 Jan 2007 18:09:45 +0000 (UTC), Matthias Urlichs <smurf at smurf.noris.de> wrote:
>I hate Trac. Especially the one on twistedmatrix.
>
>- My previous login ("smurfix") seems to suffer from a lost password. The
>website does not have an obvious place to request it.

It doesn't have a non-obvious way, either.

>
>- I tried to create a new login. Reporting a bug with it requires an email
>address. The page to enter the email address does not have a Submit button.

Coincidentally, I fixed both of these problems a couple hours ago.

>
>- Not entering login data results in an empty page.
>

I don't think we're going to do anything about that.

>On to the real bug; somebody else can enter it into Trac.
>Or, even better, fix the source.
>
>It seems that Deferreds are tricky.

Heh. :)

>
>--- /usr/lib/python2.4/site-packages/twisted/spread/pb.py	2006-05-12 15:50:13.000000000 +0200
>+++ /tmp/pb.py	2007-01-13 18:48:50.508925924 +0100
>@@ -651,6 +651,9 @@
>     def notifyOnDisconnect(self, notifier):
>         """Call the given callback when the Broker disconnects."""
>         assert callable(notifier)
>-        self.disconnects.append(notifier)
>+        if self.disconnected:
>+            notifier()
>+        else:
>+            self.disconnects.append(notifier)
>
>     def notifyOnFail(self, notifier):
>
>... as exemplified by this traceback:
>
>2007/01/13 18:26 CET [Broker,0,127.0.0.1] Error: <twisted.python.failure.Failure twisted.spread.pb.PBConnectionLost>
>2007/01/13 18:26 CET [Broker,0,127.0.0.1] [Failure instance: Traceback (failure with no frames): twisted.spread.pb.PBConnectionLost: [Failure instance: Traceback (failure with no frames): twisted.internet.error.ConnectionDone: Connection was closed cleanly.
>2007/01/13 18:26 CET [Broker,0,127.0.0.1] ]
>2007/01/13 18:26 CET [Broker,0,127.0.0.1] ]
>2007/01/13 18:27 CET [Broker,1,127.0.0.1] Looking for 00:11:d8:54:e6:2d
>2007/01/13 18:27 CET [-] Peer will receive following PB traceback:
>2007/01/13 18:27 CET [-] Traceback (most recent call last):
>          File "/usr/lib/python2.4/site-packages/twisted/internet/posixbase.py", line 226, in mainLoop
>            self.runUntilCurrent()
>          File "/usr/lib/python2.4/site-packages/twisted/internet/base.py", line 534, in runUntilCurrent
>            f(*a, **kw)
>          File "/usr/lib/python2.4/site-packages/twisted/internet/defer.py", line 229, in callback
>            self._startRunCallbacks(result)
>          File "/usr/lib/python2.4/site-packages/twisted/internet/defer.py", line 294, in _startRunCallbacks
>            self._runCallbacks()
>        --- <exception caught here> ---
>          File "/usr/lib/python2.4/site-packages/twisted/internet/defer.py", line 307, in _runCallbacks
>            self.result = callback(self.result, *args, **kw)
>          File "/usr/lib/python2.4/site-packages/twisted/spread/pb.py", line 1747, in _loggedIn
>            self.portalWrapper.broker.notifyOnDisconnect(logout)
>          File "/usr/lib/python2.4/site-packages/twisted/spread/pb.py", line 654, in notifyOnDisconnect
>            self.disconnects.append(notifier)
>        exceptions.AttributeError: 'NoneType' object has no attribute 'append'
>

Can you clarify the misbehavior you're reporting?  It looks to me like this
can only occur when the connection is lost between when an avatar is received
and when it is passed to the client-side cred callback, which seems like a
vanishingly small window to me.  Not suggesting this isn't a problem, just
that perhaps I don't understand it. :)

Jean-Paul




More information about the Twisted-Python mailing list