New submission from Matthias Bussonnier: I've been able to reliably trigger dict.pop to raise a system error:
See https://github.com/pytest-dev/pytest/issues/1925 I have issues getting a small test-case that triggers it, though by changing the pop method of dict to print the returned value: PyObject * _PyDict_Pop(PyDictObject *mp, PyObject *key, PyObject *deflt){ ... printf("\nreturn End value %x\n", old_value ); return old_value; } I've been able to see that the last return sometime return Null: [snip] return End value 0 Fatal Python error: a function returned NULL without setting an error SystemError: <built-in method pop of dict object at 0x10473f238> returned NULL without setting an error Current thread 0x00007fff77139300 (most recent call first): File "/usr/local/lib/python3.6/site-packages/_pytest/capture.py", line 83 in reset_capturings File "/usr/local/lib/python3.6/site-packages/_pytest/config.py", line 869 in _ensure_unconfigure File "/usr/local/lib/python3.6/site-packages/_pytest/main.py", line 121 in wrap_session File "/usr/local/lib/python3.6/site-packages/_pytest/main.py", line 125 in pytest_cmdline_main File "/usr/local/lib/python3.6/site-packages/_pytest/vendored_packages/pluggy.py", line 596 in execute File "/usr/local/lib/python3.6/site-packages/_pytest/vendored_packages/pluggy.py", line 333 in <lambda> File "/usr/local/lib/python3.6/site-packages/_pytest/vendored_packages/pluggy.py", line 338 in _hookexec File "/usr/local/lib/python3.6/site-packages/_pytest/vendored_packages/pluggy.py", line 724 in __call__ File "/usr/local/lib/python3.6/site-packages/_pytest/config.py", line 57 in main File "/usr/local/lib/python3.6/site-packages/pytest.py", line 17 in <module> File "/Users/bussonniermatthias/dev/git-cpython/Lib/runpy.py", line 85 in _run_code File "/Users/bussonniermatthias/dev/git-cpython/Lib/runpy.py", line 193 in _run_module_as_main Aborted Which I suppose is not desirable. I'm quite uncomfortable with C so I'm far from being able to propose a patch or describe why this would happen... Victor Stinner seem to have made the last changes to these methods in http://bugs.python.org/issue27350 . Not sure if the etiquette is to add them to the nosy list in this case. Discovered because of nightly continuous integration with travis on github.com/xonsh/xonsh ---------- components: Interpreter Core messages: 275283 nosy: mbussonn priority: normal severity: normal status: open title: compact dict : SystemError: returned NULL without setting an error. versions: Python 3.6, Python 3.7 _______________________________________ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue28040> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com