[Python-Dev] OS X 10.9 Mavericks -> 2.7.6/3.3.3 updates needed (original) (raw)

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