[issue32092] mock.patch with autospec does not consume self / cls argument
Change by Phil Connell : -- nosy: +pconnell ___ Python tracker <https://bugs.python.org/issue32092> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue38091] Import deadlock detection causes deadlock
Change by Phil Connell : -- nosy: +pconnell ___ Python tracker <https://bugs.python.org/issue38091> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue30587] Mock with spec object does not ensure method call signatures
Change by Phil Connell : -- nosy: +pconnell ___ Python tracker <https://bugs.python.org/issue30587> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue7897] Support parametrized tests in unittest
Change by Phil Connell : -- nosy: +pconnell ___ Python tracker <https://bugs.python.org/issue7897> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue38122] AsyncMock force always creating an AsyncMock for child mocks
Change by Phil Connell : -- nosy: +pconnell ___ Python tracker <https://bugs.python.org/issue38122> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue38384] An assertion failure in test_pickle
Change by Phil Connell : -- nosy: +pconnell ___ Python tracker <https://bugs.python.org/issue38384> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue18108] shutil.chown should support dir_fd and follow_symlinks keyword arguments
Change by Phil Connell : -- nosy: +pconnell ___ Python tracker <https://bugs.python.org/issue18108> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue38494] Add assert_not_called_with
Change by Phil Connell : -- nosy: +pconnell ___ Python tracker <https://bugs.python.org/issue38494> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue23882] unittest discovery doesn't detect namespace packages when given no parameters
Change by Phil Connell : -- nosy: +pconnell ___ Python tracker <https://bugs.python.org/issue23882> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue37052] Add examples for mocking async for and async context manager in unittest.mock docs
Change by Phil Connell : -- nosy: +pconnell ___ Python tracker <https://bugs.python.org/issue37052> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue38505] Mock.call_args and Mock.call_args_list not propagated to parent Mock
Change by Phil Connell : -- nosy: +pconnell ___ Python tracker <https://bugs.python.org/issue38505> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue25299] argparse: TypeError: __init__() takes at least 4 arguments (4 given)
Change by Phil Connell : -- nosy: +pconnell ___ Python tracker <https://bugs.python.org/issue25299> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue35617] unittest discover does not work with implicit namespaces
Change by Phil Connell : -- nosy: +pconnell ___ Python tracker <https://bugs.python.org/issue35617> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue25597] unittest.mock does not wrap dunder methods (__getitem__ etc)
Change by Phil Connell : -- nosy: +pconnell ___ Python tracker <https://bugs.python.org/issue25597> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue36723] Unittest Discovery for namespace subpackages dot notation fails
Change by Phil Connell : -- nosy: +pconnell ___ Python tracker <https://bugs.python.org/issue36723> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue38778] Document that os.fork is not allowed in subinterpreters
New submission from Phil Connell : Add a comment to the os.fork docs to note that forking from a subinterpreter is no longer allowed (see issue34651) -- assignee: docs@python components: Documentation messages: 356459 nosy: docs@python, eric.snow, pconnell priority: normal severity: normal status: open title: Document that os.fork is not allowed in subinterpreters versions: Python 3.8 ___ Python tracker <https://bugs.python.org/issue38778> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue33608] Add a cross-interpreter-safe mechanism to indicate that an object may be destroyed.
Change by Phil Connell : -- nosy: +pconnell ___ Python tracker <https://bugs.python.org/issue33608> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue33608] Add a cross-interpreter-safe mechanism to indicate that an object may be destroyed.
Phil Connell added the comment: Based on Victor's info from https://bugs.python.org/issue36114#msg337090 I believe the crash is essentially what's reproduced in the attached program. >From the root of a (built) cpython clone run: gcc -c -o fini_crash.o -IInclude -I. fini_crash.c && gcc -o fini_crash fini_crash.o libpython3.9.a -lcrypt -lpthread -ldl -lutil -lm && ./fini_crash The output should be: MAIN: allow other thread to execute OTHER: acquired GIL OTHER: released GIL MAIN: interpreter finalized OTHER: attempt to acquire GIL...crash! [1]266749 segmentation fault (core dumped) ./fini_crash And running it through valgrind: $ valgrind --suppressions=Misc/valgrind-python.supp fini_crash -- COMMAND -- 13:4[12/5973] ==266836== Memcheck, a memory error detector ==266836== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al. ==266836== Using Valgrind-3.15.0 and LibVEX; rerun with -h for copyright info ==266836== Command: fini_crash ==266836== MAIN: allow other thread to execute OTHER: acquired GIL OTHER: released GIL MAIN: interpreter finalized OTHER: attempt to acquire GIL...crash! ==266836== Thread 2: ==266836== Invalid read of size 8 ==266836==at 0x15607D: PyEval_RestoreThread (ceval.c:389) ==266836==by 0x15479F: evil_main (in /home/phconnel/dev/cpython/fini_crash) ==266836==by 0x48B94CE: start_thread (in /usr/lib/libpthread-2.30.so) ==266836==by 0x4B232D2: clone (in /usr/lib/libc-2.30.so) ==266836== Address 0x4d17270 is 16 bytes inside a block of size 264 free'd ==266836==at 0x48399AB: free (vg_replace_malloc.c:540) ==266836==by 0x1773FF: tstate_delete_common (pystate.c:829) ==266836==by 0x1773FF: _PyThreadState_Delete (pystate.c:848) ==266836==by 0x1773FF: zapthreads (pystate.c:311) ==266836==by 0x1773FF: PyInterpreterState_Delete (pystate.c:321) ==266836==by 0x174920: finalize_interp_delete (pylifecycle.c:1242) ==266836==by 0x174920: Py_FinalizeEx.part.0 (pylifecycle.c:1400) ==266836==by 0x15487B: main (in /home/phconnel/dev/cpython/fini_crash) ==266836== Block was alloc'd at ==266836==at 0x483877F: malloc (vg_replace_malloc.c:309) ==266836==by 0x178D7C: new_threadstate (pystate.c:557) ==266836==by 0x178D7C: PyThreadState_New (pystate.c:629) ==266836==by 0x178D7C: PyGILState_Ensure (pystate.c:1288) ==266836==by 0x154759: evil_main (in /home/phconnel/dev/cpython/fini_crash) ==266836==by 0x48B94CE: start_thread (in /usr/lib/libpthread-2.30.so) ==266836==by 0x4B232D2: clone (in /usr/lib/libc-2.30.so) ==266836== ==266836== Invalid read of size 8 ==266836==at 0x156081: PyEval_RestoreThread (ceval.c:389) ==266836==by 0x15479F: evil_main (in /home/phconnel/dev/cpython/fini_crash) ==266836==by 0x48B94CE: start_thread (in /usr/lib/libpthread-2.30.so) ==266836==by 0x4B232D2: clone (in /usr/lib/libc-2.30.so) ==266836== Address 0x4c3a0f0 is 16 bytes inside a block of size 2,960 free'd ==266836==at 0x48399AB: free (vg_replace_malloc.c:540) ==266836==by 0x174920: finalize_interp_delete (pylifecycle.c:1242) ==266836==by 0x174920: Py_FinalizeEx.part.0 (pylifecycle.c:1400) ==266836==by 0x15487B: main (in /home/phconnel/dev/cpython/fini_crash) ==266836== Block was alloc'd at ==266836==at 0x483877F: malloc (vg_replace_malloc.c:309) ==266836==by 0x177153: PyInterpreterState_New (pystate.c:205) ==266836==by 0x1732BF: pycore_create_interpreter (pylifecycle.c:526) ==266836==by 0x1732BF: pyinit_config.constprop.0 (pylifecycle.c:695) ==266836==by 0x1766B7: pyinit_core (pylifecycle.c:879) ==266836==by 0x1766B7: Py_InitializeFromConfig (pylifecycle.c:1055) ==266836==by 0x1766B7: Py_InitializeEx (pylifecycle.c:1093) ==266836==by 0x154801: main (in /home/phconnel/dev/cpython/fini_crash) ==266836== -- Adde
[issue33608] Add a cross-interpreter-safe mechanism to indicate that an object may be destroyed.
Phil Connell added the comment: Just to summarise, I'm fairly sure this is exactly what Victor saw: a daemon thread attempts to reacquire the GIL via Py_END_ALLOW_THREADS after interpreter finalisation. Obviously the threadstate pointer held by the thread is then invalid...so we crash. So I see basically two options: 1. Don't (always) free threadstate structures in Py_Finalize, and figure out a way to avoid leaking them (if Python is re-initialized in the same process). 2. Ban this behaviour entirely, e.g. have Py_Finalize fail if there are live threads with threadstate objects. The discussion so far assumes that we should support this, i.e. #1. Any thoughts on that? (I'll have a think about whether this is actually doable!) -- ___ Python tracker <https://bugs.python.org/issue33608> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue33608] Add a cross-interpreter-safe mechanism to indicate that an object may be destroyed.
Phil Connell added the comment: The attached patch (wrap_threadstate.diff) is enough to stop the crash. It's a slightly dirty proof-of-concept, but equally could be the basis for a solution. The main functional issue is that there's still a race on the Py_BLOCK_THREADS side: it's possible that the "is threadstate still valid" check can pass, but the interpreter is finalised while the daemon thread is trying to reacquire the GIL in PyEval_RestoreThread. (The Py_UNBLOCK_THREADS side is non-racy as the GIL is held while the ts and wrapper updates are done). -- Added file: https://bugs.python.org/file48732/wrap_threadstate.diff ___ Python tracker <https://bugs.python.org/issue33608> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue14905] zipimport needs to support namespace packages when no 'directory' entry exists
Phil Connell added the comment: One version of the bug described here (and fixed in the old implementation under issue17633) exists in the Python implementation of zipimport: $ unzip -l namespace1.zip Archive: namespace1.zip Length DateTimeName - -- - 0 08-13-2020 06:30 one/ 0 08-13-2020 06:30 one/two/ 0 08-13-2020 06:30 one/two/three.py - --- 0 3 files $ unzip -l namespace2.zip Archive: namespace2.zip Length DateTimeName - -- - 0 08-13-2020 06:37 alpha/beta/gamma.py - --- 0 1 file $ PYTHONPATH=namespace1.zip:namespace2.zip ./python Python 3.10.0a0 (heads/master:c51db0ea40, Aug 13 2020, 06:41:20) [GCC 4.8.5 20150623 (Red Hat 4.8.5-39)] on linux Type "help", "copyright", "credits" or "license" for more information. >>> import one >>> import alpha Traceback (most recent call last): File "", line 1, in ModuleNotFoundError: No module named 'alpha' >>> In short, imports where there's no separate entry for directories in the zip file don't work. Any opinions on whether this *is* the problem this issue is trying to track? -- ___ Python tracker <https://bugs.python.org/issue14905> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue18032] set methods should specify whether they consume iterators "lazily"
Changes by Phil Connell : -- nosy: +pconnell ___ Python tracker <http://bugs.python.org/issue18032> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue18033] Example for Profile Module shows incorrect method
Changes by Phil Connell : -- nosy: +pconnell ___ Python tracker <http://bugs.python.org/issue18033> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue18035] telnetlib incorrectly assumes that select.error has an errno attribute
Changes by Phil Connell : -- nosy: +pconnell ___ Python tracker <http://bugs.python.org/issue18035> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue18036] "How do I create a .pyc file?" FAQ entry is out of date
Changes by Phil Connell : -- nosy: +pconnell ___ Python tracker <http://bugs.python.org/issue18036> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue18043] No mention of `match.regs` in `re` documentation
Changes by Phil Connell : -- nosy: +pconnell ___ Python tracker <http://bugs.python.org/issue18043> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue18042] Provide enum.unique class decorator
Changes by Phil Connell : -- nosy: +pconnell ___ Python tracker <http://bugs.python.org/issue18042> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue18047] Descriptors get invoked in old-style objects and classes
Changes by Phil Connell : -- nosy: +pconnell ___ Python tracker <http://bugs.python.org/issue18047> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue17792] Unhelpful UnboundLocalError due to del'ing of exception target
Changes by Phil Connell : -- nosy: +pconnell ___ Python tracker <http://bugs.python.org/issue17792> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue18111] Add a default argument to min & max
Changes by Phil Connell : -- nosy: +pconnell ___ Python tracker <http://bugs.python.org/issue18111> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue18112] PEP 442 implementation
Changes by Phil Connell : -- nosy: +isoschiz, pconnell ___ Python tracker <http://bugs.python.org/issue18112> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue18129] Fatal Python error: Cannot recover from stack overflow.
Changes by Phil Connell : -- nosy: +pconnell ___ Python tracker <http://bugs.python.org/issue18129> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue18208] Wrong bytecode generated for 'in' operation
New submission from Phil Connell: The following two expressions should have the same value: Python 3.4.0a0 (default:fae92309c3be, Jun 14 2013, 09:29:54) [GCC 4.8.0] on linux Type "help", "copyright", "credits" or "license" for more information. >>> 1 in [2] == False False >>> (1 in [2]) == False True It looks like this is a compiler issue - there shouldn't be a jump if the 'in' expression is false: >>> dis.dis("1 in [2] == False") 1 0 LOAD_CONST 0 (1) 3 LOAD_CONST 1 (2) 6 BUILD_LIST 1 9 DUP_TOP 10 ROT_THREE 11 COMPARE_OP 6 (in) 14 JUMP_IF_FALSE_OR_POP24 17 LOAD_CONST 2 (False) 20 COMPARE_OP 2 (==) 23 RETURN_VALUE >> 24 ROT_TWO 25 POP_TOP 26 RETURN_VALUE >>> -- components: Interpreter Core messages: 191108 nosy: benjamin.peterson, brett.cannon, georg.brandl, isoschiz, ncoghlan, pconnell priority: normal severity: normal status: open title: Wrong bytecode generated for 'in' operation ___ Python tracker <http://bugs.python.org/issue18208> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue18208] Wrong bytecode generated for 'in' operation
Phil Connell added the comment: Thanks Amaury. That's quite surprising, but I wouldn't advocate changing such long standing behaviour. I'm closing the issue. -- status: pending -> closed ___ Python tracker <http://bugs.python.org/issue18208> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue18565] Test for closing delegating generator with cleared frame (Issue17669)
New submission from Phil Connell: This is a testcase for issue17669 - it passes against the latest default (and hits the same segfault under 3.3.0). I came up with this while tracking down a thorny generator finalisation crash that turned out to be a variant on 17669. The root cause was gen_close being called on a generator that's delegating to another, and whose frame has already had frame_clear called (so f_stacktop is NULL). It's reproduced by creating a reference cycle that's broken by clearing the delegating generator's frame. -- components: Interpreter Core files: gen_close_with_cleared_frame.diff keywords: patch messages: 193765 nosy: benjamin.peterson, isoschiz, pconnell priority: normal severity: normal status: open title: Test for closing delegating generator with cleared frame (Issue17669) type: enhancement versions: Python 3.4 Added file: http://bugs.python.org/file31048/gen_close_with_cleared_frame.diff ___ Python tracker <http://bugs.python.org/issue18565> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue18565] Test for closing delegating generator with cleared frame (Issue17669)
Phil Connell added the comment: Good suggestion, updated patch attached. -- Added file: http://bugs.python.org/file31055/gen_close_with_cleared_frame.diff ___ Python tracker <http://bugs.python.org/issue18565> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue17669] Segfault caused by weird combination of imports and yield from
Changes by Phil Connell : -- nosy: +pconnell ___ Python tracker <http://bugs.python.org/issue17669> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue18566] In unittest.TestCase docs for setUp() and tearDown() don't mention AssertionError
Changes by Phil Connell : -- nosy: +pconnell ___ Python tracker <http://bugs.python.org/issue18566> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue18594] C accelerator for collections.Counter is slow
Changes by Phil Connell : -- nosy: +pconnell ___ Python tracker <http://bugs.python.org/issue18594> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue1565525] tracebacks eat up memory by holding references to locals and globals when they are not wanted
Changes by Phil Connell : -- nosy: +pconnell ___ Python tracker <http://bugs.python.org/issue1565525> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue7757] sys.path is incorrect when prefix is ""
Changes by Phil Connell : -- nosy: +pconnell ___ Python tracker <http://bugs.python.org/issue7757> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue19533] Unloading docstrings from memory if -OO is given
Changes by Phil Connell : -- nosy: +pconnell ___ Python tracker <http://bugs.python.org/issue19533> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue17277] incorrect line numbers in backtrace after removing a trace function
Changes by Phil Connell : -- nosy: +pconnell ___ Python tracker <http://bugs.python.org/issue17277> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue12154] PyDoc Partial Functions
Changes by Phil Connell : -- nosy: +pconnell ___ Python tracker <http://bugs.python.org/issue12154> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue16449] RotatingFileHandler rollover doesn't work on QNX shmem filesystems
New submission from Phil Connell: logging.handlers.RotatingFileHandler.doRollover fails on QNX /dev/shmem filesystems (seen on a 6.4.0-based system). QNX RAM filesystems don't support rename() (see http://www.qnx.com/developers/docs/6.4.0/neutrino/sys_arch/fsys.html#DEVSHMEM - it's a 'big filesystem' feature). So for example, rename("/dev/shmem/foo", "/dev/shmem/bar") fails with EXDEV. This is easily fixed by using shutils.move rather than os.rename where appropriate, falling back to copying if a rename() fails. It's not sufficient to set the rotator attribute, since there are other os.rename calls in in doRollover. -- components: Library (Lib) files: rfh_rename_fix.patch keywords: patch messages: 175277 nosy: pconnell, vinay.sajip priority: normal severity: normal status: open title: RotatingFileHandler rollover doesn't work on QNX shmem filesystems versions: Python 2.7, Python 3.3 Added file: http://bugs.python.org/file27941/rfh_rename_fix.patch ___ Python tracker <http://bugs.python.org/issue16449> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue16449] RotatingFileHandler rollover doesn't work on QNX shmem filesystems
Changes by Phil Connell : -- type: -> behavior ___ Python tracker <http://bugs.python.org/issue16449> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue16449] RotatingFileHandler rollover doesn't work on QNX shmem filesystems
Phil Connell added the comment: I'm not convinced that it matters whether the rename or move is atomic. Can anyone come up with a quick concrete example? I see two scenarios: 1. The process crashes during a copy in shutils.move(). In this case, some logs will be duplicated across the files involved in the copy. 2. Other threads emit logs during the rollover. Given that the IO lock is acquired in Handler.handle() before calling emit(), this is fine. While the first case isn't ideal, I don't think there can be any loss of logs. -- ___ Python tracker <http://bugs.python.org/issue16449> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue16449] RotatingFileHandler rollover doesn't work on QNX shmem filesystems
Phil Connell added the comment: Serhiy, there are also calls to os.rename in RotatingFileHandler.doRollover -- ___ Python tracker <http://bugs.python.org/issue16449> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue16449] RotatingFileHandler rollover doesn't work on QNX shmem filesystems
Phil Connell added the comment: I've updated the type to enhancement (it seems like a grey area to me - it's a behavioural fix for a niche use case). I suggested a patch rather than simply subclassing RotatingFileHandler since: - The subclass would just have a copy of RotatingFileHandler's doRollover method with a one-line change. - The proposed fix is functionally equivalent to the current code for all currently working uses. Thanks for the offer of having an extension linked from your blog. I don't think it's appropriate for this case (since it's just a slightly modified copy of the stdlib code - I'll probably just keep the patch along with a few other compatibility hacks we have) although I may have something for you in future (we do have a subclass that compresses old logs). -- type: behavior -> enhancement ___ Python tracker <http://bugs.python.org/issue16449> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue16195] Difficult or impossible to figure out how garbage collector and weak references should interact for user-defined extension types
Changes by Phil Connell : -- nosy: +pconnell ___ Python tracker <http://bugs.python.org/issue16195> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue14157] time.strptime without a year fails on Feb 29
Changes by Phil Connell : -- nosy: +pconnell ___ Python tracker <http://bugs.python.org/issue14157> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue16596] Skip stack unwinding when "next", "until" and "return" pdb commands executed in generator context
Changes by Phil Connell : -- nosy: +pconnell ___ Python tracker <http://bugs.python.org/issue16596> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue18864] Implementation for PEP 451 (importlib.machinery.ModuleSpec)
Changes by Phil Connell : -- nosy: +pconnell ___ Python tracker <http://bugs.python.org/issue18864> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue13907] test_pprint relies on set/dictionary repr() ordering
Changes by Phil Connell : -- nosy: +pconnell ___ Python tracker <http://bugs.python.org/issue13907> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue16596] Skip stack unwinding when "next", "until" and "return" pdb commands executed in generator context
Phil Connell added the comment: It looks like call_exc_trace is leaking refs to Py_None. I believe the attached patch fixes the issue (it certainly fixes Antoine's failing invokation :) -- Added file: http://bugs.python.org/file32794/issue16596_leak.diff ___ Python tracker <http://bugs.python.org/issue16596> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue16596] Skip stack unwinding when "next", "until" and "return" pdb commands executed in generator context
Phil Connell added the comment: Full run of the test suite was clean, so the fix is ready to go. -- ___ Python tracker <http://bugs.python.org/issue16596> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue18036] "How do I create a .pyc file?" FAQ entry is out of date
Phil Connell added the comment: I've had a stab at creating a patch for this. As well as mentioning __pycache__, I've tweaked some wording to reflect the fact that .pyc files are regenerated if the source file's length changes (as per issue13645). -- Added file: http://bugs.python.org/file32798/issue18036.diff ___ Python tracker <http://bugs.python.org/issue18036> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue13344] closed sockets don't raise EBADF anymore
Changes by Phil Connell : -- nosy: +pconnell ___ Python tracker <http://bugs.python.org/issue13344> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue19291] Add docs for asyncio package (Tulip, PEP 3156)
Changes by Phil Connell : -- nosy: +pconnell ___ Python tracker <http://bugs.python.org/issue19291> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue16669] Docstrings for namedtuple
Changes by Phil Connell : -- nosy: +pconnell ___ Python tracker <http://bugs.python.org/issue16669> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue9232] Allow trailing comma in any function argument list.
Changes by Phil Connell : -- nosy: +pconnell ___ Python tracker <http://bugs.python.org/issue9232> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue21999] shlex: bug in posix more handling of empty strings
Changes by Phil Connell : -- nosy: +pconnell ___ Python tracker <http://bugs.python.org/issue21999> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue1152248] Add support for reading records with arbitrary separators to the standard IO stack
Changes by Phil Connell : -- nosy: +pconnell ___ Python tracker <http://bugs.python.org/issue1152248> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue20217] Build failure in posixmodule.c with SCHED_SPORADIC available
Phil Connell added the comment: Where I actually mean changeset 71704:89e92e684b37 -- ___ Python tracker <http://bugs.python.org/issue20217> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue20217] Build failure in posixmodule.c with SCHED_SPORADIC available
New submission from Phil Connell: Typo in revision 71704 that causes build failures on systems with SCHED_SPORADIC available. See attached patch. (Can reproduce by #defining SCHED_SPORADIC just above where it's used in posixmodule.c) -- components: Extension Modules files: sched_sporadic_build.diff keywords: patch messages: 207865 nosy: benjamin.peterson, isoschiz, pconnell priority: normal severity: normal status: open title: Build failure in posixmodule.c with SCHED_SPORADIC available versions: Python 3.3, Python 3.4 Added file: http://bugs.python.org/file33409/sched_sporadic_build.diff ___ Python tracker <http://bugs.python.org/issue20217> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue2292] Missing *-unpacking generalizations
Changes by Phil Connell : -- nosy: +pconnell ___ Python tracker <http://bugs.python.org/issue2292> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue17577] Add lookahead/peek wrapper to itertools
New submission from Phil Connell: A recipe often requested on the likes of stackoverflow and activestate is a way to look 'ahead' in an iterator, without altering the values returned for subsequent next() calls. Last time this came up on python-ideas, it got a reasonable reception: http://code.activestate.com/lists/python-ideas/19509/ So, having wanted (and implemented) this again, I thought it was worth a formal proposal. Is this an idea worth pursuing? I've attached a quick pure Python implementation, that adds a 'peek' method, used like this: >>> it = lookahead(range(10)) >>> next(it) 0 >>> it.peek() 1 >>> next(it) 1 >>> it.peek(index=1) 3 >>> it.peek() 2 >>> next(it) 2 -- components: Library (Lib) files: lookahead.py messages: 185527 nosy: pconnell, rhettinger, terry.reedy priority: normal severity: normal status: open title: Add lookahead/peek wrapper to itertools type: enhancement versions: Python 3.4 Added file: http://bugs.python.org/file29606/lookahead.py ___ Python tracker <http://bugs.python.org/issue17577> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue17577] Add lookahead/peek wrapper to itertools
Phil Connell added the comment: I like the suggested API: "iterator with indexing" is a good articulation of the request. -- ___ Python tracker <http://bugs.python.org/issue17577> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue14905] zipimport.c needs to support namespace packages when no 'directory' entry exists
Changes by Phil Connell : -- nosy: +pconnell ___ Python tracker <http://bugs.python.org/issue14905> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue14905] zipimport.c needs to support namespace packages when no 'directory' entry exists
Phil Connell added the comment: The problem appears to be more general. zipimport fails for deeper hierarchies, even with directory entries. With the supplied patch (zipimport-issue14905-2.patch) I see the following: $ unzip -l foo.zip Archive: foo.zip Length DateTimeName - -- - 0 2013-04-03 17:28 a/b/c/foo.py 0 2013-04-03 17:34 a/ 0 2013-04-03 17:34 a/b/ 0 2013-04-03 17:34 a/b/c/ - --- 0 4 files $ ls foo.zip $ PYTHONPATH=foo.zip ~/dev/cpython/python Python 3.4.0a0 (default:3b1dbe7a2aa0+, Apr 3 2013, 17:31:54) [GCC 4.8.0] on linux Type "help", "copyright", "credits" or "license" for more information. >>> import a >>> import a.b Traceback (most recent call last): File "", line 1, in ImportError: No module named 'a.b' >>> -- ___ Python tracker <http://bugs.python.org/issue14905> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue17630] Create a pure Python zipfile importer
Changes by Phil Connell : -- nosy: +pconnell ___ Python tracker <http://bugs.python.org/issue17630> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue17633] zipimport's handling of namespace packages is incorrect
New submission from Phil Connell: Only one level of namespace package nesting is handled correctly: $ unzip -l foo.zip Archive: foo.zip Length DateTimeName - -- - 0 2013-04-03 17:28 a/b/c/foo.py 0 2013-04-03 17:34 a/ 0 2013-04-03 17:34 a/b/ 0 2013-04-03 17:34 a/b/c/ - --- 0 4 files $ ls foo.zip $ PYTHONPATH=foo.zip ~/dev/cpython/python Python 3.4.0a0 (default:3b1dbe7a2aa0+, Apr 3 2013, 17:31:54) [GCC 4.8.0] on linux Type "help", "copyright", "credits" or "license" for more information. >>> import a >>> import a.b Traceback (most recent call last): File "", line 1, in ImportError: No module named 'a.b' >>> The problem appears to be that check_is_directory constructs the wrong directory path (it should be 'a/b'): check_is_directory (self=0x76d3dc88, prefix='a/', path='a.b') at ./Modules/zipimport.c:280 280 dirpath = PyUnicode_FromFormat("%U%U%c", prefix, path, SEP); (gdb) n 281 if (dirpath == NULL) (gdb) p dirpath $11 = 'a/a.b/' I've attached a tentative initial patch that appears to fix the issue, although it probably needs some more thought (and definitely some more testing - the existing tests still pass though). -- components: Extension Modules files: zipimport_ns.diff keywords: patch messages: 186025 nosy: brett.cannon, eric.snow, ncoghlan, pconnell priority: normal severity: normal status: open title: zipimport's handling of namespace packages is incorrect versions: Python 3.4 Added file: http://bugs.python.org/file29679/zipimport_ns.diff ___ Python tracker <http://bugs.python.org/issue17633> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue14905] zipimport.c needs to support namespace packages when no 'directory' entry exists
Phil Connell added the comment: I've raised issue17633 to track the issue in my last message. -- ___ Python tracker <http://bugs.python.org/issue14905> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue17633] zipimport's handling of namespace packages is incorrect
Changes by Phil Connell : -- nosy: +isoschiz ___ Python tracker <http://bugs.python.org/issue17633> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue17636] Modify IMPORT_FROM to fallback on sys.modules
Changes by Phil Connell : -- nosy: +pconnell ___ Python tracker <http://bugs.python.org/issue17636> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue17633] zipimport's handling of namespace packages is incorrect
Changes by Phil Connell : Removed file: http://bugs.python.org/file29679/zipimport_ns.diff ___ Python tracker <http://bugs.python.org/issue17633> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue17633] zipimport's handling of namespace packages is incorrect
Changes by Phil Connell : Added file: http://bugs.python.org/file29679/zipimport_ns.diff ___ Python tracker <http://bugs.python.org/issue17633> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue17633] zipimport's handling of namespace packages is incorrect
Phil Connell added the comment: Here's a test that fails without the patch and succeeds with the patch. -- Added file: http://bugs.python.org/file29696/test.diff ___ Python tracker <http://bugs.python.org/issue17633> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue12820] Tests for Lib/xml/dom/minicompat.py
Phil Connell added the comment: I happened to spot this issue languishing, and the markups looked pretty straightforward, so I just went ahead and did them. Updated patch attached. -- nosy: +pconnell Added file: http://bugs.python.org/file29698/minicompat_tests_markedup.diff ___ Python tracker <http://bugs.python.org/issue12820> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue9341] allow argparse subcommands to be grouped
Changes by Phil Connell : -- nosy: +pconnell ___ Python tracker <http://bugs.python.org/issue9341> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue17633] zipimport's handling of namespace packages is incorrect
Changes by Phil Connell : Removed file: http://bugs.python.org/file29679/zipimport_ns.diff ___ Python tracker <http://bugs.python.org/issue17633> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue17633] zipimport's handling of namespace packages is incorrect
Changes by Phil Connell : Removed file: http://bugs.python.org/file29696/test.diff ___ Python tracker <http://bugs.python.org/issue17633> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue17633] zipimport's handling of namespace packages is incorrect
Phil Connell added the comment: The attached patch is ready for review. -- Added file: http://bugs.python.org/file29925/issue17633.diff ___ Python tracker <http://bugs.python.org/issue17633> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue15852] typos in curses argument error messages
Phil Connell added the comment: The patch looks correct and complete, and still patches and passes the tests. So, as far as I can see, this can be committed. -- nosy: +pconnell ___ Python tracker <http://bugs.python.org/issue15852> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue16355] inspect.getcomments() does not work in the interactive shell
Phil Connell added the comment: Here's a patch that updates getcomments to match the behaviour of getsource, raising OSError if the source file can't be found and TypeError when passed a built-in. Since this is a backwards-incompatible change, presumably it can only be applied to 3.4. This is ready for review. -- keywords: +patch nosy: +pconnell Added file: http://bugs.python.org/file29926/issue16355.diff ___ Python tracker <http://bugs.python.org/issue16355> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue17633] zipimport's handling of namespace packages is incorrect
Phil Connell added the comment: Updated patch with markups suggested by Serhiy. -- Added file: http://bugs.python.org/file29927/issue17633-2.diff ___ Python tracker <http://bugs.python.org/issue17633> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue17123] Add OCSP support to ssl module
Changes by Phil Connell : -- nosy: +pconnell ___ Python tracker <http://bugs.python.org/issue17123> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue15992] Strict aliasing violations in Objects/unicodeobject.c
Changes by Phil Connell : -- nosy: +pconnell ___ Python tracker <http://bugs.python.org/issue15992> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue12489] email.errors.HeaderParseError if base64url is used
Changes by Phil Connell : -- nosy: +pconnell ___ Python tracker <http://bugs.python.org/issue12489> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue16394] Reducing tee() memory footprint
Changes by Phil Connell : -- nosy: +pconnell ___ Python tracker <http://bugs.python.org/issue16394> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue11549] Build-out an AST optimizer, moving some functionality out of the peephole optimizer
Changes by Phil Connell : -- nosy: +pconnell ___ Python tracker <http://bugs.python.org/issue11549> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue11698] Improve repr for structseq objects to show named, but unindexed fields
Changes by Phil Connell : -- nosy: +pconnell ___ Python tracker <http://bugs.python.org/issue11698> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue17306] Improve the way abstract base classes are shown in help()
Changes by Phil Connell : -- nosy: +pconnell ___ Python tracker <http://bugs.python.org/issue17306> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue16863] Python 2 error in Argparse tutorial
Changes by Phil Connell : -- nosy: +pconnell ___ Python tracker <http://bugs.python.org/issue16863> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue17804] streaming struct unpacking
Changes by Phil Connell : -- nosy: +pconnell ___ Python tracker <http://bugs.python.org/issue17804> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue17807] Generator cleanup without tp_del
Changes by Phil Connell : -- nosy: +isoschiz, pconnell -pitrou ___ Python tracker <http://bugs.python.org/issue17807> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue17807] Generator cleanup without tp_del
Changes by Phil Connell : -- nosy: +pitrou ___ Python tracker <http://bugs.python.org/issue17807> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue7475] codecs missing: base64 bz2 hex zlib hex_codec ...
Changes by Phil Connell : -- nosy: +pconnell ___ Python tracker <http://bugs.python.org/issue7475> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue6028] Interpreter aborts when chaining an infinite number of exceptions
Changes by Phil Connell : -- nosy: +pconnell ___ Python tracker <http://bugs.python.org/issue6028> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue17927] Argument copied into cell still referenced by frame
Changes by Phil Connell : -- nosy: +pconnell ___ Python tracker <http://bugs.python.org/issue17927> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com