CARVIEW |
Python24Fixes
Collects possible fixes for the Python 2.4.4 release.
The release24-maint branch was made at rev. 37910. Trunk fixes before this revision therefore should already be in 2.4. To get a list of changes since then, run:
svn log -r37910:HEAD >24-log.txt
5-digit numbers are SVN revisions; SF bugs/patches can be linked by writing 'SF:' and the bug/patch number.
Fixes to consider
1484695 - tarfile.py breaks the MoinMoin build process without it because it creates directories instead of files. There was at least another duplicate bug about this issue on the tracker (besides the one that is referred to in the patch item).
1552726: in readline.c, avoid repeatedly polling in interactive mode by only placing a timeout on the select() if an input hook has been defined. This prevents an interactive Python from waking up 10 times per second. Patch by Richard Boulton.
subprocess.py: r51797, r50720, r50638, r50501, r47077, r46651, r45852, r45234, r39605, r37914
Revisions with "backport candidate" in the message: none left.
Requiring special attention: r47061 (recursionerror fix) r46589 (let dicts propagate eq errors; dictresize bug) r39044 (threading bug)
Sync the Demo/ subdirectory with the 2.5 version (very low priority -- fix real bugs first).
1548687: Certain kinds of imports using the imp module and other methods can cause C modules (stdlib and extension) to be reloaded. This can crash Python in a few different nasty ways. A doc patch with warning would probably be sufficient for 2.4 .
1567234: metaclasses can override mro() to return insane MROs, which are very likely to cause crashes. It's fixed in 2.5 and worth backporting to 2.4.4. (rev. 41845, with a further bugfix in rev. 41865)
OpenSSL vulnerabilities have recently been found and fixed. Grab the latest version of OpenSSL 0.9.7 (rev k at the moment) to build the binary release with.
1517495: memory leak in threading or socketserver module - prevents writing stable threading network daemons.
1553427: locale.getdefaultlocale() bug when _locale is missing
1561333: -xcode=pic32 option is not supported on Solaris x86 Sun C - cause shared library support to be brocken
Valgrind errors
r45576 | neal.norwitz | 2006-04-20 02:56:05 -0400 (Thu, 20 Apr 2006) | 8 lines (Change to posixmodule.c for sysconf(). The original code in Python 2.4 doesn't match the code in 2.5 trunk, so the patch doesn't apply cleanly. Don't know what this means. --amk) Address issues brought up by MvL on python-checkins. I tested this with valgrind on amd64. The man pages I found for diff architectures are inconsistent on this. I'm not entirely sure this change is correct for all architectures either. Perhaps we should just over-allocate and not worry about it?
Already applied
_curses_panel.c: all fixes applied.
gzip.py: checked
Backport candidates: r52147 r51728 r51669 r47171 r46882 r46879 r46878 r46602 (tokenizer.c bug; patch didn't apply cleanly) r41696 r39767 r39743 (UTF-7 decoding bug) r39739 r39653 r39645 r39595 r39594 r39135 r39030 r39012
failmalloc bugs: 50743 50773
Klocwork bugs: all examined, and most of them applied.
r42545: Make staticmethod and classmethod complain about keyword args. This fix is similar to
1119418 and
1567691, which were already backported.
Done: look for Klocwork fixes and backport them. There were also some Klocwork fixes that removed unnecessary null pointer checks (XDECREF -> DECREF), but I've avoided those, because without a scan of the 2.4 code, it's hard to tell if removing the check is safe.
Changes to classobject.c and possibly others. These probably had failmalloc in the checkin comment. I saw one such fix already applied. There may be other files. (If these changes are to do with interned strings, then they've been applied to 2.4.)
1545341: setup() keyword have to be list (doesn't work with tuple)
Don't need to be applied
zlib: 43525, 42093, 41505, 38128
Backport candidates: r46991 r41842 r41531 r39492 r38932 r38927 r38773 r38745
Rejected fixes
A thread stack fix:
780714 (reported
in a python-dev post). (This doesn't seem to be a bug: if you set sys.recursionlimit too high, you can get a segfault. It's unclear from the bug if any platform crashes with 2.4 out of the box, so I don't think there's anything to fix. --amk)
Fix to obmalloc.c that fixes Python's memory problems (releasing memory back to the system). (Looks too complicated to apply to a bugfix release.) [Hopefully this is of some help : What I did was just apply the patch from this page and recompiled and that's it. Here are the two ref pages : 1.
https://tinyurl.com/k3w8w and 2.
https://tinyurl.com/jw9mw I ran 'make test' and all but two passed. Those two I suspect are due to some other reason.]
EditText (last edited 2006-10-14 09:23:33 by port-212-202-73-102)
DeleteCache (cached 2007-10-27 14:47:38)- Login
- Navigation
- Actions
- Your recent pages