Issue 36578: multiprocessing pool + subprocess ValueError: empty range for randrange (original) (raw)

== output == python2 /tmp/demo.py 31749 task#1 result:(False, 'ls: cannot access alksdfjalkdsfadsfk: No such file or directoryn') 31751 task#2 result:(False, 'ls: cannot access alksdfjalkdsfadsfk: No such file or directoryn') 31752 task#3 result:(False, '3n') 31750 task#4 result:(False, '4n') 31749 task#6 result:(False, '6n') 31752 task#7 result:(False, '7n') 31750 task#8 result:(False, '8n') 31751 task#9 result:(False, '9n') Traceback (most recent call last): File "/tmp/demo.py", line 74, in runner() File "/tmp/demo.py", line 64, in runner rc_orig = value.get() File "/usr/lib64/python2.7/multiprocessing/pool.py", line 554, in get raise self._value ValueError: empty range for randrange() (1,1, 0)

== The python2.7 demo == http://paste.ubuntu.org.cn/4379593

== More == The interesting thing is if you modify demo.py like this .

http://paste.ubuntu.org.cn/4379595

Almost the code can be run normal.

My python version info:

Python 2.7.13 (default, Sep 26 2018, 18:42:22) [GCC 6.3.0 20170516] on linux2

Python 3.5.3 (default, Sep 27 2018, 17:25:39) [GCC 6.3.0 20170516] on linux