Roundup Robot added the comment:
New changeset 0455cbfd7ae6 by Victor Stinner in branch '3.4':
Issue #22290: Fix error handling in the _posixsubprocess module.
https://hg.python.org/cpython/rev/0455cbfd7ae6
New changeset a74c73477a64 by Victor Stinner in branch 'default':
(Merge 3.4) Issue
STINNER Victor added the comment:
I hope that my fix will be enough to fix the issue. Since it was only seen
once, I prefer to close the issue.
By the way, it would be nice to give more memory to this buildbot!
--
resolution: - fixed
status: open - closed
STINNER Victor added the comment:
I reproduced the crash with pyfailmalloc. The problem is that
_posixsubprocess.fork_exec() calls gc.enable() on error when preexec_fn is set
and the garbage collector was disabled (by fork_exec). Calling a function with
an exception set is forbidden.
Roundup Robot added the comment:
New changeset 16e3d240456f by Victor Stinner in branch 'default':
Issue #22290: PyObject_Call() now fails with an assertion error when called
http://hg.python.org/cpython/rev/16e3d240456f
--
nosy: +python-dev
___
STINNER Victor added the comment:
For example, test_json crashed with SIGSEGV in this build, probably because
of an unhandled MemoryError exception:
I created an issue for this bug: issue #22338. I proposed a fix.
--
___
Python tracker
STINNER Victor added the comment:
Oh, a lot of tests fail with MemoryError on this buildbot. It may explain this
issue.
For example, test_json crashed with SIGSEGV in this build, probably because of
an unhandled MemoryError exception:
New submission from STINNER Victor:
I ran test_subprocess.test_preexec() 2000 times: I'm unable to reproduce the
issue on my OpenIndiana VM, nor on Linux. I used this command:
gdb -args ./python -m test -F -m test_preexec test_subprocess
The command on the buildbot is:
./python
STINNER Victor added the comment:
The error may be close to the call to the gc module: gc.isenabled(),
gc.disable() or gc.enable(). The error is maybe an exception raised before the
call to PyObject_Call(), because the called gc functions are very simple.
--