> I am attempting to get the example working here: > https://github.com/unbit/uwsgi/blob/master/tests/websockets_chat_async.py > > I'm running Mint 16 (13.10) 64 bit. > I compiled (or "translated") pypy 2.2.1 available here: > http://pypy.org/download.html#building-from-source > > using the following incantation taken from the uWSGI docs: > ./rpython/bin/rpython -Ojit --shared --gcrootfinder=shadowstack > pypy/goal/targetpypystandalone > > I then created a virtualenv (1.11.2) using the compiled pypy: > virtualenv -p pypy venv > > pip installed uwsgi (2.0.1): > venv/bin/pip install uwsgi > > It reported it was using pypy profile (using profile: buildconf/pypy.ini). > There were various pypy plugins listed in the output. > > I then copied the example over and used the following as shown in the > example file including the location of the shared libpypy: > venv/bin/uwsgi --http-socket :9090 --pypy-home venv/bin/pypy > --pypy-wsgi-file websockets_chat_async.py --pypy-eval > "uwsgi_pypy_setup_continulets()" --async 100 --pypy-lib > ~/tmp/pypy-2.2.1/pypy-2.2.1-src/libpypy-c.so > > With the following output: > *** Starting uWSGI 2.0.1 (64bit) on [Fri Feb 14 17:05:47 2014] *** > compiled with version: 4.8.1 on 14 February 2014 13:40:23 > os: Linux-3.11.0-12-generic #19-Ubuntu SMP Wed Oct 9 16:20:46 UTC 2013 > nodename: mint64 > machine: x86_64 > clock source: unix > detected number of CPU cores: 12 > current working directory: /home/dave/tmp/uwsgi-pypy-2.2.1 > detected binary path: /home/dave/tmp/uwsgi-pypy-2.2.1/venv/bin/uwsgi > !!! no internal routing support, rebuild with pcre support !!! > *** WARNING: you are running uWSGI without its master process manager *** > your processes number limit is 192692 > your memory page size is 4096 bytes > detected max file descriptor number: 1024 > - async cores set to 100 - fd table size: 1024 > lock engine: pthread robust mutexes > thunder lock: disabled (you can enable it with --thunder-lock) > uwsgi socket 0 bound to TCP address :9090 fd 3 > Initialized PyPy with Python 2.7.3 > (87aa9de10f9ca71da9ab4a3d53e0ba176b67d086, Feb 14 2014, 19:52:53) > [PyPy 2.2.1 with GCC 4.8.1] > PyPy Home: /home/dave/tmp/uwsgi-pypy-2.2.1/venv > your server socket listen backlog is limited to 100 connections > your mercy for graceful operations on workers is 60 seconds > mapped 1092064 bytes (1066 KB) for 100 cores > *** Operational MODE: async *** > *** PyPy Continulets engine loaded *** > > That's as far as it gets. It hangs on the last line. > http://localhost:9090just hangs. I can remove the async and pypy-eval > to get it to actually > serve the example, but obviously that's no good. > > Does anyone know if this example with the versions listed works? > > Thanks, > Dave > _______________________________________________ > uWSGI mailing list > [email protected] > http://lists.unbit.it/cgi-bin/mailman/listinfo/uwsgi >
Try the github version, the problem is caused by the automatic turn-on of the threading mode in latest PyPy plugin. Recently we have discovered that once the GIL is enabled, pypy_execute_source() cannot be called without dealing with the GIL. For this reason the latest github patch does not call pypy_execute_source after GIL initialization but rely on a new (really simple) cffi callback: https://github.com/unbit/uwsgi/blob/master/plugins/pypy/pypy_setup.py#L285 cffi automatically manages GIL for us, and this should solve your issue Let me know if it works for you -- Roberto De Ioris http://unbit.it _______________________________________________ uWSGI mailing list [email protected] http://lists.unbit.it/cgi-bin/mailman/listinfo/uwsgi
