Bug 15507 - AB-INT: wic.Wic.test_permissions failure: ImportError: Websockets version 9.1 is less than minimum required version 10.0
Summary: AB-INT: wic.Wic.test_permissions failure: ImportError: Websockets version 9.1...
Status: RESOLVED FIXED
Alias: None
Product: Functional (self) Testing
Classification: QA/Testing
Component: oe-selftest (show other bugs)
Version: unspecified
Hardware: x86 Multiple
: Medium+ normal
Target Milestone: 5.3 M1
Assignee: Ross Burton
QA Contact:
URL:
Whiteboard: AB-INT
Depends on:
Blocks:
 
Reported: 2024-06-06 14:26 UTC by Alexandre Belloni
Modified: 2025-06-02 18:10 UTC (History)
5 users (show)

See Also:
OS type for building Yocto: ---
Type of Regression: ---
Verified:
Documentation change: No (bug/feature does not impact docs)


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Alexandre Belloni 2024-06-06 14:26:57 UTC
https://autobuilder.yoctoproject.org/typhoon/#/builders/127/builds/3399/steps/14/logs/stdio

Initialising tasks...WARNING: /home/pokybuild/yocto-worker/oe-selftest-armhost/build/meta/recipes-core/images/core-image-minimal.bb:do_rootfs is tainted from a forced run
ERROR: An uncaught exception occurred in runqueue
Traceback (most recent call last):
  File "/home/pokybuild/yocto-worker/oe-selftest-armhost/build/bitbake/lib/hashserv/__init__.py", line 86, in create_client(addr='wss://hashserv.yoctoproject.org/ws', username='pokybuild', password='vcUTSfqr3bACI9JKRfgIxxK3Z_8c04sqwhmjjc5R8CVzpJ18TxmAkIE35QOI9Ago'):
             c.close()
    >        raise e
     
  File "/home/pokybuild/yocto-worker/oe-selftest-armhost/build/bitbake/lib/hashserv/__init__.py", line 80, in create_client(addr='wss://hashserv.yoctoproject.org/ws', username='pokybuild', password='vcUTSfqr3bACI9JKRfgIxxK3Z_8c04sqwhmjjc5R8CVzpJ18TxmAkIE35QOI9Ago'):
             elif typ == ADDR_TYPE_WS:
    >            c.connect_websocket(*a)
             else:
  File "/home/pokybuild/yocto-worker/oe-selftest-armhost/build/bitbake/lib/bb/asyncrpc/client.py", line 225, in wrapper:
             def wrapper(*args, **kwargs):
    >            return self.loop.run_until_complete(downcall(*args, **kwargs))
     
  File "/usr/lib/python3.10/asyncio/base_events.py", line 649, in _UnixSelectorEventLoop.run_until_complete(future=<Task finished name='Task-1' coro=<AsyncClient.connect_websocket() done, defined at /home/pokybuild/yocto-worker/oe-selftest-armhost/build/bitbake/lib/bb/asyncrpc/client.py:92> exception=ImportError('Websockets version 9.1 is less than minimum required version 10.0')>):
     
    >        return future.result()
     
  File "/home/pokybuild/yocto-worker/oe-selftest-armhost/build/bitbake/lib/bb/asyncrpc/client.py", line 109, in AsyncClient.connect_websocket(uri='wss://hashserv.yoctoproject.org/ws'):
                 min_ver_str = ".".join(str(v) for v in WEBSOCKETS_MIN_VERSION)
    >            raise ImportError(
                     f"Websockets version {websockets.__version__} is less than minimum required version {min_ver_str}"
ImportError: Websockets version 9.1 is less than minimum required version 10.0
ERROR: Running idle function
Traceback (most recent call last):
  File "/home/pokybuild/yocto-worker/oe-selftest-armhost/build/bitbake/lib/hashserv/__init__.py", line 86, in create_client(addr='wss://hashserv.yoctoproject.org/ws', username='pokybuild', password='vcUTSfqr3bACI9JKRfgIxxK3Z_8c04sqwhmjjc5R8CVzpJ18TxmAkIE35QOI9Ago'):
             c.close()
    >        raise e
     
  File "/home/pokybuild/yocto-worker/oe-selftest-armhost/build/bitbake/lib/hashserv/__init__.py", line 80, in create_client(addr='wss://hashserv.yoctoproject.org/ws', username='pokybuild', password='vcUTSfqr3bACI9JKRfgIxxK3Z_8c04sqwhmjjc5R8CVzpJ18TxmAkIE35QOI9Ago'):
             elif typ == ADDR_TYPE_WS:
    >            c.connect_websocket(*a)
             else:
  File "/home/pokybuild/yocto-worker/oe-selftest-armhost/build/bitbake/lib/bb/asyncrpc/client.py", line 225, in wrapper:
             def wrapper(*args, **kwargs):
    >            return self.loop.run_until_complete(downcall(*args, **kwargs))
     
  File "/usr/lib/python3.10/asyncio/base_events.py", line 649, in _UnixSelectorEventLoop.run_until_complete(future=<Task finished name='Task-1' coro=<AsyncClient.connect_websocket() done, defined at /home/pokybuild/yocto-worker/oe-selftest-armhost/build/bitbake/lib/bb/asyncrpc/client.py:92> exception=ImportError('Websockets version 9.1 is less than minimum required version 10.0')>):
     
    >        return future.result()
     
  File "/home/pokybuild/yocto-worker/oe-selftest-armhost/build/bitbake/lib/bb/asyncrpc/client.py", line 109, in AsyncClient.connect_websocket(uri='wss://hashserv.yoctoproject.org/ws'):
                 min_ver_str = ".".join(str(v) for v in WEBSOCKETS_MIN_VERSION)
    >            raise ImportError(
                     f"Websockets version {websockets.__version__} is less than minimum required version {min_ver_str}"
ImportError: Websockets version 9.1 is less than minimum required version 10.0
Comment 1 Randy MacLeod 2024-06-06 14:49:37 UTC
Some sort of environment escape that only happens on the ARM 22.04 worker.
Comment 2 Ross Burton 2024-06-11 09:53:39 UTC
Reliably failing on this worker when it runs the oe-selftest wic.Wic.test_permissions.
Comment 4 Ross Burton 2024-06-25 08:53:56 UTC
I couldn't make this break outside of the AB itself, even when logged in as pokybuild. The worker then crashed and fell out of the cluster for a few days...

As this is limited to a single worker and it doesn't replicate on the same platform in the new cluster, I suspect the easiest way to resolve this would be to recreate the pokybuild venv to rule out subtle corruption.
Comment 5 Ross Burton 2024-07-11 16:20:28 UTC
Regenerating the Python venv on this worker resolved the problem, so it appears this was a corrupted or otherwise broken environment.
Comment 7 Ross Burton 2024-09-26 14:43:36 UTC
Fired https://autobuilder.yoctoproject.org/typhoon/#/builders/80/builds/7130 to see if this reproduces reliably.
Comment 8 Ross Burton 2024-09-26 19:47:14 UTC
It does not.
Comment 9 Mathieu Dubois-Briand 2025-01-20 08:39:03 UTC
oe-selftest-ubuntu ubuntu2204-vk-2 mathieu/master-next completed at 2025-01-16T12:51:59Z
https://autobuilder.yoctoproject.org/valkyrie/#/builders/54/builds/770/steps/14/logs/stdio
Comment 10 Mathieu Dubois-Briand 2025-01-22 12:10:15 UTC
oe-selftest-ubuntu ubuntu2204-vk-2 master-next completed at 2025-01-21T18:02:35Z
https://autobuilder.yoctoproject.org/valkyrie/#/builders/54/builds/803/steps/14/logs/stdio
Comment 11 Ross Burton 2025-02-12 18:16:10 UTC
<shakes fist at Mathieu>
Comment 12 Mathieu Dubois-Briand 2025-04-23 09:09:31 UTC
Found this old one in untriaged entries. A bit different as this one says "No module named 'websockets'"
oe-selftest-ubuntu ubuntu2204-vk-1 master completed at 2025-03-20T03:14:09Z
https://autobuilder.yoctoproject.org/valkyrie/#/builders/54/builds/1223/steps/14/logs/stdio
Comment 13 Michael Halstead 2025-06-02 18:10:35 UTC
Setup scripts properly take care of installing websockets on all supported distros now.