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

Michael Scarpa m.scarpa at uva.nl
Tue Oct 31 07:41:54 CST 2006


On 31 Oct, 2006, at 14:25, Fernando Perez wrote:
> 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 just tried this on my setup (the mentioned lines in ipythonrc are  
active, I checked), and I could not get Python to crash.  I believe  
it comes from the fact that when installing Python through  
DarwinPorts, readline gets installed as well (as a dependency),  
meaning that the default readline from Apple is not used.  This might  
explain why this error does not occur.  I recall that also Fink is  
set up like this, so people who install Python using either will most  
likely have their own readline, which (I presume) does not suffer  
from above bug/problem.

> 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.

The question here would be, how to detect whether one is using Python/ 
readline from Apple or their own, but I guess you guys know more  
about that than I do.  Just being curious here.

With kind regards,

Michael



More information about the IPython-user mailing list