> 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

Reply via email to