Hello devs,

A (possible) dead loop is found when I use python-daemon and multiprocessing 
together in PyPy 4.0.1, which does not appear in Python(2.6 or 2.7). Also it 
does not appear in earlier PyPy versions (2.0.2)

Reproduce:

First install python-daemon:
pypy_pip install python-daemon

Use the following test script (also available in attachment):

#!/usr/bin/pypy
import daemon
import multiprocessing
def test():
    q = multiprocessing.Queue(64)
if __name__ == '__main__':
    with daemon.DaemonContext():
        test()

When executing the script with pypy:
pypy test.py

The background service does not exit, and is consuming 100% CPU:
ps aux | grep pypy
root      7769 99.1  0.5 235332 46812 ?        R    17:52   2:09 pypy test.py
root      7775  0.0  0.0 103252   804 pts/1    S+   17:54   0:00 grep pypy




Executing the script with python:
python2.7 test.py
And the background service normally exits.

Environment:
I'm using CentOS 6.5, with portable PyPy distribution for linux 
(https://bitbucket.org/squeaky/portable-pypy/downloads/pypy-4.0.1-linux_x86_64-portable.tar.bz2)
I run the script on system built-in python (python 2.6.6), a compiled CPython 
(2.7.11), and pypy from epel-release(pypy 2.0.2, python 2.7.2), and the problem 
does not appear. Though the compiled CPython is 2.7.11 and PyPy 4.0.4 is python 
2.7.10, I think that does not matter much.

Please contact if you have any questions or ideas.


2015-12-23


hubo 

Attachment: test.py
Description: Binary data

_______________________________________________
pypy-dev mailing list
pypy-dev@python.org
https://mail.python.org/mailman/listinfo/pypy-dev

Reply via email to