Kozea / Kozea/wdb

support tornado 6.x or wdb won't run on python 3.10+

Open
#155 0 comments 6 reactions 0 assignees View on GitHub
Dominant language
Python
Stars
1.6k
Forks
120
PR merge metrics
No merged PRs in 30d

Description

Currently wdb-server 3.3.0 requires tornado<6.0,>=5.0.
The newest version of tornado is v6.1.

In Python 3.10 ```MutableMapping``` was moved
* from ```collections.MutableMapping```
* to ```collections.abc.MutableMapping```
and this causes the following error when starting WDB (which uses tornado 5.1.1)

```
(py3.10.4) root@a321832d390a:/# wdb.server.py
Traceback (most recent call last):
File "/tcwa/venv/py3.10.4/bin/wdb.server.py", line 9, in
from tornado_systemd import SYSTEMD_SOCKET_FD, SystemdHTTPServer
File "/tcwa/venv/py3.10.4/lib/python3.10/site-packages/tornado_systemd/__init__.py", line 4, in
from tornado.httpserver import HTTPServer
File "/tcwa/venv/py3.10.4/lib/python3.10/site-packages/tornado/httpserver.py", line 33, in
from tornado.http1connection import HTTP1ServerConnection, HTTP1ConnectionParameters
File "/tcwa/venv/py3.10.4/lib/python3.10/site-packages/tornado/http1connection.py", line 30, in
from tornado import httputil
File "/tcwa/venv/py3.10.4/lib/python3.10/site-packages/tornado/httputil.py", line 107, in
class HTTPHeaders(collections.MutableMapping):
AttributeError: module 'collections' has no attribute 'MutableMapping'
```

Of course you can't patch tornado v5.x since it's not the newest major version and it was correctly developed before python 3.10 came out.

So wdb should use Tornado 6.1+

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by locating the dependency declaration for wdb-server and the entry point shown in the report, wdb.server.py. Run it under Python 3.10 with Tornado 6.1 or newer and verify that WDB starts without the collections.MutableMapping traceback. Done means the supported Tornado range allows the newer release and the server runs successfully.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
devtools
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.