From: Meador Inge Date: Thu, 19 Jul 2012 18:51:59 +0000 (-0500) Subject: Issue #15394: Fix ref leaks in PyModule_Create. X-Git-Tag: v3.3.0b2~162 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=f4cc2161d567460f27a1390277ba6c70581ebc0d;p=python Issue #15394: Fix ref leaks in PyModule_Create. Patch by Julia Lawall. --- f4cc2161d567460f27a1390277ba6c70581ebc0d diff --cc Misc/ACKS index b671d61ddf,16847be1f8..d0850636aa --- a/Misc/ACKS +++ b/Misc/ACKS @@@ -601,14 -542,14 +601,15 @@@ Amos Latteie Piers Lauder Ben Laurie Simon Law + Julia Lawall Chris Lawrence Brian Leair +Mathieu Leduc-Hamel +Christopher Lee +Inyeol Lee James Lee John J. Lee -Inyeol Lee Thomas Lee -Christopher Lee Tennessee Leeuwenburg Luc Lefebvre Vincent Legoll diff --cc Misc/NEWS index 35c4a44b40,0136a4425b..7baa57fa99 --- a/Misc/NEWS +++ b/Misc/NEWS @@@ -10,91 -10,96 +10,94 @@@ What's New in Python 3.3.0 Beta 2 Core and Builtins ----------------- + - Issue #15394: An issue in PyModule_Create that caused references to + be leaked on some error paths has been fixed. Patch by Julia Lawall. + - Issue #15368: An issue that caused bytecode generation to be - non-deterministic when using randomized hashing (-R) has been fixed. - -- Issue #15020: The program name used to search for Python's path is now - "python3" under Unix, not "python". + non-deterministic has been fixed. -- Issue #15033: Fix the exit status bug when modules invoked using -m swith, - return the proper failure return value (1). Patch contributed by Jeff Knupp. +- Issue #15202: Consistently use the name "follow_symlinks" for + new parameters in os and shutil functions. -- Issue #12268: File readline, readlines and read() or readall() methods - no longer lose data when an underlying read system call is interrupted. - IOError is no longer raised due to a read system call returning EINTR - from within these methods. +- Issue #15314: __main__.__loader__ is now set correctly during + interpreter startup -- Issue #15142: Fix reference leak when deallocating instances of types - created using PyType_FromSpec(). +- Issue #15111: When a module imported using 'from import' has an ImportError + inside itself, don't mask that fact behind a generic ImportError for the + module itself. -- Issue #10053: Don't close FDs when FileIO.__init__ fails. Loosely based on - the work by Hirokazu Yamamoto. +- Issue #15293: Add GC support to the AST base node type. -- Issue #14775: Fix a potential quadratic dict build-up due to the garbage - collector repeatedly trying to untrack dicts. +- Issue #15291: Fix a memory leak where AST nodes where not properly + deallocated. -- Issue #14494: Fix __future__.py and its documentation to note that - absolute imports are the default behavior in 3.0 instead of 2.7. - Patch by Sven Marnach. +- Issue #15110: Fix the tracebacks generated by "import xxx" to not show + the importlib stack frames. -- Issue #14761: Fix potential leak on an error case in the import machinery. +- Issue #15020: The program name used to search for Python's path is now + "python3" under Unix, not "python". -- Issue #14699: Fix calling the classmethod descriptor directly. +- Issue #15033: Fix the exit status bug when modules invoked using -m swith, + return the proper failure return value (1). Patch contributed by Jeff Knupp. -- Issue #14433: Prevent msvcrt crash in interactive prompt when stdin - is closed. +- Issue #15229: An OSError subclass whose __init__ doesn't call back + OSError.__init__ could produce incomplete instances, leading to crashes + when calling str() on them. + +Library +------- -- Issue #11603 (again): Setting __repr__ to __str__ now raises a RuntimeError - when repr() or str() is called on such an object. +- Issue #1492704: shutil.copyfile() raises a distinct SameFileError now if + source and destination are the same file. Patch by Atsuo Ishimoto. -- Issue #14658: Fix binding a special method to a builtin implementation of a - special method with a different name. +- Issue #15397: inspect.getmodulename() is now based directly on importlib + via a new importlib.machinery.all_suffixes() API. -- Issue #14630: Fix a memory access bug for instances of a subclass of int - with value 0. +- Issue #14635: telnetlib will use poll() rather than select() when possible + to avoid failing due to the select() file descriptor limit. -- Issue #14612: Fix jumping around with blocks by setting f_lineno. +- Issue #15180: Clarify posixpath.join() error message when mixing str & bytes -- Issue #14607: Fix keyword-only arguments which started with ``__``. +- Issue #15343: pkgutil now includes an iter_importer_modules implementation + for importlib.machinery.FileFinder (similar to the way it already handled + zipimport.zipimporter) -- Issue #13889: Check and (if necessary) set FPU control word before calling - any of the dtoa.c string <-> float conversion functions, on MSVC builds of - Python. This fixes issues when embedding Python in a Delphi app. +- Issue #15314: runpy now sets __main__.__loader__ correctly -- Issue #14474: Save and restore exception state in thread.start_new_thread() - while writing error message if the thread leaves a unhandled exception. +- Issue #15357: The import emulation in pkgutil is now deprecated. pkgutil + uses importlib internally rather than the emulation -- Issue #13019: Fix potential reference leaks in bytearray.extend(). Patch - by Suman Saha. +- Issue #15233: Python now guarantees that callables registered with + the atexit module will be called in a deterministic order. -- Issue #14378: Fix compiling ast.ImportFrom nodes with a "__future__" string as - the module name that was not interned. +- Issue #15238: shutil.copystat now copies Linux "extended attributes". -- Issue #14331: Use significantly less stack space when importing modules by - allocating path buffers on the heap instead of the stack. +- Issue #15230: runpy.run_path now correctly sets __package__ as described + in the documentation -- Issue #14334: Prevent in a segfault in type.__getattribute__ when it was not - passed strings. +- Issue #15315: Support VS 2010 in distutils cygwincompiler. -- Issue #1469629: Allow cycles through an object's __dict__ slot to be - collected. (For example if ``x.__dict__ is x``). +- Issue #15294: Fix a regression in pkgutil.extend_path()'s handling of + nested namespace packages. -- Issue #14172: Fix reference leak when marshalling a buffer-like object - (other than a bytes object). +- Issue #15056: imp.cache_from_source() and source_from_cache() raise + NotImplementedError when sys.implementation.cache_tag is set to None. -- Issue #13521: dict.setdefault() now does only one lookup for the given key, - making it "atomic" for many purposes. Patch by Filip Gruszczyński. +- Issue #15256: Grammatical mistake in exception raised by imp.find_module(). -- Issue #14471: Fix a possible buffer overrun in the winreg module. +- Issue #5931: wsgiref environ variable SERVER_SOFTWARE will specify an + implementation specific term like Cpython, Jython instead of generic "Python" -Library -------- +- Issue #13248: Remove obsolete argument "max_buffer_size" of BufferedWriter + and BufferedRWPair, from the io module. -- Issue #14635: telnetlib will use poll() rather than select() when possible - to avoid failing due to the select() file descriptor limit. +- Issue #13248: Remove obsolete argument "version" of argparse.ArgumentParser. -- Issue #15180: Clarify posixpath.join() error message when mixing str & bytes +- Issue #14814: implement more consistent ordering and sorting behaviour + for ipaddress objects -- Issue #15230: runpy.run_path now correctly sets __package__ as described - in the documentation +- Issue #14814: ipaddress network objects correctly return NotImplemented + when compared to arbitrary objects instead of raising TypeError - Issue #14990: Correctly fail with SyntaxError on invalid encoding declaration.