[IPython-dev] IPython threading bug (was: [Enthought-Dev] Bug concering X-Server)

Brian Granger ellisonbg at gmail.com
Mon Mar 22 11:57:13 EDT 2010


What version of IPython are you running Martin?

Brian

On Sun, Mar 21, 2010 at 2:13 PM, Gael Varoquaux
<gael.varoquaux at normalesup.org> wrote:
> On Sun, Mar 21, 2010 at 10:07:02PM +0100, Martin Bothe wrote:
>>    Hello enthought-list-users,
>>    I tried a bit around and found a bug, so I report here.
>>    After creating a mayavi plot in ipython and attaching axes to it like so:
>>    ax = mlab.axes()
>>    I wrote in ipython: ax.axes. and hit the tab key which led to an error,
>>    making the terminal useless:
>>    In [32]: ax.axes.The program 'python' received an X Window System error.
>>    This probably reflects a bug in the program.
>>    The error was 'BadAccess (attempt to access private resource denied)'.
>>      (Details: serial 162967 error_code 10 request_code 153 minor_code 26)
>>      (Note to programmers: normally, X errors are reported asynchronously;
>>       that is, you will receive the error a while after causing it.
>>       To debug your program, run it with the --sync command line
>>       option to change this behavior. You can then get a meaningful
>>       backtrace from your debugger if you break on the gdk_x_error()
>>    function.)
>
> Hi Martin,
>
> Indeed, this is a bug from IPython: they are inspecting the object by
> calling some of its methods outside the GUI mainloop, in a separate
> thread. GUI toolkits cannot deal with such calls outside the main loop
> (they are not thread safe). As a result, you sometimes get crashes...
>
> The problem, I believe, is that the IPython codebase does not control
> when this call is made, but readline does, so it's a bit hard to inject
> it in the mainloop. That, said, I don't see why the readline callback
> couldn't inject the inspection code in the mainloop and busy wait for it
> to be called in the readline thread. Of course this is code to be
> written, and its probably tricky.
>
> Anyhow, I am Ccing the IPython mailing list. I suspect that they are
> aware of the problem, and simply lack man-power to address it properly.
>
> Cheers,
>
> Gaël
>
> _______________________________________________
> IPython-dev mailing list
> IPython-dev at scipy.org
> http://mail.scipy.org/mailman/listinfo/ipython-dev
>
>



-- 
Brian E. Granger, Ph.D.
Assistant Professor of Physics
Cal Poly State University, San Luis Obispo
bgranger at calpoly.edu
ellisonbg at gmail.com



More information about the IPython-dev mailing list