Skip to content

Problem with package: tornado #582

@foosel

Description

@foosel

Package name

tornado

Package version

6.5.2, 6.4.2, 6.4.1, 6.4.0, 6.3.3 and maybe earlier

PyPI URL

https://pypi.org/project/tornado/

piwheels URL

https://www.piwheels.org/project/tornado/

Python version

  • Python 3.9
  • Python 3.11

This is for Raspberry Pi users only. If your issue does not relate to usage on Raspberry Pi using the official distro, please don't create an issue here.

yes

The project page includes links to existing issues about the package. Please check this issue doesn't already exist.

yes

Are you the project maintainer?

  • I am the maintainer

More information

Websocket functionality in Tornado is broken using the provided packages for 6.4.x (and apparently earlier) under Python 3.11:

2025-09-09 10:21:38,730 - tornado.application - ERROR - Uncaught exception GET /sockjs/946/3nwumjt5/websocket (192.168.1.181)
HTTPServerRequest(protocol='http', host='octopic.lan', method='GET', uri='/sockjs/946/3nwumjt5/websocket', version='HTTP/1.1', remote_ip='192.168.1.181')
Traceback (most recent call last):
  File "/opt/octopi/oprint/lib/python3.11/site-packages/tornado/web.py", line 1790, in _execute
    result = await result
             ^^^^^^^^^^^^
  File "/opt/octopi/oprint/lib/python3.11/site-packages/tornado/websocket.py", line 273, in get
    await self.ws_connection.accept_connection(self)
  File "/opt/octopi/oprint/lib/python3.11/site-packages/tornado/websocket.py", line 863, in accept_connection
    await self._accept_connection(handler)
  File "/opt/octopi/oprint/lib/python3.11/site-packages/tornado/websocket.py", line 946, in _accept_connection
    await self._receive_frame_loop()
  File "/opt/octopi/oprint/lib/python3.11/site-packages/tornado/websocket.py", line 1102, in _receive_frame_loop
    await self._receive_frame()
  File "/opt/octopi/oprint/lib/python3.11/site-packages/tornado/websocket.py", line 1160, in _receive_frame
    data = _websocket_mask(self._frame_mask, data)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
SystemError: PY_SSIZE_T_CLEAN macro must be defined for '#' formats

I tested the following versions:

  • piwheels 6.3.3: ❌
  • piwheels 6.4.0: ❌
  • piwheels 6.4.1: ❌
  • piwheels 6.4.2: ❌
  • piwheels 6.5.0: ✅
  • piwheels 6.5.1: ✅
  • piwheels 6.5.2: ❌

I also tested the 6.4.2 sdist available on PyPI and that works, so this is definitely an issue with the available packages:

  • pypi sdist 6.4.2: ✅

Those packages also were rebuilt on Sep 04, maybe another ABI issue like #580?

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions