[IPython-dev] ipython -twisted

Fernando Perez fperez.net at gmail.com
Fri May 30 02:19:04 EDT 2008

On Thu, May 29, 2008 at 10:24 PM, Ville M. Vainio <vivainio at gmail.com> wrote:
> On Fri, May 30, 2008 at 3:30 AM, Glenn H Tarbox, PhD <glenn at tarbox.org> wrote:
>> ipython -twisted hangs and times out on Ubuntu hardy and Osx
> Works on windows, at least. I have to test this at home on ubuntu. The
> first call just takes a while to complete.

I just tried it on hardy, and it's fully borked.

In [1]: 4+3
Warning: Timeout for mainloop thread exceeded
switching to nonthreaded mode (until mainloop wakes up again)

In [2]: 4+3
Out[2]: 7

In [3]:
Closing threads... Done.
Closing threads... Done.
Traceback (most recent call last):
  File "/home/fperez/usr/lib/python2.5/site-packages/IPython/twshell.py",
line 251, in mainloop
  File "/home/fperez/usr/lib/python2.5/site-packages/IPython/twshell.py",
line 229, in reactorrun
  File "/usr/lib/python2.5/site-packages/twisted/internet/posixbase.py",
line 220, in run
  File "/usr/lib/python2.5/site-packages/twisted/internet/posixbase.py",
line 228, in mainLoop
--- <exception caught here> ---
  File "/usr/lib/python2.5/site-packages/twisted/internet/base.py",
line 561, in runUntilCurrent
    call.func(*call.args, **call.kw)
  File "/usr/lib/python2.5/site-packages/twisted/internet/base.py",
line 411, in _continueSystemEvent
    for callList in sysEvtTriggers[1], sysEvtTriggers[2]:
exceptions.TypeError: 'NoneType' object is unsubscriptable
mainloop ending....

This went in while I was in the middle of my Berkeley move and I have
to admit I didn't even look at a single commit during that period.
Obviously I should have been paying more attention, I'm afraid.

I'd really like to hear from Brian and Yi, if you have a chance, since
both of you know Twisted about 100 times better than me.  But my
inclination right now is to quickly put out an 0.8.4 release that
disables that code completely.  We don't need anything drastic, just
to  ignore the -twisted flag completely until  someone comes back and
can produce that code in an implementation that works on all known
platforms, with some measure of confidence.

We have a tradition of shipping code that actually works with ipython,
let's do our best to keep it that way.  IPython0 may have a messy
architecture and no unit tests, which is why it moves so slowly.  But
typically we test carefully and conservatively what we add, so users
can actually trust it. Code that is so spectacularly broken simply
can't be shipped.



More information about the IPython-dev mailing list