Irit Katriel added the comment:
I'm closing this because
1. both 2.7 and 3.6 are no longer maintained
2. This is not an actual bug report (we don't know what the hanging code was
doing) so there is no chance of reproducing it.
If you are having problems with this in a current version (>= 3.
STINNER Victor added the comment:
I have no clue. Try to attach a debugger and try to inspect the Python frames.
You can use gdb with python-gdb.py for that, for example. Or play with
faulthandler, especially faulthandler.dump_traceback_later().
--
__
Xu added the comment:
Thanks Stinner.
Do you have some clues about this issue ?
In my case, our test system use Popen to start a few infrastructure processes
for tests going. After tests done we will kill all processes and start again
for new round.
Most of time it works fine. However we h
STINNER Victor added the comment:
os.pipe() creates non-inheritable file descriptors by default, see PEP 446:
$ python3.6
Python 3.6.9 (default, Jul 26 2019, 00:00:00)
>>> import os
>>> a,b=os.pipe()
>>> os.get_inheritable(a)
False
>>> os.get_inheritable(b)
False
--
nosy: +vstinner
New submission from Xu :
I have a piece code hangs on os.read(errpipe_read, 5)
So I compared the python3.6 with python2.7 on _execute_child, I saw:
for python2.7 we create the errpipe_read/write with pipe_cloexec()
1213 # For transferring possible exec failure from child to par