[IPython-user] IPython/wxPython crash on ppc Mac OS X 10.4.8

Fernando Perez fperez.net at gmail.com
Tue Oct 31 07:25:00 CST 2006


On 10/31/06, Michael Scarpa <m.scarpa at uva.nl> wrote:
> On 31 Oct, 2006, at 9:01, Ville M. Vainio wrote:

> > That's interesting. We could automatically disable these features on
> > mac ipython in Extensions/ipy_defaults.py, which is used if the user
> > chooses not to install the ipythonrc files and upgrades with "%upgrade
> > -nolegacy".
>
> I am not entirely sure this would be a good idea.  I work on a Mac as
> well (PowerPC) and never encountered this issue.  Maybe that's
> because I don't use the Python installation that comes with MacOSX
> but rather installed my own Python using DarwinPorts.  If someone
> could give me more details on how to reproduce this, I would be
> willing to test if I can reproduce this problem on my setup as well.
> But from what I understand reading this thread, it is a problem
> related to Apple's Python distribution or MacPython, but might not
> apply to other distributions or a Python installation from source.

I think the real bug lies inside Apple's pseudo-readline library.  If
I remember correctly, it can be reproduced by (assuming the above
lines are active in your ipythonrc file) typing something at the
command line, say

import re

and then

impor<UP ARROW>

possibly with more up/down/left/right arrow action.  After a few
keystrokes, python crashes.  It's easy to reproduce the crash in pure
python (non-ipython) as long as you load and configure readline
similarly.  It's just that ipython does it automatically, so the
problem is more visible.

I agree with Michael that we should not disable this by default: the
bug is not ours, and I don't see the value of 'punishing' users with
correctly operating Python installations (the non-apple ones) by
disabling otherwise useful functionality for them.

We could certainly do something like:

if apple_broken_python and problematic_lines_in_readline_config:
  warn("You have enabled features which can crash Apple's buggy Python, etc...")

With a link to the wiki for further details.  But I don't like to
permanently disable this: people tend to carry their config files
around from machine to machine, and eventually the bug will go away.
A dynamic warning that only fires when the problematic condition
actually is detected is fine, but a blanket disabling is not.

Cheers,

f


More information about the IPython-user mailing list