HelloZeroNet / HelloZeroNet/ZeroNet
ZeroNet fails on PyPy
- Dominant language
- JavaScript
- Stars
- 18.8k
- Forks
- 2.3k
- PR merge metrics
- No merged PRs in 30d
Description
TL;DR: It's almost there, I believe (PyPy 4.0.1 on Linux):
``` sh
$ # Get a fresh copy of ZeroNet
$ git clone https://github.com/HelloZeroNet/ZeroNet
$ cd ZeroNet
$ # Install the msgpack-python and gevent modules
$ # (We already had a working copy of pip and virtualenv)
$ /opt/pypy/bin/pip install -r requirements.txt
$ # Create a virtual environment
$ /opt/pypy/bin/virtualenv venv
$ source venv/bin/activate
(venv) $ python zeronet.py
- Starting ZeroNet...
[18:36:04] - OpenSSL loaded, version: 01000207F
[18:36:05] - Version: 0.3.6 r989, Python 2.7.10 (5f8302b8bf9f, Mar 04 2016, 08:29:09)
[PyPy 4.0.1 with GCC 5.3.0], Gevent: 1.1.0
[18:36:05] - Creating FileServer....
[18:36:05] TorManager Tor controller connect error: error: [Errno 111] Connection refused in TorManager.py line 151 > _socket2.py line 228
[18:36:05] - Creating UiServer....
[18:36:05] Site:1Name2..hM9F Content.json not exist: data/1Name2NXVi1RDPDgf5617UoW7xA6YrhM9F/content.json
[18:36:05] - Removing old SSL certs...
[18:36:05] - Starting servers....
[18:36:05] Ui.UiServer --------------------------------------
[18:36:05] Ui.UiServer Web interface: http://127.0.0.1:43110/
[18:36:05] Ui.UiServer --------------------------------------
[18:36:05] Site:1Name2..hM9F Content.json not exist: data/1Name2NXVi1RDPDgf5617UoW7xA6YrhM9F/content.json
[18:36:06] FileServer Checking port 15441 using portchecker.co...
[18:36:07] FileServer [OK :)] Port open: Port 15441 is open.
[18:36:10] Ui.UiServer Wrapper key not found: 2948bfa27342bcc0fdabed5de2b53b9eafbce2a2ae5e7db650ab4d8c5bde9c28
[18:36:22] Db:TestDb Table keyvalue outdated...version: False need: 1, rebuilding...
[18:36:22] Db:TestDb Table json outdated...version: 0 need: 1, rebuilding...
[18:36:22] Db:TestDb Table test outdated...version: 0 need: 1426195822, rebuilding...
[18:36:27] - UiWSGIHandler error: OperationalError: database is locked in UiServer.py line 39 > pywsgi.py line 871 > pywsgi.py line 860 > StatsPlugin.py line 547 > Db.py line 119 > Db.py line 89 > Db.py line 60 > DbCursor.py line 53 > _sqlite3.py line 700 > _sqlite3.py line 857 > _sqlite3.py line 795 > _sqlite3.py line 181 > _sqlite3.py line 1026
```
In addition to the locked database as seen above, I also got an `msgpack` exception that I didn't catch when I ran the [benchmark](http://127.0.0.1:43110/Benchmark).
Will try again when PyPy 5.0 reaches ArchLinux.
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by reproducing the PyPy setup and inspect the traceback through UiServer.py, Db.py, DbCursor.py, and _sqlite3.py. Run the linked Benchmark as well as startup; the issue is done when the database-lock and msgpack failures are understood and ZeroNet works on the reported PyPy environment.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python, sqlite
- Domain
- backend, databases
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100