[IPython-user] IPython/wxPython crash on ppc Mac OS X 10.4.8
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
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.
More information about the IPython-user