[Python-Dev] OS X 10.9 Mavericks -> 2.7.6/3.3.3 updates needed

Ned Deily nad at acm.org
Thu Oct 24 11:11:46 CEST 2013

On Tuesday, Apple released OS X 10.9 (a.k.a. Mavericks).   There has already 
been a lot of interest in it, in part because Apple has made it available for 
free and has made it easy for users with 10.8, 10.7, and (most) 10.6 systems 
to upgrade directly to 10.9.  Unfortunately, there are issues with our current 
maintenance releases (3.3.2 and 2.7.5) on OS X 10.9 that call for new 
maintenance releases as soon as possible.

One is critical in that it causes the interpreter to crash when running in 
interactive mode (http://bugs.python.org/issue18458).  The problem was due to 
a long-standing compatibility issue in libedit's readline compatibility layer 
that upstream has finally fixed and Apple has now shipped in 10.9.  Because 
the python.org installers dynamically link to libedit, the original workaround 
in readline.c for the original design flaw in history indexing now causes a 
segfault on 10.9 when the user types in the second command interactively.  Not 
good.  Ronald devised a fix that allows readline.so at runtime to detect and 
work with either version of libedit so that we continue to have binary 
compatibility across multiple OS X releases.  That fix is already out in the 
3.4.0 alphas and backported to the 3.3 and 2.7 branches, awaiting release 
there.  Just in the last 12 hours, there have been at least four duplicates of 
the issue reported by users.  I've updated the original issue to explicitly 
mention 10.9, now that it is no longer under NDA, and to provide a 
downloadable script for inexperienced users to workaround the problem by 
"removing" readline.so.  Presumably, as word gets out, there will be fewer 
duplicate issues opened but the impact will remain.

The only other major 10.9-related issue that I'm aware of at the moment is one 
with the OS X native Tk (of course!) that can affect IDLE and other Tkinter 
applications.  See http://bugs.python.org/issue19373 for details.  The 
workaround for it is to run Tk in 32-bit mode.  I've "engaged" the Tk project 
in the problem.  Since it can affect all users of Tk, and not just Python 
ones, I'm hopeful that there will be a fix soon.  Note that, for 3.4.0, we are 
now packaging a private copy of Tcl/Tk with the 10.6+ OS X installer to avoid 
the chronic problems caused by Apple not updating the buggy system Tcl/Tk and 
forcing users to download and install a third-party Tcl/Tk just to be able to 
use IDLE.  With the concurrence of the release managers, I am in the process 
of backporting that packaging support into 3.3 and 2.7.  That means any Tk fix 
will likely require an update to those private copies.

Because of the criticality of the readline issue, we really need to get 2.7.6 
and 3.3.3 out as soon as practical.  Besides the Tk packaging, there are a few 
other 10.9 build-related issues that should go into these releases.  I expect 
to complete testing across all releases and have everything checked-in 
sometime this weekend.  I don't think we should wait for the Issue19373 Tk fix 
if it isn't available when everything else is.  If necessary, we can later 
re-release the OS X installers with just the updated Tcl/Tk shared libraries.

I don't know where any other potential 2.7.6 or 3.3.3 issues stand at this 
point.  But I'd like Benjamin and Georg to propose an aggressive schedule so 
we can get these fixes out there.

 Ned Deily,
 nad at acm.org

More information about the Python-Dev mailing list