From: Serhiy Storchaka Date: Mon, 19 Dec 2016 06:07:29 +0000 (+0200) Subject: Issue #20191: Fixed a crash in resource.prlimit() when pass a sequence that X-Git-Tag: v3.7.0a1~1719 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=932ee73188c73bbe63834f69566a4f188fbf43a7;p=python Issue #20191: Fixed a crash in resource.prlimit() when pass a sequence that doesn't own its elements as limits. --- 932ee73188c73bbe63834f69566a4f188fbf43a7 diff --cc Misc/NEWS index 5e8bc0c54c,5b02f89b52..df5d126550 --- a/Misc/NEWS +++ b/Misc/NEWS @@@ -39,193 -29,184 +39,196 @@@ Core and Builtin - Issue #28918: Fix the cross compilation of xxlimited when Python has been built with Py_DEBUG defined. -- Issue #28731: Optimize _PyDict_NewPresized() to create correct size dict. - Improve speed of dict literal with constant keys up to 30%. +- Issue #23722: Rather than silently producing a class that doesn't support + zero-argument ``super()`` in methods, failing to pass the new + ``__classcell__`` namespace entry up to ``type.__new__`` now results in a + ``DeprecationWarning`` and a class that supports zero-argument ``super()``. -Library -------- +- Issue #28797: Modifying the class __dict__ inside the __set_name__ method of + a descriptor that is used inside that class no longer prevents calling the + __set_name__ method of other descriptors. -- Issue #20191: Fixed a crash in resource.prlimit() when pass a sequence that - doesn't own its elements as limits. +- Issue #28799: Remove the ``PyEval_GetCallStats()`` function and deprecate + the untested and undocumented ``sys.callstats()`` function. Remove the + ``CALL_PROFILE`` special build: use the :func:`sys.setprofile` function, + :mod:`cProfile` or :mod:`profile` to profile function calls. -- Issue #28779: multiprocessing.set_forkserver_preload() would crash the - forkserver process if a preloaded module instantiated some - multiprocessing objects such as locks. +- Issue #12844: More than 255 arguments can now be passed to a function. -- Issue #28847: dbm.dumb now supports reading read-only files and no longer - writes the index file when it is not changed. +- Issue #28782: Fix a bug in the implementation ``yield from`` when checking + if the next instruction is YIELD_FROM. Regression introduced by WORDCODE + (issue #26647). -- Issue #26937: The chown() method of the tarfile.TarFile class does not fail - now when the grp module cannot be imported, as for example on Android - platforms. +- Issue #28774: Fix error position of the unicode error in ASCII and Latin1 + encoders when a string returned by the error handler contains multiple + non-encodable characters (non-ASCII for the ASCII codec, characters out + of the U+0000-U+00FF range for Latin1). -Windows -------- +- Issue #28731: Optimize _PyDict_NewPresized() to create correct size dict. + Improve speed of dict literal with constant keys up to 30%. -- Issue #25778: winreg does not truncate string correctly (Patch by Eryk Sun) +- Issue #28532: Show sys.version when -V option is supplied twice. -- Issue #28896: Deprecate WindowsRegistryFinder and disable it by default. +- Issue #27100: The with-statement now checks for __enter__ before it + checks for __exit__. This gives less confusing error messages when + both methods are missing. Patch by Jonathan Ellington. -Tests ------ +- Issue #28746: Fix the set_inheritable() file descriptor method on platforms + that do not have the ioctl FIOCLEX and FIONCLEX commands. -- Issue #28683: Fix the tests that bind() a unix socket and raise - PermissionError on Android for a non-root user. +- Issue #26920: Fix not getting the locale's charset upon initializing the + interpreter, on platforms that do not have langinfo. -- Issue #26939: Add the support.setswitchinterval() function to fix - test_functools hanging on the Android armv7 qemu emulator. +- Issue #28648: Fixed crash in Py_DecodeLocale() in debug build on Mac OS X + when decode astral characters. Patch by Xiang Zhang. -Build ------ +- Issue #28665: Improve speed of the STORE_DEREF opcode by 40%. -- Issue #20211: Do not add the directory for installing C header files and the - directory for installing object code libraries to the cross compilation - search paths. Original patch by Thomas Petazzoni. +- Issue #19398: Extra slash no longer added to sys.path components in case of + empty compile-time PYTHONPATH components. -- Issue #28849: Do not define sys.implementation._multiarch on Android. +- Issue #28621: Sped up converting int to float by reusing faster bits counting + implementation. Patch by Adrian Wielgosik. +- Issue #28580: Optimize iterating split table values. + Patch by Xiang Zhang. -What's New in Python 3.6.0 release candidate 2 -============================================== +- Issue #28583: PyDict_SetDefault didn't combine split table when needed. + Patch by Xiang Zhang. -*Release date: 2016-12-16* +- Issue #28128: Deprecation warning for invalid str and byte escape + sequences now prints better information about where the error + occurs. Patch by Serhiy Storchaka and Eric Smith. -Core and Builtins ------------------ +- Issue #28509: dict.update() no longer allocate unnecessary large memory. -- Issue #28147: Fix a memory leak in split-table dictionaries: setattr() - must not convert combined table into split table. Patch written by INADA - Naoki. +- Issue #28426: Fixed potential crash in PyUnicode_AsDecodedObject() in debug + build. -- Issue #28990: Fix asyncio SSL hanging if connection is closed before - handshake is completed. (Patch by HoHo-Ho) +- Issue #28517: Fixed of-by-one error in the peephole optimizer that caused + keeping unreachable code. -Tools/Demos ------------ +- Issue #28214: Improved exception reporting for problematic __set_name__ + attributes. -- Issue #28770: Fix python-gdb.py for fastcalls. +- Issue #23782: Fixed possible memory leak in _PyTraceback_Add() and exception + loss in PyTraceBack_Here(). -Windows -------- +- Issue #28183: Optimize and cleanup dict iteration. -- Issue #28896: Deprecate WindowsRegistryFinder. +- Issue #26081: Added C implementation of asyncio.Future. + Original patch by Yury Selivanov. -Build ------ +- Issue #28379: Added sanity checks and tests for PyUnicode_CopyCharacters(). + Patch by Xiang Zhang. -- Issue #28898: Prevent gdb build errors due to HAVE_LONG_LONG redefinition. +- Issue #28376: The type of long range iterator is now registered as Iterator. + Patch by Oren Milman. +- Issue #28376: Creating instances of range_iterator by calling range_iterator + type now is disallowed. Calling iter() on range instance is the only way. + Patch by Oren Milman. -What's New in Python 3.6.0 release candidate 1 -============================================== +- Issue #26906: Resolving special methods of uninitialized type now causes + implicit initialization of the type instead of a fail. -*Release date: 2016-12-06* +- Issue #18287: PyType_Ready() now checks that tp_name is not NULL. + Original patch by Niklas Koep. -Core and Builtins ------------------ +- Issue #24098: Fixed possible crash when AST is changed in process of + compiling it. -- Issue #23722: Rather than silently producing a class that doesn't support - zero-argument ``super()`` in methods, failing to pass the new - ``__classcell__`` namespace entry up to ``type.__new__`` now results in a - ``DeprecationWarning`` and a class that supports zero-argument ``super()``. +- Issue #28201: Dict reduces possibility of 2nd conflict in hash table when + hashes have same lower bits. -- Issue #28797: Modifying the class __dict__ inside the __set_name__ method of - a descriptor that is used inside that class no longer prevents calling the - __set_name__ method of other descriptors. +- Issue #28350: String constants with null character no longer interned. -- Issue #28782: Fix a bug in the implementation ``yield from`` when checking - if the next instruction is YIELD_FROM. Regression introduced by WORDCODE - (issue #26647). +- Issue #26617: Fix crash when GC runs during weakref callbacks. -Library -------- +- Issue #27942: String constants now interned recursively in tuples and frozensets. -- Issue #27030: Unknown escapes in re.sub() replacement template are allowed - again. But they still are deprecated and will be disabled in 3.7. +- Issue #28289: ImportError.__init__ now resets not specified attributes. -- Issue #28835: Fix a regression introduced in warnings.catch_warnings(): - call warnings.showwarning() if it was overriden inside the context manager. +- Issue #21578: Fixed misleading error message when ImportError called with + invalid keyword args. -- Issue #27172: To assist with upgrades from 2.7, the previously documented - deprecation of ``inspect.getfullargspec()`` has been reversed. This decision - may be revisited again after the Python 2.7 branch is no longer officially - supported. +- Issue #28203: Fix incorrect type in complex(1.0, {2:3}) error message. + Patch by Soumya Sharma. -- Issue #24142: Reading a corrupt config file left configparser in an - invalid state. Original patch by Florian Höch. +- Issue #28086: Single var-positional argument of tuple subtype was passed + unscathed to the C-defined function. Now it is converted to exact tuple. -- Issue #28843: Fix asyncio C Task to handle exceptions __traceback__. +- Issue #28214: Now __set_name__ is looked up on the class instead of the + instance. -C API ------ +- Issue #27955: Fallback on reading /dev/urandom device when the getrandom() + syscall fails with EPERM, for example when blocked by SECCOMP. -- Issue #28808: PyUnicode_CompareWithASCIIString() now never raises exceptions. +- Issue #28192: Don't import readline in isolated mode. -Documentation -------------- +- Issue #27441: Remove some redundant assignments to ob_size in longobject.c. + Thanks Oren Milman. -- Issue #23722: The data model reference and the porting section in the What's - New guide now cover the additional ``__classcell__`` handling needed for - custom metaclasses to fully support PEP 487 and zero-argument ``super()``. +- Issue #27222: Clean up redundant code in long_rshift function. Thanks + Oren Milman. -Tools/Demos ------------ +- Upgrade internal unicode databases to Unicode version 9.0.0. -- Issue #28023: Fix python-gdb.py didn't support new dict implementation. +- Issue #28131: Fix a regression in zipimport's compile_source(). zipimport + should use the same optimization level as the interpreter. +- Issue #28126: Replace Py_MEMCPY with memcpy(). Visual Studio can properly + optimize memcpy(). -What's New in Python 3.6.0 beta 4 -================================= +- Issue #28120: Fix dict.pop() for splitted dictionary when trying to remove a + "pending key" (Not yet inserted in split-table). Patch by Xiang Zhang. -*Release date: 2016-11-21* +- Issue #26182: Raise DeprecationWarning when async and await keywords are + used as variable/attribute/class/function name. -Core and Builtins ------------------ +- Issue #26182: Fix a refleak in code that raises DeprecationWarning. -- Issue #28532: Show sys.version when -V option is supplied twice. +- Issue #28721: Fix asynchronous generators aclose() and athrow() to + handle StopAsyncIteration propagation properly. -- Issue #27100: The with-statement now checks for __enter__ before it - checks for __exit__. This gives less confusing error messages when - both methods are missing. Patch by Jonathan Ellington. +- Issue #26110: Speed-up method calls: add LOAD_METHOD and CALL_METHOD + opcodes. -- Issue #28746: Fix the set_inheritable() file descriptor method on platforms - that do not have the ioctl FIOCLEX and FIONCLEX commands. +Library +------- -- Issue #26920: Fix not getting the locale's charset upon initializing the - interpreter, on platforms that do not have langinfo. ++- Issue #20191: Fixed a crash in resource.prlimit() when pass a sequence that ++ doesn't own its elements as limits. + -- Issue #28648: Fixed crash in Py_DecodeLocale() in debug build on Mac OS X - when decode astral characters. Patch by Xiang Zhang. +- Issue #16255: subprocess.Popen uses /system/bin/sh on Android as the shell, + instead of /bin/sh. -- Issue #19398: Extra slash no longer added to sys.path components in case of - empty compile-time PYTHONPATH components. +- Issue #28779: multiprocessing.set_forkserver_preload() would crash the + forkserver process if a preloaded module instantiated some + multiprocessing objects such as locks. -- Issue #28665: Improve speed of the STORE_DEREF opcode by 40%. +- Issue #26937: The chown() method of the tarfile.TarFile class does not fail + now when the grp module cannot be imported, as for example on Android + platforms. -- Issue #28583: PyDict_SetDefault didn't combine split table when needed. - Patch by Xiang Zhang. +- Issue #28847: dbm.dumb now supports reading read-only files and no longer + writes the index file when it is not changed. A deprecation warning is now + emitted if the index file is missed and recreated in the 'r' and 'w' modes + (will be an error in future Python releases). -- Issue #27243: Change PendingDeprecationWarning -> DeprecationWarning. - As it was agreed in the issue, __aiter__ returning an awaitable - should result in PendingDeprecationWarning in 3.5 and in - DeprecationWarning in 3.6. +- Issue #27030: Unknown escapes consisting of ``'\'`` and an ASCII letter in + re.sub() replacement templates regular expressions now are errors. -- Issue #26182: Fix a refleak in code that raises DeprecationWarning. +- Issue #28835: Fix a regression introduced in warnings.catch_warnings(): + call warnings.showwarning() if it was overriden inside the context manager. -- Issue #28721: Fix asynchronous generators aclose() and athrow() to - handle StopAsyncIteration propagation properly. +- Issue #27172: To assist with upgrades from 2.7, the previously documented + deprecation of ``inspect.getfullargspec()`` has been reversed. This decision + may be revisited again after the Python 2.7 branch is no longer officially + supported. -Library -------- +- Issue #28740: Add sys.getandroidapilevel(): return the build time API version + of Android as an integer. Function only available on Android. - Issue #26273: Add new :data:`socket.TCP_CONGESTION` (Linux 2.6.13) and :data:`socket.TCP_USER_TIMEOUT` (Linux 2.6.37) constants. Patch written by