Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Reoccuring aiohttp.server error - During handling of the above exception, another exception occurred #105158

Open
johntdyer opened this issue Dec 6, 2023 · 23 comments

Comments

@johntdyer
Copy link
Contributor

johntdyer commented Dec 6, 2023

The problem

I keep getting these in my logs since 2023.12.0b* but considering it was beta I figured it was just me and held off reporting anything.. Today I installed 2023.12.0 and I am still getting these errors...

2023-12-06 15:53:27.953 ERROR (MainThread) [aiohttp.server] Error handling request
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/websocket_api/http.py", line 371, in async_handle
    msg = await wsock.receive()
          ^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/aiohttp/web_ws.py", line 468, in receive
    await self.close()
  File "/usr/local/lib/python3.11/site-packages/aiohttp/web_ws.py", line 383, in close
    await writer.drain()
  File "/usr/local/lib/python3.11/site-packages/aiohttp/http_writer.py", line 171, in drain
    await self._protocol._drain_helper()
  File "/usr/local/lib/python3.11/site-packages/aiohttp/base_protocol.py", line 90, in _drain_helper
    await asyncio.shield(waiter)
asyncio.exceptions.CancelledError

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/local/lib/python3.11/site-packages/aiohttp/web_protocol.py", line 452, in _handle_request
    resp = await request_handler(request)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/aiohttp/web_app.py", line 543, in _handle
    resp = await handler(request)
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/aiohttp/web_middlewares.py", line 114, in impl
    return await handler(request)
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/http/security_filter.py", line 85, in security_filter_middleware
    return await handler(request)
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/http/forwarded.py", line 100, in forwarded_middleware
    return await handler(request)
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/http/request_context.py", line 28, in request_context_middleware
    return await handler(request)
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/http/auth.py", line 233, in auth_middleware
    return await handler(request)
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/http/headers.py", line 31, in headers_middleware
    response = await handler(request)
               ^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/http/view.py", line 149, in handle
    result = await handler(request, **request.match_info)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/websocket_api/http.py", line 50, in get
    return await WebSocketHandler(request.app["hass"], request).async_handle()
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/websocket_api/http.py", line 435, in async_handle
    await self._writer_task
  File "/usr/src/homeassistant/homeassistant/components/websocket_api/http.py", line 165, in _writer
    await send_str(coalesced_messages)
  File "/usr/local/lib/python3.11/site-packages/aiohttp/web_ws.py", line 336, in send_str
    await self._writer.send(data, binary=False, compress=compress)
  File "/usr/local/lib/python3.11/site-packages/aiohttp/http_websocket.py", line 729, in send
    await self._send_frame(message, WSMsgType.TEXT, compress)
  File "/usr/local/lib/python3.11/site-packages/aiohttp/http_websocket.py", line 691, in _send_frame
    await self.protocol._drain_helper()
  File "/usr/local/lib/python3.11/site-packages/aiohttp/base_protocol.py", line 90, in _drain_helper
    await asyncio.shield(waiter)
  File "/usr/local/lib/python3.11/asyncio/selector_events.py", line 1076, in _write_ready
    n = self._sock.send(self._buffer)
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
BrokenPipeError: [Errno 32] Broken pipe

unfortunately I have not yet figured out how to readily reproduce the error, it just seems to happen every few mins

What version of Home Assistant Core has the issue?

core-2023.12.0

What was the last working version of Home Assistant Core?

core-2023-11

What type of installation are you running?

Home Assistant OS

Integration causing the issue

core

Link to integration documentation on our website

No response

Diagnostics information

No response

Example YAML snippet

No response

Anything in the logs that might be useful for us?

2023-12-06 15:48:42.148 INFO (MainThread) [homeassistant.components.mobile_app.notify] mobile_app push notification rate limits for Johns iPhone: 51 sent, 500 allowed, 4 errors, resets in 3:11:17
2023-12-06 15:49:23.778 INFO (MainThread) [homeassistant.components.automation.garage_automations] Garage Automations: Running automation actions
2023-12-06 15:49:23.780 INFO (MainThread) [homeassistant.components.automation.garage_automations] Garage Automations: Skipped disabled step Driveway Actions
2023-12-06 15:49:23.780 INFO (MainThread) [homeassistant.components.automation.garage_automations] Garage Automations: Skipped disabled step Garage Door Actions
2023-12-06 15:50:33.979 INFO (MainThread) [homeassistant.components.automation.garage_automations] Garage Automations: Running automation actions
2023-12-06 15:50:33.980 INFO (MainThread) [homeassistant.components.automation.garage_automations] Garage Automations: Skipped disabled step Driveway Actions
2023-12-06 15:50:33.980 INFO (MainThread) [homeassistant.components.automation.garage_automations] Garage Automations: Skipped disabled step Garage Door Actions
2023-12-06 15:51:20.809 INFO (MainThread) [homeassistant.components.automation.garage_automations] Garage Automations: Running automation actions
2023-12-06 15:51:20.810 INFO (MainThread) [homeassistant.components.automation.garage_automations] Garage Automations: Skipped disabled step Driveway Actions
2023-12-06 15:51:20.810 INFO (MainThread) [homeassistant.components.automation.garage_automations] Garage Automations: Skipped disabled step Garage Door Actions
2023-12-06 15:51:48.873 ERROR (MainThread) [aiohttp.server] Error handling request
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/websocket_api/http.py", line 371, in async_handle
    msg = await wsock.receive()
          ^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/aiohttp/web_ws.py", line 468, in receive
    await self.close()
  File "/usr/local/lib/python3.11/site-packages/aiohttp/web_ws.py", line 383, in close
    await writer.drain()
  File "/usr/local/lib/python3.11/site-packages/aiohttp/http_writer.py", line 171, in drain
    await self._protocol._drain_helper()
  File "/usr/local/lib/python3.11/site-packages/aiohttp/base_protocol.py", line 90, in _drain_helper
    await asyncio.shield(waiter)
asyncio.exceptions.CancelledError

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/local/lib/python3.11/site-packages/aiohttp/web_protocol.py", line 452, in _handle_request
    resp = await request_handler(request)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/aiohttp/web_app.py", line 543, in _handle
    resp = await handler(request)
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/aiohttp/web_middlewares.py", line 114, in impl
    return await handler(request)
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/http/security_filter.py", line 85, in security_filter_middleware
    return await handler(request)
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/http/forwarded.py", line 100, in forwarded_middleware
    return await handler(request)
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/http/request_context.py", line 28, in request_context_middleware
    return await handler(request)
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/http/auth.py", line 233, in auth_middleware
    return await handler(request)
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/http/headers.py", line 31, in headers_middleware
    response = await handler(request)
               ^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/http/view.py", line 149, in handle
    result = await handler(request, **request.match_info)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/websocket_api/http.py", line 50, in get
    return await WebSocketHandler(request.app["hass"], request).async_handle()
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/websocket_api/http.py", line 435, in async_handle
    await self._writer_task
  File "/usr/src/homeassistant/homeassistant/components/websocket_api/http.py", line 165, in _writer
    await send_str(coalesced_messages)
  File "/usr/local/lib/python3.11/site-packages/aiohttp/web_ws.py", line 336, in send_str
    await self._writer.send(data, binary=False, compress=compress)
  File "/usr/local/lib/python3.11/site-packages/aiohttp/http_websocket.py", line 729, in send
    await self._send_frame(message, WSMsgType.TEXT, compress)
  File "/usr/local/lib/python3.11/site-packages/aiohttp/http_websocket.py", line 691, in _send_frame
    await self.protocol._drain_helper()
  File "/usr/local/lib/python3.11/site-packages/aiohttp/base_protocol.py", line 90, in _drain_helper
    await asyncio.shield(waiter)
  File "/usr/local/lib/python3.11/asyncio/selector_events.py", line 1076, in _write_ready
    n = self._sock.send(self._buffer)
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
BrokenPipeError: [Errno 32] Broken pipe
2023-12-06 15:52:27.566 INFO (MainThread) [homeassistant.components.automation.garage_automations] Garage Automations: Running automation actions
2023-12-06 15:52:27.568 INFO (MainThread) [homeassistant.components.automation.garage_automations] Garage Automations: Skipped disabled step Driveway Actions
2023-12-06 15:52:27.568 INFO (MainThread) [homeassistant.components.automation.garage_automations] Garage Automations: Skipped disabled step Garage Door Actions
2023-12-06 15:53:27.953 ERROR (MainThread) [aiohttp.server] Error handling request
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/websocket_api/http.py", line 371, in async_handle
    msg = await wsock.receive()
          ^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/aiohttp/web_ws.py", line 468, in receive
    await self.close()
  File "/usr/local/lib/python3.11/site-packages/aiohttp/web_ws.py", line 383, in close
    await writer.drain()
  File "/usr/local/lib/python3.11/site-packages/aiohttp/http_writer.py", line 171, in drain
    await self._protocol._drain_helper()
  File "/usr/local/lib/python3.11/site-packages/aiohttp/base_protocol.py", line 90, in _drain_helper
    await asyncio.shield(waiter)
asyncio.exceptions.CancelledError

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/local/lib/python3.11/site-packages/aiohttp/web_protocol.py", line 452, in _handle_request
    resp = await request_handler(request)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/aiohttp/web_app.py", line 543, in _handle
    resp = await handler(request)
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/aiohttp/web_middlewares.py", line 114, in impl
    return await handler(request)
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/http/security_filter.py", line 85, in security_filter_middleware
    return await handler(request)
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/http/forwarded.py", line 100, in forwarded_middleware
    return await handler(request)
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/http/request_context.py", line 28, in request_context_middleware
    return await handler(request)
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/http/auth.py", line 233, in auth_middleware
    return await handler(request)
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/http/headers.py", line 31, in headers_middleware
    response = await handler(request)
               ^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/http/view.py", line 149, in handle
    result = await handler(request, **request.match_info)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/websocket_api/http.py", line 50, in get
    return await WebSocketHandler(request.app["hass"], request).async_handle()
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/websocket_api/http.py", line 435, in async_handle
    await self._writer_task
  File "/usr/src/homeassistant/homeassistant/components/websocket_api/http.py", line 165, in _writer
    await send_str(coalesced_messages)
  File "/usr/local/lib/python3.11/site-packages/aiohttp/web_ws.py", line 336, in send_str
    await self._writer.send(data, binary=False, compress=compress)
  File "/usr/local/lib/python3.11/site-packages/aiohttp/http_websocket.py", line 729, in send
    await self._send_frame(message, WSMsgType.TEXT, compress)
  File "/usr/local/lib/python3.11/site-packages/aiohttp/http_websocket.py", line 691, in _send_frame
    await self.protocol._drain_helper()
  File "/usr/local/lib/python3.11/site-packages/aiohttp/base_protocol.py", line 90, in _drain_helper
    await asyncio.shield(waiter)
  File "/usr/local/lib/python3.11/asyncio/selector_events.py", line 1076, in _write_ready
    n = self._sock.send(self._buffer)
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
BrokenPipeError: [Errno 32] Broken pipe
2023-12-06 15:54:23.916 INFO (MainThread) [homeassistant.components.automation.garage_automations] Garage Automations: Running automation actions
2023-12-06 15:54:23.917 INFO (MainThread) [homeassistant.components.automation.garage_automations] Garage Automations: Skipped disabled step Driveway Actions
2023-12-06 15:54:23.918 INFO (MainThread) [homeassistant.components.automation.garage_automations] Garage Automations: Skipped disabled step Garage Door Actions
2023-12-06 15:55:10.608 INFO (zeroconf-ServiceBrowser-_googlecast._tcp-520) [homeassistant.components.cast.helpers] Fetched cast details for unknown model 'Smart TV' manufacturer: 'TCL', type: 'cast'. Please create a bug report at https://github.com/home-assistant/core/issues?q=is%3Aopen+is%3Aissue+label%3A%22integration%3A+cast%22
2023-12-06 15:56:47.573 INFO (MainThread) [homeassistant.components.automation.garage_automations] Garage Automations: Running automation actions
2023-12-06 15:56:47.574 INFO (MainThread) [homeassistant.components.automation.garage_automations] Garage Automations: Skipped disabled step Driveway Actions
2023-12-06 15:56:47.574 INFO (MainThread) [homeassistant.components.automation.garage_automations] Garage Automations: Skipped disabled step Garage Door Actions
2023-12-06 15:59:21.785 WARNING (MainThread) [homeassistant.helpers.entity] Updating state for calendar.johntdyer_gmail_com (<class 'homeassistant.components.google.calendar.GoogleCalendarEntity'>) took 0.415 seconds. Please create a bug report at https://github.com/home-assistant/core/issues?q=is%3Aopen+is%3Aissue+label%3A%22integration%3A+google%22










2023-12-06 15:59:43.371 INFO (MainThread) [homeassistant.components.automation.garage_automations] Garage Automations: Running automation actions
2023-12-06 15:59:43.372 INFO (MainThread) [homeassistant.components.automation.garage_automations] Garage Automations: Skipped disabled step Driveway Actions
2023-12-06 15:59:43.372 INFO (MainThread) [homeassistant.components.automation.garage_automations] Garage Automations: Skipped disabled step Garage Door Actions



2023-12-06 16:00:00.245 INFO (MainThread) [homeassistant.components.automation.monitors_conditional_scan_interval] monitors_conditional_scan_interval: Running automation actions
2023-12-06 16:00:00.245 INFO (MainThread) [homeassistant.components.automation.monitors_conditional_scan_interval] monitors_conditional_scan_interval: Executing step call service
2023-12-06 16:00:00.251 INFO (MainThread) [homeassistant.components.automation.get_birthday_events_delete_me] Get Household events: Running automation actions
2023-12-06 16:00:00.251 INFO (MainThread) [homeassistant.components.automation.get_birthday_events_delete_me] Get Household events: Executing step call service
2023-12-06 16:00:00.262 INFO (MainThread) [homeassistant.components.automation.debian_conditional_scan_interval] update compute sensors: Running automation actions
2023-12-06 16:00:00.262 INFO (MainThread) [homeassistant.components.automation.debian_conditional_scan_interval] update compute sensors: Executing step call service
2023-12-06 16:00:00.295 WARNING (MainThread) [homeassistant.components.calendar] Detected use of service 'calendar.list_events'. This is deprecated and will stop working in Home Assistant 2024.6. Use 'calendar.get_events' instead which supports multiple entities
2023-12-06 16:00:00.327 INFO (MainThread) [homeassistant.components.automation.get_birthday_events_delete_me] Get Household events: Executing step household_events
2023-12-06 16:00:00.619 INFO (MainThread) [homeassistant.components.automation.five9_laptop_conditional_scan_interval] five9_laptop_conditional_scan_interval: Running automation actions
2023-12-06 16:00:00.620 INFO (MainThread) [homeassistant.components.automation.five9_laptop_conditional_scan_interval] five9_laptop_conditional_scan_interval: Executing step call service
2023-12-06 16:00:22.054 WARNING (Thread-130) [pychromecast.socket_client] [32S350G(192.168.120.116):8009] Heartbeat timeout, resetting connection
2023-12-06 16:00:22.055 INFO (Thread-130) [pychromecast.controllers] Receiver:channel_disconnected
2023-12-06 16:00:50.186 INFO (MainThread) [homeassistant.components.automation.garage_automations] Garage Automations: Running automation actions
2023-12-06 16:00:50.187 INFO (MainThread) [homeassistant.components.automation.garage_automations] Garage Automations: Skipped disabled step Driveway Actions
2023-12-06 16:00:50.188 INFO (MainThread) [homeassistant.components.automation.garage_automations] Garage Automations: Skipped disabled step Garage Door Actions
2023-12-06 16:03:15.985 INFO (MainThread) [homeassistant.components.automation.garage_automations] Garage Automations: Running automation actions
2023-12-06 16:03:15.987 INFO (MainThread) [homeassistant.components.automation.garage_automations] Garage Automations: Skipped disabled step Driveway Actions
2023-12-06 16:03:15.987 INFO (MainThread) [homeassistant.components.automation.garage_automations] Garage Automations: Skipped disabled step Garage Door Actions
2023-12-06 16:04:07.980 INFO (MainThread) [homeassistant.components.automation.garage_automations] Garage Automations: Running automation actions
2023-12-06 16:04:07.981 INFO (MainThread) [homeassistant.components.automation.garage_automations] Garage Automations: Skipped disabled step Driveway Actions
2023-12-06 16:04:07.981 INFO (MainThread) [homeassistant.components.automation.garage_automations] Garage Automations: Skipped disabled step Garage Door Actions
2023-12-06 16:04:31.823 ERROR (MainThread) [aiohttp.server] Error handling request
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/websocket_api/http.py", line 371, in async_handle
    msg = await wsock.receive()
          ^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/aiohttp/web_ws.py", line 468, in receive
    await self.close()
  File "/usr/local/lib/python3.11/site-packages/aiohttp/web_ws.py", line 383, in close
    await writer.drain()
  File "/usr/local/lib/python3.11/site-packages/aiohttp/http_writer.py", line 171, in drain
    await self._protocol._drain_helper()
  File "/usr/local/lib/python3.11/site-packages/aiohttp/base_protocol.py", line 90, in _drain_helper
    await asyncio.shield(waiter)
asyncio.exceptions.CancelledError

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/local/lib/python3.11/site-packages/aiohttp/web_protocol.py", line 452, in _handle_request
    resp = await request_handler(request)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/aiohttp/web_app.py", line 543, in _handle
    resp = await handler(request)
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/aiohttp/web_middlewares.py", line 114, in impl
    return await handler(request)
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/http/security_filter.py", line 85, in security_filter_middleware
    return await handler(request)
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/http/forwarded.py", line 100, in forwarded_middleware
    return await handler(request)
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/http/request_context.py", line 28, in request_context_middleware
    return await handler(request)
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/http/auth.py", line 233, in auth_middleware
    return await handler(request)
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/http/headers.py", line 31, in headers_middleware
    response = await handler(request)
               ^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/http/view.py", line 149, in handle
    result = await handler(request, **request.match_info)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/websocket_api/http.py", line 50, in get
    return await WebSocketHandler(request.app["hass"], request).async_handle()
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/websocket_api/http.py", line 435, in async_handle
    await self._writer_task
  File "/usr/src/homeassistant/homeassistant/components/websocket_api/http.py", line 165, in _writer
    await send_str(coalesced_messages)
  File "/usr/local/lib/python3.11/site-packages/aiohttp/web_ws.py", line 336, in send_str
    await self._writer.send(data, binary=False, compress=compress)
  File "/usr/local/lib/python3.11/site-packages/aiohttp/http_websocket.py", line 729, in send
    await self._send_frame(message, WSMsgType.TEXT, compress)
  File "/usr/local/lib/python3.11/site-packages/aiohttp/http_websocket.py", line 691, in _send_frame
    await self.protocol._drain_helper()
  File "/usr/local/lib/python3.11/site-packages/aiohttp/base_protocol.py", line 90, in _drain_helper
    await asyncio.shield(waiter)
  File "/usr/local/lib/python3.11/asyncio/selector_events.py", line 1076, in _write_ready
    n = self._sock.send(self._buffer)
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
BrokenPipeError: [Errno 32] Broken pipe
2023-12-06 16:04:50.632 WARNING (MainThread) [homeassistant.helpers.entity] Update of sensor.wirelesstag_outdoor_freezer_temperature is taking over 10 seconds
2023-12-06 16:05:10.332 INFO (Recorder) [homeassistant.components.sensor.recorder] Detected new cycle for sensor.hourly_gas, value dropped from 0.04 to 0.0, triggered by state with last_updated set to 2023-12-


### Additional information

_No response_
@johntdyer johntdyer changed the title Reoccuring http error - During handling of the above exception, another exception occurred Reoccuring aiohttp.server error - During handling of the above exception, another exception occurred Dec 6, 2023
@zocop

This comment was marked as off-topic.

@bdraco
Copy link
Member

bdraco commented Dec 7, 2023

@zocop your trace is completely different, please continue in a new issue

@bdraco
Copy link
Member

bdraco commented Dec 7, 2023

Whats happening here is the client requests the websocket be closed and there is still data in the buffer which can't be written because the client has already closed the connection.

            if msg.type == WSMsgType.CLOSE:
                self._closing = True
                self._close_code = msg.data
                if not self._closed and self._autoclose:
                    await self.close()

@bdraco
Copy link
Member

bdraco commented Dec 7, 2023

@johntdyer Can you try this patch?

diff --git a/aiohttp/web_ws.py b/aiohttp/web_ws.py
index 4e57bca4..3ff46d9f 100644
--- a/aiohttp/web_ws.py
+++ b/aiohttp/web_ws.py
@@ -56,7 +56,6 @@ class WebSocketReady:
 
 
 class WebSocketResponse(StreamResponse):
-
     _length_check = False
 
     def __init__(
@@ -360,7 +359,9 @@ class WebSocketResponse(StreamResponse):
         await self.close()
         self._eof_sent = True
 
-    async def close(self, *, code: int = WSCloseCode.OK, message: bytes = b"") -> bool:
+    async def close(
+        self, *, code: int = WSCloseCode.OK, message: bytes = b"", drain: bool = True
+    ) -> bool:
         if self._writer is None:
             raise RuntimeError("Call .prepare() first")
 
@@ -380,6 +381,7 @@ class WebSocketResponse(StreamResponse):
                 await self._writer.close(code, message)
                 writer = self._payload_writer
                 assert writer is not None
+                if drain:
                     await writer.drain()
             except (asyncio.CancelledError, asyncio.TimeoutError):
                 self._close_code = WSCloseCode.ABNORMAL_CLOSURE
@@ -465,7 +467,11 @@ class WebSocketResponse(StreamResponse):
                 self._closing = True
                 self._close_code = msg.data
                 if not self._closed and self._autoclose:
-                    await self.close()
+                    # The client is going to close the connection
+                    # out from under us so we do not want to drain
+                    # any pending writes as it will likely result
+                    # writing to a broken pipe.
+                    await self.close(drain=False)
             elif msg.type == WSMsgType.CLOSING:
                 self._closing = True
             elif msg.type == WSMsgType.PING and self._autoping:

@johntdyer
Copy link
Contributor Author

@bdraco how do I patch a hassos installation? Thought the container would revert when I restarted it to pick up the change?

@bigbangus
Copy link

I'm also getting this error:

2023-12-08 07:48:36.557 ERROR (MainThread) [aiohttp.server] Error handling request
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/websocket_api/http.py", line 371, in async_handle
    msg = await wsock.receive()
          ^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/aiohttp/web_ws.py", line 468, in receive
    await self.close()
  File "/usr/local/lib/python3.11/site-packages/aiohttp/web_ws.py", line 383, in close
    await writer.drain()
  File "/usr/local/lib/python3.11/site-packages/aiohttp/http_writer.py", line 171, in drain
    await self._protocol._drain_helper()
  File "/usr/local/lib/python3.11/site-packages/aiohttp/base_protocol.py", line 90, in _drain_helper
    await asyncio.shield(waiter)
asyncio.exceptions.CancelledError

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/local/lib/python3.11/site-packages/aiohttp/web_protocol.py", line 452, in _handle_request
    resp = await request_handler(request)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/aiohttp/web_app.py", line 543, in _handle
    resp = await handler(request)
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/aiohttp/web_middlewares.py", line 114, in impl
    return await handler(request)
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/http/security_filter.py", line 85, in security_filter_middleware
    return await handler(request)
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/http/forwarded.py", line 100, in forwarded_middleware
    return await handler(request)
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/http/request_context.py", line 28, in request_context_middleware
    return await handler(request)
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/http/auth.py", line 233, in auth_middleware
    return await handler(request)
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/http/headers.py", line 31, in headers_middleware
    response = await handler(request)
               ^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/http/view.py", line 149, in handle
    result = await handler(request, **request.match_info)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/websocket_api/http.py", line 50, in get
    return await WebSocketHandler(request.app["hass"], request).async_handle()
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/websocket_api/http.py", line 435, in async_handle
    await self._writer_task
  File "/usr/src/homeassistant/homeassistant/components/websocket_api/http.py", line 165, in _writer
    await send_str(coalesced_messages)
  File "/usr/local/lib/python3.11/site-packages/aiohttp/web_ws.py", line 336, in send_str
    await self._writer.send(data, binary=False, compress=compress)
  File "/usr/local/lib/python3.11/site-packages/aiohttp/http_websocket.py", line 729, in send
    await self._send_frame(message, WSMsgType.TEXT, compress)
  File "/usr/local/lib/python3.11/site-packages/aiohttp/http_websocket.py", line 691, in _send_frame
    await self.protocol._drain_helper()
  File "/usr/local/lib/python3.11/site-packages/aiohttp/base_protocol.py", line 90, in _drain_helper
    await asyncio.shield(waiter)
  File "/usr/local/lib/python3.11/asyncio/selector_events.py", line 1076, in _write_ready
    n = self._sock.send(self._buffer)
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
BrokenPipeError: [Errno 32] Broken pipe

@johntdyer
Copy link
Contributor Author

@bdraco I am happy to try and test your suggested patch, but I unfortunately am unsure how to do so in a HassOS installed system since the restart reverts the container to the default... Any guidance you can offer would certainly be appreciated

@johntdyer
Copy link
Contributor Author

@bdraco - Still seeing this ... would love to help test your fix but I am still unsure how best to do it on a hassos install...

@bdraco
Copy link
Member

bdraco commented Dec 17, 2023

aio-libs/aiohttp#7978

@jbouwh
Copy link
Contributor

jbouwh commented Dec 29, 2023

Linked some other other possible issues here: #106533

@johntdyer
Copy link
Contributor Author

Still getting these constantly

config grep 'aiohttp.server] Error handling request' home-assistant.log
2024-01-18 04:47:03.490 ERROR (MainThread) [aiohttp.server] Error handling request
2024-01-18 04:47:23.454 ERROR (MainThread) [aiohttp.server] Error handling request
2024-01-18 04:48:03.420 ERROR (MainThread) [aiohttp.server] Error handling request
2024-01-18 04:49:03.420 ERROR (MainThread) [aiohttp.server] Error handling request
2024-01-18 04:49:13.504 ERROR (MainThread) [aiohttp.server] Error handling request
2024-01-18 04:49:33.480 ERROR (MainThread) [aiohttp.server] Error handling request
2024-01-18 05:03:48.828 ERROR (MainThread) [aiohttp.server] Error handling request
2024-01-18 05:06:19.128 ERROR (MainThread) [aiohttp.server] Error handling request
2024-01-18 05:06:48.823 ERROR (MainThread) [aiohttp.server] Error handling request
2024-01-18 05:16:03.643 ERROR (MainThread) [aiohttp.server] Error handling request
2024-01-18 05:21:53.637 ERROR (MainThread) [aiohttp.server] Error handling request
2024-01-18 05:23:43.657 ERROR (MainThread) [aiohttp.server] Error handling request
2024-01-18 05:29:24.262 ERROR (MainThread) [aiohttp.server] Error handling request
2024-01-18 05:33:00.304 ERROR (MainThread) [aiohttp.server] Error handling request
2024-01-18 05:35:24.536 ERROR (MainThread) [aiohttp.server] Error handling request
2024-01-18 05:36:23.711 ERROR (MainThread) [aiohttp.server] Error handling request
2024-01-18 05:40:49.483 ERROR (MainThread) [aiohttp.server] Error handling request
2024-01-18 05:54:03.703 ERROR (MainThread) [aiohttp.server] Error handling request
2024-01-18 06:01:34.325 ERROR (MainThread) [aiohttp.server] Error handling request
2024-01-18 06:01:54.534 ERROR (MainThread) [aiohttp.server] Error handling request
2024-01-18 06:05:19.803 ERROR (MainThread) [aiohttp.server] Error handling request
2024-01-18 06:07:04.339 ERROR (MainThread) [aiohttp.server] Error handling request
2024-01-18 06:13:34.532 ERROR (MainThread) [aiohttp.server] Error handling request
2024-01-18 06:18:59.050 ERROR (MainThread) [aiohttp.server] Error handling request
2024-01-18 06:19:24.376 ERROR (MainThread) [aiohttp.server] Error handling request
2024-01-18 06:23:13.907 ERROR (MainThread) [aiohttp.server] Error handling request
2024-01-18 06:24:39.831 ERROR (MainThread) [aiohttp.server] Error handling request
2024-01-18 06:24:55.205 ERROR (MainThread) [aiohttp.server] Error handling request
2024-01-18 06:26:33.933 ERROR (MainThread) [aiohttp.server] Error handling request
2024-01-18 06:29:03.788 ERROR (MainThread) [aiohttp.server] Error handling request
2024-01-18 06:30:44.560 ERROR (MainThread) [aiohttp.server] Error handling request
2024-01-18 06:33:54.584 ERROR (MainThread) [aiohttp.server] Error handling request
2024-01-18 06:34:29.941 ERROR (MainThread) [aiohttp.server] Error handling request
2024-01-18 06:36:23.976 ERROR (MainThread) [aiohttp.server] Error handling request
2024-01-18 06:37:59.973 ERROR (MainThread) [aiohttp.server] Error handling request
2024-01-18 06:40:44.574 ERROR (MainThread) [aiohttp.server] Error handling request
2024-01-18 06:41:30.295 ERROR (MainThread) [aiohttp.server] Error handling request
2024-01-18 06:47:19.967 ERROR (MainThread) [aiohttp.server] Error handling request
2024-01-18 06:50:29.967 ERROR (MainThread) [aiohttp.server] Error handling request
2024-01-18 06:57:21.435 ERROR (MainThread) [aiohttp.server] Error handling request
2024-01-18 06:59:24.641 ERROR (MainThread) [aiohttp.server] Error handling request
2024-01-18 07:07:29.993 ERROR (MainThread) [aiohttp.server] Error handling request
2024-01-18 07:07:40.348 ERROR (MainThread) [aiohttp.server] Error handling request
2024-01-18 07:08:43.973 ERROR (MainThread) [aiohttp.server] Error handling request
2024-01-18 07:10:39.992 ERROR (MainThread) [aiohttp.server] Error handling request
2024-01-18 07:17:04.817 ERROR (MainThread) [aiohttp.server] Error handling request
2024-01-18 07:26:29.626 ERROR (MainThread) [aiohttp.server] Error handling request
2024-01-18 07:27:14.832 ERROR (MainThread) [aiohttp.server] Error handling request
2024-01-18 07:29:49.254 ERROR (MainThread) [aiohttp.server] Error handling request
2024-01-18 07:30:49.924 ERROR (MainThread) [aiohttp.server] Error handling request
2024-01-18 07:34:19.919 ERROR (MainThread) [aiohttp.server] Error handling request
2024-01-18 07:43:24.353 ERROR (MainThread) [aiohttp.server] Error handling request
2024-01-18 07:45:54.172 ERROR (MainThread) [aiohttp.server] Error handling request
2024-01-18 07:46:44.183 ERROR (MainThread) [aiohttp.server] Error handling request
2024-01-18 07:47:44.735 ERROR (MainThread) [aiohttp.server] Error handling request
2024-01-18 07:48:19.947 ERROR (MainThread) [aiohttp.server] Error handling request
2024-01-18 07:54:34.256 ERROR (MainThread) [aiohttp.server] Error handling request
2024-01-18 07:54:54.369 ERROR (MainThread) [aiohttp.server] Error handling request
2024-01-18 07:56:56.780 ERROR (MainThread) [aiohttp.server] Error handling request
2024-01-18 08:00:16.193 ERROR (MainThread) [aiohttp.server] Error handling request
2024-01-18 08:00:26.787 ERROR (MainThread) [aiohttp.server] Error handling request
2024-01-18 08:01:14.201 ERROR (MainThread) [aiohttp.server] Error handling request
2024-01-18 08:08:34.294 ERROR (MainThread) [aiohttp.server] Error handling request
2024-01-18 08:11:14.148 ERROR (MainThread) [aiohttp.server] Error handling request
2024-01-18 08:16:14.371 ERROR (MainThread) [aiohttp.server] Error handling request
2024-01-18 08:20:14.874 ERROR (MainThread) [aiohttp.server] Error handling request
2024-01-18 08:21:36.134 ERROR (MainThread) [aiohttp.server] Error handling request
2024-01-18 08:22:34.269 ERROR (MainThread) [aiohttp.server] Error handling request
2024-01-18 08:23:54.897 ERROR (MainThread) [aiohttp.server] Error handling request
2024-01-18 08:25:00.747 ERROR (MainThread) [aiohttp.server] Error handling request
2024-01-18 08:34:24.903 ERROR (MainThread) [aiohttp.server] Error handling request
2024-01-18 08:35:15.562 ERROR (MainThread) [aiohttp.server] Error handling request
2024-01-18 08:35:46.110 ERROR (MainThread) [aiohttp.server] Error handling request
2024-01-18 08:37:44.898 ERROR (MainThread) [aiohttp.server] Error handling request
2024-01-18 08:39:00.794 ERROR (MainThread) [aiohttp.server] Error handling request
2024-01-18 08:40:44.431 ERROR (MainThread) [aiohttp.server] Error handling request
2024-01-18 08:41:24.928 ERROR (MainThread) [aiohttp.server] Error handling request
2024-01-18 08:42:30.632 ERROR (MainThread) [aiohttp.server] Error handling request
2024-01-18 08:44:39.430 ERROR (MainThread) [aiohttp.server] Error handling request
2024-01-18 08:46:05.579 ERROR (MainThread) [aiohttp.server] Error handling request
2024-01-18 08:46:15.682 ERROR (MainThread) [aiohttp.server] Error handling request
2024-01-18 08:46:20.786 ERROR (MainThread) [aiohttp.server] Error handling request
2024-01-18 08:49:55.569 ERROR (MainThread) [aiohttp.server] Error handling request
2024-01-18 08:53:24.963 ERROR (MainThread) [aiohttp.server] Error handling request
2024-01-18 09:01:24.939 ERROR (MainThread) [aiohttp.server] Error handling request
2024-01-18 09:01:35.024 ERROR (MainThread) [aiohttp.server] Error handling request
2024-01-18 09:02:05.582 ERROR (MainThread) [aiohttp.server] Error handling request
2024-01-18 09:04:34.518 ERROR (MainThread) [aiohttp.server] Error handling request
2024-01-18 09:08:39.404 ERROR (MainThread) [aiohttp.server] Error handling request
2024-01-18 09:12:49.414 ERROR (MainThread) [aiohttp.server] Error handling request
2024-01-18 09:14:42.002 ERROR (MainThread) [aiohttp.server] Error handling request
2024-01-18 09:15:34.530 ERROR (MainThread) [aiohttp.server] Error handling request
2024-01-18 09:19:14.352 ERROR (MainThread) [aiohttp.server] Error handling request
2024-01-18 09:19:44.659 ERROR (MainThread) [aiohttp.server] Error handling request
2024-01-18 09:22:05.894 ERROR (MainThread) [aiohttp.server] Error handling request
2024-01-18 09:23:24.376 ERROR (MainThread) [aiohttp.server] Error handling request
2024-01-18 09:23:49.461 ERROR (MainThread) [aiohttp.server] Error handling request
2024-01-18 09:26:15.710 ERROR (MainThread) [aiohttp.server] Error handling request
2024-01-18 09:28:19.527 ERROR (MainThread) [aiohttp.server] Error handling request
2024-01-18 09:28:24.561 ERROR (MainThread) [aiohttp.server] Error handling request
2024-01-18 09:28:34.597 ERROR (MainThread) [aiohttp.server] Error handling request
2024-01-18 09:33:19.620 ERROR (MainThread) [aiohttp.server] Error handling request
2024-01-18 09:34:15.047 ERROR (MainThread) [aiohttp.server] Error handling request
2024-01-18 09:34:40.320 ERROR (MainThread) [aiohttp.server] Error handling request
2024-01-18 09:36:44.484 ERROR (MainThread) [aiohttp.server] Error handling request
2024-01-18 09:36:49.482 ERROR (MainThread) [aiohttp.server] Error handling request
2024-01-18 09:39:54.742 ERROR (MainThread) [aiohttp.server] Error handling request
2024-01-18 09:40:45.046 ERROR (MainThread) [aiohttp.server] Error handling request
2024-01-18 09:41:35.803 ERROR (MainThread) [aiohttp.server] Error handling request
2024-01-18 09:43:14.439 ERROR (MainThread) [aiohttp.server] Error handling request
2024-01-18 09:44:04.746 ERROR (MainThread) [aiohttp.server] Error handling request
2024-01-18 09:44:45.064 ERROR (MainThread) [aiohttp.server] Error handling request
2024-01-18 09:47:24.413 ERROR (MainThread) [aiohttp.server] Error handling request
2024-01-18 09:54:59.473 ERROR (MainThread) [aiohttp.server] Error handling request
2024-01-18 10:00:35.671 ERROR (MainThread) [aiohttp.server] Error handling request
2024-01-18 10:02:17.549 ERROR (MainThread) [aiohttp.server] Error handling request
2024-01-18 10:03:55.805 ERROR (MainThread) [aiohttp.server] Error handling request
2024-01-18 10:05:34.567 ERROR (MainThread) [aiohttp.server] Error handling request
2024-01-18 10:09:19.658 ERROR (MainThread) [aiohttp.server] Error handling request
2024-01-18 10:12:16.381 ERROR (MainThread) [aiohttp.server] Error handling request
2024-01-18 10:22:39.677 ERROR (MainThread) [aiohttp.server] Error handling request
2024-01-18 10:24:35.813 ERROR (MainThread) [aiohttp.server] Error handling request
2024-01-18 10:26:54.649 ERROR (MainThread) [aiohttp.server] Error handling request
2024-01-18 10:26:59.675 ERROR (MainThread) [aiohttp.server] Error handling request
2024-01-18 10:28:15.796 ERROR (MainThread) [aiohttp.server] Error handling request
2024-01-18 10:30:24.641 ERROR (MainThread) [aiohttp.server] Error handling request
2024-01-18 10:30:44.758 ERROR (MainThread) [aiohttp.server] Error handling request
2024-01-18 10:34:22.173 ERROR (MainThread) [aiohttp.server] Error handling request
2024-01-18 10:40:20.149 ERROR (MainThread) [aiohttp.server] Error handling request
2024-01-18 10:40:45.277 ERROR (MainThread) [aiohttp.server] Error handling request
2024-01-18 10:41:55.805 ERROR (MainThread) [aiohttp.server] Error handling request
2024-01-18 10:42:56.080 ERROR (MainThread) [aiohttp.server] Error handling request
2024-01-18 10:44:44.536 ERROR (MainThread) [aiohttp.server] Error handling request
2024-01-18 10:49:34.559 ERROR (MainThread) [aiohttp.server] Error handling request
2024-01-18 10:50:34.889 ERROR (MainThread) [aiohttp.server] Error handling request
2024-01-18 10:55:04.964 ERROR (MainThread) [aiohttp.server] Error handling request
2024-01-18 10:57:54.690 ERROR (MainThread) [aiohttp.server] Error handling request
2024-01-18 10:59:20.485 ERROR (MainThread) [aiohttp.server] Error handling request
2024-01-18 11:00:46.688 ERROR (MainThread) [aiohttp.server] Error handling request
2024-01-18 11:02:54.771 ERROR (MainThread) [aiohttp.server] Error handling request
2024-01-18 11:07:35.254 ERROR (MainThread) [aiohttp.server] Error handling request
2024-01-18 11:08:00.491 ERROR (MainThread) [aiohttp.server] Error handling request
2024-01-18 11:10:14.638 ERROR (MainThread) [aiohttp.server] Error handling request
2024-01-18 11:11:25.030 ERROR (MainThread) [aiohttp.server] Error handling request
2024-01-18 11:17:15.761 ERROR (MainThread) [aiohttp.server] Error handling request
2024-01-18 11:21:20.378 ERROR (MainThread) [aiohttp.server] Error handling request
2024-01-18 11:42:46.139 ERROR (MainThread) [aiohttp.server] Error handling request
2024-01-18 11:44:24.861 ERROR (MainThread) [aiohttp.server] Error handling request
2024-01-18 11:46:35.730 ERROR (MainThread) [aiohttp.server] Error handling request
2024-01-18 11:50:04.832 ERROR (MainThread) [aiohttp.server] Error handling request
2024-01-18 11:58:21.936 ERROR (MainThread) [aiohttp.server] Error handling request
2024-01-18 11:58:42.284 ERROR (MainThread) [aiohttp.server] Error handling request
2024-01-18 11:58:47.328 ERROR (MainThread) [aiohttp.server] Error handling request
2024-01-18 12:00:25.500 ERROR (MainThread) [aiohttp.server] Error handling request
2024-01-18 12:01:26.853 ERROR (MainThread) [aiohttp.server] Error handling request
2024-01-18 12:04:05.597 ERROR (MainThread) [aiohttp.server] Error handling request
2024-01-18 12:04:30.738 ERROR (MainThread) [aiohttp.server] Error handling request
2024-01-18 12:08:55.615 ERROR (MainThread) [aiohttp.server] Error handling request
2024-01-18 12:13:55.663 ERROR (MainThread) [aiohttp.server] Error handling request
2024-01-18 12:16:01.730 ERROR (MainThread) [aiohttp.server] Error handling request
2024-01-18 12:16:37.396 ERROR (MainThread) [aiohttp.server] Error handling request
2024-01-18 12:18:45.608 ERROR (MainThread) [aiohttp.server] Error handling request
2024-01-18 12:18:51.695 ERROR (MainThread) [aiohttp.server] Error handling request
2024-01-18 12:21:55.650 ERROR (MainThread) [aiohttp.server] Error handling request
2024-01-18 12:25:00.369 ERROR (MainThread) [aiohttp.server] Error handling request
2024-01-18 12:26:51.347 ERROR (MainThread) [aiohttp.server] Error handling request
2024-01-18 12:29:30.480 ERROR (MainThread) [aiohttp.server] Error handling request
2024-01-18 12:30:46.411 ERROR (MainThread) [aiohttp.server] Error handling request
2024-01-18 12:35:11.941 ERROR (MainThread) [aiohttp.server] Error handling request
2024-01-18 12:38:56.210 ERROR (MainThread) [aiohttp.server] Error handling request
2024-01-18 12:41:50.799 ERROR (MainThread) [aiohttp.server] Error handling request
2024-01-18 12:48:01.952 ERROR (MainThread) [aiohttp.server] Error handling request
2024-01-18 12:51:00.762 ERROR (MainThread) [aiohttp.server] Error handling request
2024-01-18 12:55:05.360 ERROR (MainThread) [aiohttp.server] Error handling request
2024-01-18 12:55:45.672 ERROR (MainThread) [aiohttp.server] Error handling request
2024-01-18 12:55:50.788 ERROR (MainThread) [aiohttp.server] Error handling request
2024-01-18 13:01:05.623 ERROR (MainThread) [aiohttp.server] Error handling request
2024-01-18 13:04:00.416 ERROR (MainThread) [aiohttp.server] Error handling request
2024-01-18 13:04:05.319 ERROR (MainThread) [aiohttp.server] Error handling request
2024-01-18 13:08:03.446 ERROR (MainThread) [aiohttp.server] Error handling request
2024-01-18 13:09:20.612 ERROR (MainThread) [aiohttp.server] Error handling request
2024-01-18 13:10:41.391 ERROR (MainThread) [aiohttp.server] Error handling request
2024-01-18 13:11:57.526 ERROR (MainThread) [aiohttp.server] Error handling request
2024-01-18 13:14:15.671 ERROR (MainThread) [aiohttp.server] Error handling request
2024-01-18 13:14:40.837 ERROR (MainThread) [aiohttp.server] Error handling request
2024-01-18 13:14:45.887 ERROR (MainThread) [aiohttp.server] Error handling request
2024-01-18 13:15:21.179 ERROR (MainThread) [aiohttp.server] Error handling request
2024-01-18 13:16:32.461 ERROR (MainThread) [aiohttp.server] Error handling request
2024-01-18 13:17:13.438 ERROR (MainThread) [aiohttp.server] Error handling request
2024-01-18 13:18:05.606 ERROR (MainThread) [aiohttp.server] Error handling request
2024-01-18 13:18:40.745 ERROR (MainThread) [aiohttp.server] Error handling request
2024-01-18 13:18:50.833 ERROR (MainThread) [aiohttp.server] Error handling request
2024-01-18 13:20:01.824 ERROR (MainThread) [aiohttp.server] Error handling request
2024-01-18 13:20:22.223 ERROR (MainThread) [aiohttp.server] Error handling request
2024-01-18 13:25:22.213 ERROR (MainThread) [aiohttp.server] Error handling request
2024-01-18 13:28:00.604 ERROR (MainThread) [aiohttp.server] Error handling request
2024-01-18 13:28:15.714 ERROR (MainThread) [aiohttp.server] Error handling request
2024-01-18 13:28:25.766 ERROR (MainThread) [aiohttp.server] Error handling request
2024-01-18 13:28:30.760 ERROR (MainThread) [aiohttp.server] Error handling request
➜  config

@johntdyer
Copy link
Contributor Author

@bdraco - How can I test your patch w/ a hassos install ?

@bdraco
Copy link
Member

bdraco commented Jan 18, 2024

In the container do this

git clone https://github.com/aio-libs/aiohttp
git checkout -t origin/3.9


apk add e2fsprogs npm clang autoconf automake libtool m4 gmp-dev mpfr-dev mpc1-dev gcc musl-dev openssl-dev libffi-dev ffmpeg-dev rust cargo zlib-dev jpeg-dev g++ make
fallocate -l 1G /usr/tmp-disk
mkfs.ext4 /usr/tmp-disk
mount -o loop -t ext4 /usr/tmp-disk /tmp

cd aiohttp
git submodule update --init

cd vendor/llhttp
npm update
make
cd ../..
make
pip3 install --upgrade -vvv .
pip3 install --upgrade typing_extensions

@johntdyer
Copy link
Contributor Author

@bdraco restart the container after doing this ?

@johntdyer
Copy link
Contributor Author

➜  config docker exec -it homeassistant bash
homeassistant:/# git clone https://github.com/aio-libs/aiohttp
Cloning into 'aiohttp'...
remote: Enumerating objects: 53589, done.
remote: Counting objects: 100% (1131/1131), done.
remote: Compressing objects: 100% (559/559), done.
remote: Total 53589 (delta 844), reused 761 (delta 570), pack-reused 52458
Receiving objects: 100% (53589/53589), 24.65 MiB | 14.74 MiB/s, done.
Resolving deltas: 100% (40320/40320), done.
homeassistant:/# cd aiohttp/
homeassistant:/aiohttp# git checkout -t origin/3.9
branch '3.9' set up to track 'origin/3.9'.
Switched to a new branch '3.9'
homeassistant:/aiohttp# apk add e2fsprogs npm clang autoconf automake libtool m4 gmp-dev mpfr-dev mpc1-dev gcc musl-dev openssl-dev libffi-dev ffmpeg-dev rust cargo zlib-dev jpeg-dev g++ make
fetch https://dl-cdn.alpinelinux.org/alpine/v3.18/main/x86_64/APKINDEX.tar.gz
fetch https://dl-cdn.alpinelinux.org/alpine/v3.18/community/x86_64/APKINDEX.tar.gz
(1/56) Upgrading libcrypto3 (3.1.3-r0 -> 3.1.4-r4)
(2/56) Upgrading libssl3 (3.1.3-r0 -> 3.1.4-r4)
(3/56) Installing m4 (1.4.19-r3)
(4/56) Installing perl (5.36.2-r0)
(5/56) Installing autoconf (2.71-r2)
(6/56) Installing automake (1.16.5-r2)
(7/56) Installing binutils (2.40-r7)
(8/56) Installing libatomic (12.2.1_git20220924-r10)
(9/56) Installing isl26 (0.26-r1)
(10/56) Installing mpfr4 (4.2.0_p12-r0)
(11/56) Installing mpc1 (1.3.1-r1)
(12/56) Installing gcc (12.2.1_git20220924-r10)
(13/56) Installing musl-dev (1.2.4-r2)
(14/56) Installing llvm16-libs (16.0.6-r1)
(15/56) Installing rust (1.71.1-r0)
(16/56) Installing cargo (1.71.1-r0)
(17/56) Installing clang16-libs (16.0.6-r1)
(18/56) Installing fortify-headers (1.1-r3)
(19/56) Installing libstdc++-dev (12.2.1_git20220924-r10)
(20/56) Installing clang16-libclang (16.0.6-r1)
(21/56) Installing clang16 (16.0.6-r1)
(22/56) Installing e2fsprogs-libs (1.47.0-r2)
(23/56) Installing e2fsprogs (1.47.0-r2)
(24/56) Upgrading ffmpeg-libavutil (6.0-r15 -> 6.0.1-r0)
(25/56) Upgrading ffmpeg-libswresample (6.0-r15 -> 6.0.1-r0)
(26/56) Upgrading ffmpeg-libavcodec (6.0-r15 -> 6.0.1-r0)
(27/56) Upgrading ffmpeg-libavformat (6.0-r15 -> 6.0.1-r0)
(28/56) Upgrading ffmpeg-libpostproc (6.0-r15 -> 6.0.1-r0)
(29/56) Upgrading ffmpeg-libswscale (6.0-r15 -> 6.0.1-r0)
(30/56) Upgrading ffmpeg-libavfilter (6.0-r15 -> 6.0.1-r0)
(31/56) Upgrading ffmpeg-libavdevice (6.0-r15 -> 6.0.1-r0)
(32/56) Installing pkgconf (1.9.5-r0)
(33/56) Installing ffmpeg-dev (6.0.1-r0)
(34/56) Installing libc-dev (0.7.2-r5)
(35/56) Installing g++ (12.2.1_git20220924-r10)
(36/56) Installing perl-error (0.17029-r1)
(37/56) Installing perl-git (2.40.1-r0)
(38/56) Installing git-perl (2.40.1-r0)
(39/56) Installing libgmpxx (6.2.1-r3)
(40/56) Installing gmp-dev (6.2.1-r3)
(41/56) Installing libjpeg-turbo-dev (2.1.5.1-r3)
(42/56) Installing jpeg-dev (9e-r1)
(43/56) Installing linux-headers (6.3-r0)
(44/56) Installing libffi-dev (3.4.4-r2)
(45/56) Installing libtool (2.4.7-r2)
(46/56) Installing make (4.4.1-r1)
(47/56) Installing mpc1-dev (1.3.1-r1)
(48/56) Installing mpfr-dev (4.2.0_p12-r0)
(49/56) Installing ada-libs (2.5.1-r0)
(50/56) Installing c-ares (1.19.1-r0)
(51/56) Installing icu-data-en (73.2-r2)
Executing icu-data-en-73.2-r2.post-install
*
* If you need ICU with non-English locales and legacy charset support, install
* package icu-data-full.
*
(52/56) Installing icu-libs (73.2-r2)
(53/56) Installing nodejs-current (20.8.1-r0)
(54/56) Installing npm (9.6.6-r0)
(55/56) Installing openssl-dev (3.1.4-r4)
(56/56) Installing zlib-dev (1.2.13-r1)
Executing busybox-1.36.1-r2.trigger
Executing ca-certificates-20230506-r0.trigger
OK: 1375 MiB in 235 packages
homeassistant:/aiohttp# sudo apt install e2fsprogs npm clang autoconf automake libtool m4 gmp-devel mpfr-devel mpc1-devel gcc musl-devel openssl-dev libffi-devel ffmpeg-devel rust cargo zlib-devel jpeg-dev g++ make
bash: sudo: command not found
homeassistant:/aiohttp# apk add e2fsprogs
OK: 1375 MiB in 235 packages
homeassistant:/aiohttp# fallocate -l 1G /usr/tmp-disk
homeassistant:/aiohttp# mkfs.ext4 /usr/tmp-disk
mke2fs 1.47.0 (5-Feb-2023)
Discarding device blocks: done
Creating filesystem with 262144 4k blocks and 65536 inodes
Filesystem UUID: 4263415f-83a6-4967-b560-8d0b32f78ea5
Superblock backups stored on blocks:
	32768, 98304, 163840, 229376

Allocating group tables: done
Writing inode tables: done
Creating journal (8192 blocks): done
Writing superblocks and filesystem accounting information: done

homeassistant:/aiohttp# mount -o loop -t ext4 /usr/tmp-disk /tmp
homeassistant:/aiohttp# git submodule update --init
Submodule 'vendor/llhttp' (https://github.com/nodejs/llhttp.git) registered for path 'vendor/llhttp'
Cloning into '/aiohttp/vendor/llhttp'...
Submodule path 'vendor/llhttp': checked out '9ab2afc85b2880d96a94d38afaee301c6a314049'
homeassistant:/aiohttp# cd vendor/llhttp
homeassistant:/aiohttp/vendor/llhttp# npm update

added 167 packages, and audited 168 packages in 10s

26 packages are looking for funding
  run `npm fund` for details

2 moderate severity vulnerabilities

Some issues need review, and may require choosing
a different dependency.

Run `npm audit` for details.
homeassistant:/aiohttp/vendor/llhttp# make
npx ts-node bin/generate.ts
clang -Os -g3 -Wall -Wextra -Wno-unused-parameter -fPIC -Ibuild/ -c build/c/llhttp.c -o build/c/llhttp.o
mkdir -p build/native
clang -Os -g3 -Wall -Wextra -Wno-unused-parameter -fPIC -Ibuild/ -c src/native/api.c -o build/native/api.o
clang -Os -g3 -Wall -Wextra -Wno-unused-parameter -fPIC -Ibuild/ -c src/native/http.c -o build/native/http.o
ar rcs build/libllhttp.a build/c/llhttp.o build/native/api.o build/native/http.o
clang -shared build/c/llhttp.o build/native/api.o build/native/http.o -o build/libllhttp.so
homeassistant:/aiohttp/vendor/llhttp# cd ../..
homeassistant:/aiohttp# make
Looking in indexes: https://pypi.org/simple, https://wheels.home-assistant.io/musllinux-index/
Requirement already satisfied: pip in /usr/local/lib/python3.11/site-packages (23.3.1)
Collecting pip
  Downloading https://wheels.home-assistant.io/musllinux-index/pip-23.3.2-py3-none-any.whl (2.1 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 2.1/2.1 MB 22.9 MB/s eta 0:00:00
Installing collected packages: pip
  Attempting uninstall: pip
    Found existing installation: pip 23.3.1
    Uninstalling pip-23.3.1:
      Successfully uninstalled pip-23.3.1
Successfully installed pip-23.3.2
WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv
re-hash /aiohttp/requirements/cython.txt
Looking in indexes: https://pypi.org/simple, https://wheels.home-assistant.io/musllinux-index/
Requirement already satisfied: multidict in /usr/local/lib/python3.11/site-packages (from -r requirements/multidict.in (line 1)) (6.0.4)
Collecting typing_extensions (from -r requirements/typing-extensions.in (line 1))
  Downloading https://wheels.home-assistant.io/musllinux-index/typing_extensions-4.7.1-py3-none-any.whl (33 kB)
Collecting Cython (from -r requirements/cython.in (line 4))
  Downloading Cython-3.0.5-cp311-cp311-musllinux_1_1_x86_64.whl.metadata (3.2 kB)
Downloading Cython-3.0.5-cp311-cp311-musllinux_1_1_x86_64.whl (3.6 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 3.6/3.6 MB 19.7 MB/s eta 0:00:00
Installing collected packages: typing_extensions, Cython
  Attempting uninstall: typing_extensions
    Found existing installation: typing_extensions 4.9.0
    Uninstalling typing_extensions-4.9.0:
      Successfully uninstalled typing_extensions-4.9.0
  Attempting uninstall: Cython
    Found existing installation: Cython 0.29.37
    Uninstalling Cython-0.29.37:
      Successfully uninstalled Cython-0.29.37
ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.
homeassistant 2024.1.3 requires typing-extensions<5.0,>=4.9.0, but you have typing-extensions 4.7.1 which is incompatible.
dtlssocket 0.1.16 requires Cython<3, but you have cython 3.0.5 which is incompatible.
Successfully installed Cython-3.0.5 typing_extensions-4.7.1
WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv
re-hash /aiohttp/tools/gen.py
re-hash /aiohttp/aiohttp/hdrs.py
./tools/gen.py
re-hash /aiohttp/aiohttp/_helpers.pyx
re-hash /aiohttp/aiohttp/_http_parser.pyx
re-hash /aiohttp/aiohttp/_http_writer.pyx
re-hash /aiohttp/aiohttp/_websocket.pyx
re-hash /aiohttp/aiohttp/_helpers.pyi
re-hash /aiohttp/aiohttp/_cparser.pxd
re-hash /aiohttp/aiohttp/_find_header.pxd
cython -3 -o aiohttp/_helpers.c aiohttp/_helpers.pyx -I aiohttp -Werror
cython -3 -o aiohttp/_http_parser.c aiohttp/_http_parser.pyx -I aiohttp -Werror
cython -3 -o aiohttp/_http_writer.c aiohttp/_http_writer.pyx -I aiohttp -Werror
cython -3 -o aiohttp/_websocket.c aiohttp/_websocket.pyx -I aiohttp -Werror
Looking in indexes: https://pypi.org/simple, https://wheels.home-assistant.io/musllinux-index/
Ignoring async-timeout: markers 'python_version < "3.11"' don't match your environment
Ignoring brotlicffi: markers 'platform_python_implementation != "CPython"' don't match your environment
Requirement already satisfied: typing_extensions in /usr/local/lib/python3.11/site-packages (from -r requirements/typing-extensions.in (line 1)) (4.7.1)
Collecting aioredis (from -r requirements/lint.in (line 3))
  Downloading aioredis-2.0.1-py3-none-any.whl (71 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 71.2/71.2 kB 2.1 MB/s eta 0:00:00
Collecting mypy (from -r requirements/lint.in (line 4))
  Downloading mypy-1.7.1-cp311-cp311-musllinux_1_1_x86_64.whl.metadata (1.8 kB)
Collecting pre-commit (from -r requirements/lint.in (line 5))
  Downloading https://wheels.home-assistant.io/musllinux-index/pre_commit-3.5.0-py2.py3-none-any.whl (203 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 203.7/203.7 kB 754.5 kB/s eta 0:00:00
Collecting pytest (from -r requirements/lint.in (line 6))
  Downloading https://wheels.home-assistant.io/musllinux-index/pytest-7.4.3-py3-none-any.whl (325 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 325.1/325.1 kB 957.8 kB/s eta 0:00:00
Collecting slotscheck (from -r requirements/lint.in (line 7))
  Downloading slotscheck-0.17.1-py3-none-any.whl.metadata (4.5 kB)
Collecting uvloop (from -r requirements/lint.in (line 8))
  Downloading uvloop-0.19.0-cp311-cp311-musllinux_1_1_x86_64.whl.metadata (4.9 kB)
Collecting aiodns (from -r requirements/runtime-deps.in (line 3))
  Downloading https://wheels.home-assistant.io/musllinux-index/aiodns-3.1.1-py3-none-any.whl.metadata (4.0 kB)
Requirement already satisfied: aiosignal>=1.1.2 in /usr/local/lib/python3.11/site-packages (from -r requirements/runtime-deps.in (line 4)) (1.3.1)
Requirement already satisfied: attrs>=17.3.0 in /usr/local/lib/python3.11/site-packages (from -r requirements/runtime-deps.in (line 6)) (23.1.0)
Requirement already satisfied: Brotli in /usr/local/lib/python3.11/site-packages (from -r requirements/runtime-deps.in (line 7)) (1.1.0)
Collecting frozenlist>=1.1.1 (from -r requirements/runtime-deps.in (line 9))
  Downloading https://wheels.home-assistant.io/musllinux-index/frozenlist-1.4.0-cp311-cp311-musllinux_1_2_x86_64.whl (55 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 55.4/55.4 kB 470.7 kB/s eta 0:00:00
Requirement already satisfied: multidict<7.0,>=4.5 in /usr/local/lib/python3.11/site-packages (from -r requirements/runtime-deps.in (line 10)) (6.0.4)
Collecting yarl<2.0,>=1.0 (from -r requirements/runtime-deps.in (line 11))
  Downloading https://wheels.home-assistant.io/musllinux-index/yarl-1.9.3-cp311-cp311-musllinux_1_2_x86_64.whl (87 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 87.8/87.8 kB 631.0 kB/s eta 0:00:00
Collecting gunicorn (from -r requirements/base.in (line 4))
  Downloading gunicorn-21.2.0-py3-none-any.whl.metadata (4.1 kB)
Collecting coverage (from -r requirements/test.in (line 4))
  Downloading https://wheels.home-assistant.io/musllinux-index/coverage-7.3.2-cp311-cp311-musllinux_1_2_x86_64.whl (201 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 201.2/201.2 kB 43.3 MB/s eta 0:00:00
Collecting freezegun (from -r requirements/test.in (line 5))
  Downloading freezegun-1.3.0-py3-none-any.whl.metadata (11 kB)
Collecting proxy.py>=2.4.4rc4 (from -r requirements/test.in (line 7))
  Downloading proxy.py-2.4.4rc4-py3-none-any.whl (208 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 208.6/208.6 kB 8.4 MB/s eta 0:00:00
Requirement already satisfied: pytest-cov in /usr/local/lib/python3.11/site-packages (from -r requirements/test.in (line 9)) (4.1.0)
Requirement already satisfied: pytest-mock in /usr/local/lib/python3.11/site-packages (from -r requirements/test.in (line 10)) (3.12.0)
Collecting python-on-whales (from -r requirements/test.in (line 11))
  Downloading python_on_whales-0.67.0-py3-none-any.whl.metadata (18 kB)
Collecting re-assert (from -r requirements/test.in (line 12))
  Downloading re_assert-1.1.0-py2.py3-none-any.whl (4.0 kB)
Collecting setuptools-git (from -r requirements/test.in (line 13))
  Downloading setuptools_git-1.2-py2.py3-none-any.whl (10 kB)
Collecting trustme (from -r requirements/test.in (line 14))
  Downloading trustme-1.1.0-py3-none-any.whl.metadata (5.6 kB)
Collecting wait-for-it (from -r requirements/test.in (line 15))
  Downloading wait_for_it-2.2.2-py3-none-any.whl (8.1 kB)
Collecting aiohttp-theme (from -r requirements/doc.in (line 3))
  Downloading aiohttp_theme-0.1.6-py2.py3-none-any.whl (13 kB)
Collecting sphinx (from -r requirements/doc.in (line 4))
  Downloading sphinx-7.1.2-py3-none-any.whl.metadata (5.8 kB)
Collecting sphinxcontrib-blockdiag (from -r requirements/doc.in (line 5))
  Downloading sphinxcontrib_blockdiag-3.0.0-py2.py3-none-any.whl (6.8 kB)
Collecting sphinxcontrib-towncrier (from -r requirements/doc.in (line 6))
  Downloading sphinxcontrib_towncrier-0.4.0a0-py3-none-any.whl.metadata (4.7 kB)
Collecting towncrier (from -r requirements/doc.in (line 7))
  Downloading towncrier-23.11.0-py3-none-any.whl.metadata (4.2 kB)
Collecting cherry_picker (from -r requirements/dev.in (line 5))
  Downloading cherry_picker-2.2.0-py3-none-any.whl.metadata (16 kB)
Collecting pip-tools (from -r requirements/dev.in (line 6))
  Downloading pip_tools-7.3.0-py3-none-any.whl.metadata (23 kB)
Requirement already satisfied: async-timeout in /usr/local/lib/python3.11/site-packages (from aioredis->-r requirements/lint.in (line 3)) (4.0.3)
Requirement already satisfied: mypy-extensions>=1.0.0 in /usr/local/lib/python3.11/site-packages (from mypy->-r requirements/lint.in (line 4)) (1.0.0)
Collecting cfgv>=2.0.0 (from pre-commit->-r requirements/lint.in (line 5))
  Downloading https://wheels.home-assistant.io/musllinux-index/cfgv-3.3.1-py2.py3-none-any.whl (7.3 kB)
Collecting identify>=1.0.0 (from pre-commit->-r requirements/lint.in (line 5))
  Downloading https://wheels.home-assistant.io/musllinux-index/identify-2.5.26-py2.py3-none-any.whl (98 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 98.8/98.8 kB 698.7 kB/s eta 0:00:00
Requirement already satisfied: nodeenv>=0.11.1 in /usr/local/lib/python3.11/site-packages (from pre-commit->-r requirements/lint.in (line 5)) (1.8.0)
Requirement already satisfied: pyyaml>=5.1 in /usr/local/lib/python3.11/site-packages (from pre-commit->-r requirements/lint.in (line 5)) (6.0.1)
Collecting virtualenv>=20.10.0 (from pre-commit->-r requirements/lint.in (line 5))
  Downloading https://wheels.home-assistant.io/musllinux-index/virtualenv-20.24.2-py3-none-any.whl (3.0 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 3.0/3.0 MB 40.0 MB/s eta 0:00:00
Requirement already satisfied: iniconfig in /usr/local/lib/python3.11/site-packages (from pytest->-r requirements/lint.in (line 6)) (2.0.0)
Collecting packaging (from pytest->-r requirements/lint.in (line 6))
  Downloading https://wheels.home-assistant.io/musllinux-index/packaging-23.1-py3-none-any.whl (48 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 48.9/48.9 kB 37.2 MB/s eta 0:00:00
Collecting pluggy<2.0,>=0.12 (from pytest->-r requirements/lint.in (line 6))
  Downloading https://wheels.home-assistant.io/musllinux-index/pluggy-1.2.0-py3-none-any.whl (17 kB)
Collecting click<9.0,>=8.0 (from slotscheck->-r requirements/lint.in (line 7))
  Downloading https://wheels.home-assistant.io/musllinux-index/click-8.1.6-py3-none-any.whl (97 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 97.9/97.9 kB 1.5 MB/s eta 0:00:00
Collecting pycares>=4.0.0 (from aiodns->-r requirements/runtime-deps.in (line 3))
  Downloading https://wheels.home-assistant.io/musllinux-index/pycares-4.3.0-cp311-cp311-musllinux_1_2_x86_64.whl.metadata (4.0 kB)
Collecting idna>=2.0 (from yarl<2.0,>=1.0->-r requirements/runtime-deps.in (line 11))
  Downloading https://wheels.home-assistant.io/musllinux-index/idna-3.4-py3-none-any.whl (61 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 61.5/61.5 kB 1.8 MB/s eta 0:00:00
Requirement already satisfied: python-dateutil>=2.7 in /usr/local/lib/python3.11/site-packages (from freezegun->-r requirements/test.in (line 5)) (2.8.2)
Collecting pydantic!=2.0.*,<3,>=1.9 (from python-on-whales->-r requirements/test.in (line 11))
  Downloading pydantic-2.2.0-py3-none-any.whl.metadata (145 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 145.6/145.6 kB 46.0 MB/s eta 0:00:00
Requirement already satisfied: requests in /usr/local/lib/python3.11/site-packages (from python-on-whales->-r requirements/test.in (line 11)) (2.31.0)
Collecting tqdm (from python-on-whales->-r requirements/test.in (line 11))
  Downloading https://wheels.home-assistant.io/musllinux-index/tqdm-4.65.0-py3-none-any.whl (77 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 77.1/77.1 kB 729.4 kB/s eta 0:00:00
Requirement already satisfied: typer>=0.4.1 in /usr/local/lib/python3.11/site-packages (from python-on-whales->-r requirements/test.in (line 11)) (0.9.0)
Collecting regex (from re-assert->-r requirements/test.in (line 12))
  Downloading regex-2023.6.3-cp311-cp311-musllinux_1_1_x86_64.whl.metadata (40 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 40.9/40.9 kB 44.1 MB/s eta 0:00:00
Collecting cryptography>=3.1 (from trustme->-r requirements/test.in (line 14))
  Downloading https://wheels.home-assistant.io/musllinux-index/cryptography-41.0.3-cp311-cp311-musllinux_1_2_x86_64.whl (3.2 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 3.2/3.2 MB 5.7 MB/s eta 0:00:00
Collecting sphinxcontrib-applehelp (from sphinx->-r requirements/doc.in (line 4))
  Downloading https://wheels.home-assistant.io/musllinux-index/sphinxcontrib_applehelp-1.0.4-py3-none-any.whl (120 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 120.6/120.6 kB 543.2 kB/s eta 0:00:00
Collecting sphinxcontrib-devhelp (from sphinx->-r requirements/doc.in (line 4))
  Downloading https://wheels.home-assistant.io/musllinux-index/sphinxcontrib_devhelp-1.0.2-py2.py3-none-any.whl (84 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 84.7/84.7 kB 2.0 MB/s eta 0:00:00
Collecting sphinxcontrib-jsmath (from sphinx->-r requirements/doc.in (line 4))
  Downloading https://wheels.home-assistant.io/musllinux-index/sphinxcontrib_jsmath-1.0.1-py2.py3-none-any.whl (5.1 kB)
Collecting sphinxcontrib-htmlhelp>=2.0.0 (from sphinx->-r requirements/doc.in (line 4))
  Downloading https://wheels.home-assistant.io/musllinux-index/sphinxcontrib_htmlhelp-2.0.1-py3-none-any.whl (99 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 99.8/99.8 kB 10.1 MB/s eta 0:00:00
Collecting sphinxcontrib-serializinghtml>=1.1.5 (from sphinx->-r requirements/doc.in (line 4))
  Downloading https://wheels.home-assistant.io/musllinux-index/sphinxcontrib_serializinghtml-1.1.5-py2.py3-none-any.whl (94 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 94.0/94.0 kB 2.6 MB/s eta 0:00:00
Collecting sphinxcontrib-qthelp (from sphinx->-r requirements/doc.in (line 4))
  Downloading https://wheels.home-assistant.io/musllinux-index/sphinxcontrib_qthelp-1.0.3-py2.py3-none-any.whl (90 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 90.6/90.6 kB 25.7 MB/s eta 0:00:00
Requirement already satisfied: Jinja2>=3.0 in /usr/local/lib/python3.11/site-packages (from sphinx->-r requirements/doc.in (line 4)) (3.1.2)
Collecting Pygments>=2.13 (from sphinx->-r requirements/doc.in (line 4))
  Downloading https://wheels.home-assistant.io/musllinux-index/Pygments-2.15.1-py3-none-any.whl (1.1 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.1/1.1 MB 3.1 MB/s eta 0:00:00
Collecting docutils<0.21,>=0.18.1 (from sphinx->-r requirements/doc.in (line 4))
  Downloading docutils-0.20.1-py3-none-any.whl.metadata (2.8 kB)
Collecting snowballstemmer>=2.0 (from sphinx->-r requirements/doc.in (line 4))
  Downloading https://wheels.home-assistant.io/musllinux-index/snowballstemmer-2.2.0-py2.py3-none-any.whl.metadata (6.5 kB)
Collecting babel>=2.9 (from sphinx->-r requirements/doc.in (line 4))
  Downloading Babel-2.12.1-py3-none-any.whl (10.1 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 10.1/10.1 MB 46.0 MB/s eta 0:00:00
Collecting alabaster<0.8,>=0.7 (from sphinx->-r requirements/doc.in (line 4))
  Downloading https://wheels.home-assistant.io/musllinux-index/alabaster-0.7.13-py3-none-any.whl (13 kB)
Collecting imagesize>=1.3 (from sphinx->-r requirements/doc.in (line 4))
  Downloading https://wheels.home-assistant.io/musllinux-index/imagesize-1.4.1-py2.py3-none-any.whl (8.8 kB)
Collecting blockdiag>=1.5.0 (from sphinxcontrib-blockdiag->-r requirements/doc.in (line 5))
  Downloading blockdiag-3.0.0-py3-none-any.whl (2.7 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 2.7/2.7 MB 50.4 MB/s eta 0:00:00
Requirement already satisfied: incremental in /usr/local/lib/python3.11/site-packages (from towncrier->-r requirements/doc.in (line 7)) (22.10.0)
Collecting gidgethub (from cherry_picker->-r requirements/dev.in (line 5))
  Downloading gidgethub-5.3.0-py3-none-any.whl.metadata (3.9 kB)
Collecting build (from pip-tools->-r requirements/dev.in (line 6))
  Downloading build-0.10.0-py3-none-any.whl (17 kB)
Collecting pip>=22.2 (from pip-tools->-r requirements/dev.in (line 6))
  Downloading https://wheels.home-assistant.io/musllinux-index/pip-23.2.1-py3-none-any.whl (2.1 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 2.1/2.1 MB 24.3 MB/s eta 0:00:00
Collecting setuptools (from pip-tools->-r requirements/dev.in (line 6))
  Downloading https://wheels.home-assistant.io/musllinux-index/setuptools-68.0.0-py3-none-any.whl (804 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 804.0/804.0 kB 42.6 MB/s eta 0:00:00
Collecting wheel (from pip-tools->-r requirements/dev.in (line 6))
  Downloading https://wheels.home-assistant.io/musllinux-index/wheel-0.41.0-py3-none-any.whl (64 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 64.7/64.7 kB 518.6 kB/s eta 0:00:00
Collecting funcparserlib>=1.0.0a0 (from blockdiag>=1.5.0->sphinxcontrib-blockdiag->-r requirements/doc.in (line 5))
  Downloading funcparserlib-1.0.1-py2.py3-none-any.whl (17 kB)
Collecting Pillow>3.0 (from blockdiag>=1.5.0->sphinxcontrib-blockdiag->-r requirements/doc.in (line 5))
  Downloading https://wheels.home-assistant.io/musllinux-index/Pillow-9.5.0-cp311-cp311-musllinux_1_2_x86_64.whl (2.3 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 2.3/2.3 MB 4.8 MB/s eta 0:00:00
Requirement already satisfied: webcolors in /usr/local/lib/python3.11/site-packages (from blockdiag>=1.5.0->sphinxcontrib-blockdiag->-r requirements/doc.in (line 5)) (1.13)
Collecting cffi>=1.12 (from cryptography>=3.1->trustme->-r requirements/test.in (line 14))
  Downloading https://wheels.home-assistant.io/musllinux-index/cffi-1.15.1-cp311-cp311-musllinux_1_2_x86_64.whl.metadata (1.1 kB)
Requirement already satisfied: MarkupSafe>=2.0 in /usr/local/lib/python3.11/site-packages (from Jinja2>=3.0->sphinx->-r requirements/doc.in (line 4)) (2.1.3)
Collecting annotated-types>=0.4.0 (from pydantic!=2.0.*,<3,>=1.9->python-on-whales->-r requirements/test.in (line 11))
  Downloading annotated_types-0.5.0-py3-none-any.whl.metadata (11 kB)
Collecting pydantic-core==2.6.0 (from pydantic!=2.0.*,<3,>=1.9->python-on-whales->-r requirements/test.in (line 11))
  Downloading pydantic_core-2.6.0-cp311-cp311-musllinux_1_1_x86_64.whl.metadata (6.5 kB)
Requirement already satisfied: six>=1.5 in /usr/local/lib/python3.11/site-packages (from python-dateutil>=2.7->freezegun->-r requirements/test.in (line 5)) (1.16.0)
Requirement already satisfied: charset-normalizer<4,>=2 in /usr/local/lib/python3.11/site-packages (from requests->python-on-whales->-r requirements/test.in (line 11)) (3.2.0)
Collecting urllib3<3,>=1.21.1 (from requests->python-on-whales->-r requirements/test.in (line 11))
  Downloading https://wheels.home-assistant.io/musllinux-index/urllib3-2.0.4-py3-none-any.whl (123 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 123.9/123.9 kB 20.9 MB/s eta 0:00:00
Collecting certifi>=2017.4.17 (from requests->python-on-whales->-r requirements/test.in (line 11))
  Downloading https://wheels.home-assistant.io/musllinux-index/certifi-2023.7.22-py3-none-any.whl (158 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 158.3/158.3 kB 14.0 MB/s eta 0:00:00
Collecting distlib<1,>=0.3.7 (from virtualenv>=20.10.0->pre-commit->-r requirements/lint.in (line 5))
  Downloading https://wheels.home-assistant.io/musllinux-index/distlib-0.3.7-py2.py3-none-any.whl.metadata (5.1 kB)
Collecting filelock<4,>=3.12.2 (from virtualenv>=20.10.0->pre-commit->-r requirements/lint.in (line 5))
  Downloading https://wheels.home-assistant.io/musllinux-index/filelock-3.12.2-py3-none-any.whl (10 kB)
Collecting platformdirs<4,>=3.9.1 (from virtualenv>=20.10.0->pre-commit->-r requirements/lint.in (line 5))
  Downloading https://wheels.home-assistant.io/musllinux-index/platformdirs-3.10.0-py3-none-any.whl (17 kB)
Collecting pyproject_hooks (from build->pip-tools->-r requirements/dev.in (line 6))
  Downloading pyproject_hooks-1.0.0-py3-none-any.whl (9.3 kB)
Requirement already satisfied: uritemplate>=3.0.1 in /usr/local/lib/python3.11/site-packages (from gidgethub->cherry_picker->-r requirements/dev.in (line 5)) (4.1.1)
Requirement already satisfied: PyJWT>=2.4.0 in /usr/local/lib/python3.11/site-packages (from PyJWT[crypto]>=2.4.0->gidgethub->cherry_picker->-r requirements/dev.in (line 5)) (2.8.0)
Requirement already satisfied: pycparser in /usr/local/lib/python3.11/site-packages (from cffi>=1.12->cryptography>=3.1->trustme->-r requirements/test.in (line 14)) (2.21)
Downloading mypy-1.7.1-cp311-cp311-musllinux_1_1_x86_64.whl (12.4 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 12.4/12.4 MB 35.7 MB/s eta 0:00:00
Downloading slotscheck-0.17.1-py3-none-any.whl (20 kB)
Downloading uvloop-0.19.0-cp311-cp311-musllinux_1_1_x86_64.whl (4.2 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 4.2/4.2 MB 43.3 MB/s eta 0:00:00
Downloading https://wheels.home-assistant.io/musllinux-index/aiodns-3.1.1-py3-none-any.whl (5.4 kB)
Downloading gunicorn-21.2.0-py3-none-any.whl (80 kB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 80.2/80.2 kB 36.6 MB/s eta 0:00:00
Downloading freezegun-1.3.0-py3-none-any.whl (17 kB)
Downloading python_on_whales-0.67.0-py3-none-any.whl (159 kB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 159.1/159.1 kB 38.0 MB/s eta 0:00:00
Downloading trustme-1.1.0-py3-none-any.whl (16 kB)
Downloading sphinx-7.1.2-py3-none-any.whl (3.2 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 3.2/3.2 MB 41.6 MB/s eta 0:00:00
Downloading sphinxcontrib_towncrier-0.4.0a0-py3-none-any.whl (13 kB)
Downloading towncrier-23.11.0-py3-none-any.whl (49 kB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 49.3/49.3 kB 36.9 MB/s eta 0:00:00
Downloading cherry_picker-2.2.0-py3-none-any.whl (26 kB)
Downloading pip_tools-7.3.0-py3-none-any.whl (57 kB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 57.4/57.4 kB 44.2 MB/s eta 0:00:00
Downloading docutils-0.20.1-py3-none-any.whl (572 kB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 572.7/572.7 kB 40.6 MB/s eta 0:00:00
Downloading https://wheels.home-assistant.io/musllinux-index/pycares-4.3.0-cp311-cp311-musllinux_1_2_x86_64.whl (81 kB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 81.8/81.8 kB 36.4 MB/s eta 0:00:00
Downloading pydantic-2.2.0-py3-none-any.whl (373 kB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 373.2/373.2 kB 43.1 MB/s eta 0:00:00
Downloading pydantic_core-2.6.0-cp311-cp311-musllinux_1_1_x86_64.whl (2.0 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 2.0/2.0 MB 39.2 MB/s eta 0:00:00
Downloading https://wheels.home-assistant.io/musllinux-index/snowballstemmer-2.2.0-py2.py3-none-any.whl (93 kB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 93.0/93.0 kB 603.6 kB/s eta 0:00:00
Downloading gidgethub-5.3.0-py3-none-any.whl (21 kB)
Downloading regex-2023.6.3-cp311-cp311-musllinux_1_1_x86_64.whl (751 kB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 751.1/751.1 kB 45.0 MB/s eta 0:00:00
Downloading annotated_types-0.5.0-py3-none-any.whl (11 kB)
Downloading https://wheels.home-assistant.io/musllinux-index/cffi-1.15.1-cp311-cp311-musllinux_1_2_x86_64.whl (209 kB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 209.4/209.4 kB 27.3 MB/s eta 0:00:00
Downloading https://wheels.home-assistant.io/musllinux-index/distlib-0.3.7-py2.py3-none-any.whl (468 kB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 468.9/468.9 kB 39.4 MB/s eta 0:00:00
Installing collected packages: snowballstemmer, setuptools-git, distlib, aiohttp-theme, wheel, uvloop, urllib3, tqdm, sphinxcontrib-serializinghtml, sphinxcontrib-qthelp, sphinxcontrib-jsmath, sphinxcontrib-htmlhelp, sphinxcontrib-devhelp, sphinxcontrib-applehelp, setuptools, regex, pyproject_hooks, Pygments, pydantic-core, proxy.py, pluggy, platformdirs, pip, Pillow, packaging, mypy, imagesize, idna, identify, funcparserlib, frozenlist, filelock, docutils, coverage, click, cfgv, cffi, certifi, babel, annotated-types, alabaster, aioredis, yarl, wait-for-it, virtualenv, towncrier, slotscheck, re-assert, pytest, pydantic, pycares, gunicorn, freezegun, cryptography, build, blockdiag, trustme, sphinx, python-on-whales, pre-commit, pip-tools, aiodns, sphinxcontrib-towncrier, sphinxcontrib-blockdiag, gidgethub, cherry_picker
  Attempting uninstall: distlib
    Found existing installation: distlib 0.3.8
    Uninstalling distlib-0.3.8:
      Successfully uninstalled distlib-0.3.8
  Attempting uninstall: wheel
    Found existing installation: wheel 0.41.2
    Uninstalling wheel-0.41.2:
      Successfully uninstalled wheel-0.41.2
  Attempting uninstall: urllib3
    Found existing installation: urllib3 1.26.18
    Uninstalling urllib3-1.26.18:
      Successfully uninstalled urllib3-1.26.18
  Attempting uninstall: tqdm
    Found existing installation: tqdm 4.66.1
    Uninstalling tqdm-4.66.1:
      Successfully uninstalled tqdm-4.66.1
  Attempting uninstall: setuptools
    Found existing installation: setuptools 68.2.2
    Uninstalling setuptools-68.2.2:
      Successfully uninstalled setuptools-68.2.2
  Attempting uninstall: regex
    Found existing installation: regex 2021.8.28
    Uninstalling regex-2021.8.28:
      Successfully uninstalled regex-2021.8.28
  Attempting uninstall: Pygments
    Found existing installation: Pygments 2.17.2
    Uninstalling Pygments-2.17.2:
      Successfully uninstalled Pygments-2.17.2
  Attempting uninstall: pluggy
    Found existing installation: pluggy 1.3.0
    Uninstalling pluggy-1.3.0:
      Successfully uninstalled pluggy-1.3.0
  Attempting uninstall: platformdirs
    Found existing installation: platformdirs 4.1.0
    Uninstalling platformdirs-4.1.0:
      Successfully uninstalled platformdirs-4.1.0
  Attempting uninstall: pip
    Found existing installation: pip 23.3.2
    Uninstalling pip-23.3.2:
      Successfully uninstalled pip-23.3.2
  Attempting uninstall: Pillow
    Found existing installation: Pillow 10.1.0
    Uninstalling Pillow-10.1.0:
      Successfully uninstalled Pillow-10.1.0
  Attempting uninstall: packaging
    Found existing installation: packaging 23.2
    Uninstalling packaging-23.2:
      Successfully uninstalled packaging-23.2
  Attempting uninstall: idna
    Found existing installation: idna 3.6
    Uninstalling idna-3.6:
      Successfully uninstalled idna-3.6
  Attempting uninstall: identify
    Found existing installation: identify 2.5.33
    Uninstalling identify-2.5.33:
      Successfully uninstalled identify-2.5.33
  Attempting uninstall: frozenlist
    Found existing installation: frozenlist 1.4.1
    Uninstalling frozenlist-1.4.1:
      Successfully uninstalled frozenlist-1.4.1
  Attempting uninstall: filelock
    Found existing installation: filelock 3.13.1
    Uninstalling filelock-3.13.1:
      Successfully uninstalled filelock-3.13.1
  Attempting uninstall: coverage
    Found existing installation: coverage 7.4.0
    Uninstalling coverage-7.4.0:
      Successfully uninstalled coverage-7.4.0
  Attempting uninstall: click
    Found existing installation: click 8.1.7
    Uninstalling click-8.1.7:
      Successfully uninstalled click-8.1.7
  Attempting uninstall: cfgv
    Found existing installation: cfgv 3.4.0
    Uninstalling cfgv-3.4.0:
      Successfully uninstalled cfgv-3.4.0
  Attempting uninstall: cffi
    Found existing installation: cffi 1.16.0
    Uninstalling cffi-1.16.0:
      Successfully uninstalled cffi-1.16.0
  Attempting uninstall: certifi
    Found existing installation: certifi 2023.11.17
    Uninstalling certifi-2023.11.17:
      Successfully uninstalled certifi-2023.11.17
  Attempting uninstall: babel
    Found existing installation: Babel 2.13.1
    Uninstalling Babel-2.13.1:
      Successfully uninstalled Babel-2.13.1
  Attempting uninstall: yarl
    Found existing installation: yarl 1.9.4
    Uninstalling yarl-1.9.4:
      Successfully uninstalled yarl-1.9.4
  Attempting uninstall: virtualenv
    Found existing installation: virtualenv 20.25.0
    Uninstalling virtualenv-20.25.0:
      Successfully uninstalled virtualenv-20.25.0
  Attempting uninstall: pytest
    Found existing installation: pytest 7.4.4
    Uninstalling pytest-7.4.4:
      Successfully uninstalled pytest-7.4.4
  Attempting uninstall: pydantic
    Found existing installation: pydantic 1.10.12
    Uninstalling pydantic-1.10.12:
      Successfully uninstalled pydantic-1.10.12
  Attempting uninstall: pycares
    Found existing installation: pycares 4.4.0
    Uninstalling pycares-4.4.0:
      Successfully uninstalled pycares-4.4.0
  Attempting uninstall: cryptography
    Found existing installation: cryptography 41.0.7
    Uninstalling cryptography-41.0.7:
      Successfully uninstalled cryptography-41.0.7
  Attempting uninstall: pre-commit
    Found existing installation: pre-commit 3.6.0
    Uninstalling pre-commit-3.6.0:
      Successfully uninstalled pre-commit-3.6.0
  Attempting uninstall: aiodns
    Found existing installation: aiodns 3.0.0
    Uninstalling aiodns-3.0.0:
      Successfully uninstalled aiodns-3.0.0
ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.
alexapy 1.27.10 requires aiofiles<24.0.0,>=23.1.0, but you have aiofiles 0.8.0 which is incompatible.
homeassistant 2024.1.3 requires cryptography==41.0.7, but you have cryptography 41.0.3 which is incompatible.
homeassistant 2024.1.3 requires typing-extensions<5.0,>=4.9.0, but you have typing-extensions 4.7.1 which is incompatible.
homeassistant 2024.1.3 requires urllib3<2,>=1.26.5, but you have urllib3 2.0.4 which is incompatible.
homeassistant 2024.1.3 requires yarl==1.9.4, but you have yarl 1.9.3 which is incompatible.
freebox-api 1.1.0 requires urllib3<2.0.0,>=1.26.6, but you have urllib3 2.0.4 which is incompatible.
aioopenexchangerates 0.4.0 requires pydantic<2.0,>=1.9, but you have pydantic 2.2.0 which is incompatible.
env-canada 0.6.0 requires Pillow>=10.0.1, but you have pillow 9.5.0 which is incompatible.
botocore 1.31.17 requires urllib3<1.27,>=1.25.4, but you have urllib3 2.0.4 which is incompatible.
meteofrance-api 1.3.0 requires urllib3<2.0.0,>=1.26.18, but you have urllib3 2.0.4 which is incompatible.
systembridgemodels 3.10.5 requires pydantic<2.0.0, but you have pydantic 2.2.0 which is incompatible.
dwdwfsapi 1.0.6 requires urllib3<2,>=1.25.8, but you have urllib3 2.0.4 which is incompatible.
odp-amsterdam 6.0.0 requires pytz<2024.0,>=2023.3, but you have pytz 2022.7 which is incompatible.
aiopurpleair 2022.12.1 requires pydantic<2.0.0,>=1.10.2, but you have pydantic 2.2.0 which is incompatible.
pykoplenti 1.2.2 requires pydantic~=1.10, but you have pydantic 2.2.0 which is incompatible.
demetriek 0.4.0 requires pydantic<2.0.0,>=1.9.0, but you have pydantic 2.2.0 which is incompatible.
aionotion 2023.5.5 requires pydantic<2.0.0,>=1.10.7, but you have pydantic 2.2.0 which is incompatible.
pyaussiebb 0.0.15 requires pydantic<2.0.0,>=1.9.0, but you have pydantic 2.2.0 which is incompatible.
Successfully installed Pillow-9.5.0 Pygments-2.15.1 aiodns-3.1.1 aiohttp-theme-0.1.6 aioredis-2.0.1 alabaster-0.7.13 annotated-types-0.5.0 babel-2.12.1 blockdiag-3.0.0 build-0.10.0 certifi-2023.7.22 cffi-1.15.1 cfgv-3.3.1 cherry_picker-2.2.0 click-8.1.6 coverage-7.3.2 cryptography-41.0.3 distlib-0.3.7 docutils-0.20.1 filelock-3.12.2 freezegun-1.3.0 frozenlist-1.4.0 funcparserlib-1.0.1 gidgethub-5.3.0 gunicorn-21.2.0 identify-2.5.26 idna-3.4 imagesize-1.4.1 mypy-1.7.1 packaging-23.1 pip-23.2.1 pip-tools-7.3.0 platformdirs-3.10.0 pluggy-1.2.0 pre-commit-3.5.0 proxy.py-2.4.4rc4 pycares-4.3.0 pydantic-2.2.0 pydantic-core-2.6.0 pyproject_hooks-1.0.0 pytest-7.4.3 python-on-whales-0.67.0 re-assert-1.1.0 regex-2023.6.3 setuptools-68.0.0 setuptools-git-1.2 slotscheck-0.17.1 snowballstemmer-2.2.0 sphinx-7.1.2 sphinxcontrib-applehelp-1.0.4 sphinxcontrib-blockdiag-3.0.0 sphinxcontrib-devhelp-1.0.2 sphinxcontrib-htmlhelp-2.0.1 sphinxcontrib-jsmath-1.0.1 sphinxcontrib-qthelp-1.0.3 sphinxcontrib-serializinghtml-1.1.5 sphinxcontrib-towncrier-0.4.0a0 towncrier-23.11.0 tqdm-4.65.0 trustme-1.1.0 urllib3-2.0.4 uvloop-0.19.0 virtualenv-20.24.2 wait-for-it-2.2.2 wheel-0.41.0 yarl-1.9.3
WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv
make -C vendor/llhttp generate
make[1]: Entering directory '/aiohttp/vendor/llhttp'
npx ts-node bin/generate.ts
make[1]: Leaving directory '/aiohttp/vendor/llhttp'
re-hash /aiohttp/aiohttp/__init__.py
re-hash /aiohttp/aiohttp/abc.py
re-hash /aiohttp/aiohttp/base_protocol.py
re-hash /aiohttp/aiohttp/client.py
re-hash /aiohttp/aiohttp/client_exceptions.py
re-hash /aiohttp/aiohttp/client_proto.py
re-hash /aiohttp/aiohttp/client_reqrep.py
re-hash /aiohttp/aiohttp/client_ws.py
re-hash /aiohttp/aiohttp/compression_utils.py
re-hash /aiohttp/aiohttp/connector.py
re-hash /aiohttp/aiohttp/cookiejar.py
re-hash /aiohttp/aiohttp/formdata.py
re-hash /aiohttp/aiohttp/helpers.py
re-hash /aiohttp/aiohttp/http.py
re-hash /aiohttp/aiohttp/http_exceptions.py
re-hash /aiohttp/aiohttp/http_parser.py
re-hash /aiohttp/aiohttp/http_websocket.py
re-hash /aiohttp/aiohttp/http_writer.py
re-hash /aiohttp/aiohttp/locks.py
re-hash /aiohttp/aiohttp/log.py
re-hash /aiohttp/aiohttp/multipart.py
re-hash /aiohttp/aiohttp/payload.py
re-hash /aiohttp/aiohttp/payload_streamer.py
re-hash /aiohttp/aiohttp/pytest_plugin.py
re-hash /aiohttp/aiohttp/resolver.py
re-hash /aiohttp/aiohttp/streams.py
re-hash /aiohttp/aiohttp/tcp_helpers.py
re-hash /aiohttp/aiohttp/test_utils.py
re-hash /aiohttp/aiohttp/tracing.py
re-hash /aiohttp/aiohttp/typedefs.py
re-hash /aiohttp/aiohttp/web.py
re-hash /aiohttp/aiohttp/web_app.py
re-hash /aiohttp/aiohttp/web_exceptions.py
re-hash /aiohttp/aiohttp/web_fileresponse.py
re-hash /aiohttp/aiohttp/web_log.py
re-hash /aiohttp/aiohttp/web_middlewares.py
re-hash /aiohttp/aiohttp/web_protocol.py
re-hash /aiohttp/aiohttp/web_request.py
re-hash /aiohttp/aiohttp/web_response.py
re-hash /aiohttp/aiohttp/web_routedef.py
re-hash /aiohttp/aiohttp/web_runner.py
re-hash /aiohttp/aiohttp/web_server.py
re-hash /aiohttp/aiohttp/web_urldispatcher.py
re-hash /aiohttp/aiohttp/web_ws.py
re-hash /aiohttp/aiohttp/worker.py
python -m pip install -e . -c requirements/runtime-deps.txt
Looking in indexes: https://pypi.org/simple, https://wheels.home-assistant.io/musllinux-index/
Obtaining file:///aiohttp
  Installing build dependencies ... done
  Checking if build backend supports build_editable ... done
  Getting requirements to build editable ... done
  Installing backend dependencies ... done
  Preparing editable metadata (pyproject.toml) ... done
Requirement already satisfied: aiosignal>=1.1.2 in /usr/local/lib/python3.11/site-packages (from aiohttp==3.9.1.dev0) (1.3.1)
Requirement already satisfied: attrs>=17.3.0 in /usr/local/lib/python3.11/site-packages (from aiohttp==3.9.1.dev0) (23.1.0)
Requirement already satisfied: frozenlist>=1.1.1 in /usr/local/lib/python3.11/site-packages (from aiohttp==3.9.1.dev0) (1.4.0)
Requirement already satisfied: multidict<7.0,>=4.5 in /usr/local/lib/python3.11/site-packages (from aiohttp==3.9.1.dev0) (6.0.4)
Requirement already satisfied: yarl<2.0,>=1.0 in /usr/local/lib/python3.11/site-packages (from aiohttp==3.9.1.dev0) (1.9.3)
Requirement already satisfied: idna>=2.0 in /usr/local/lib/python3.11/site-packages (from yarl<2.0,>=1.0->aiohttp==3.9.1.dev0) (3.4)
Building wheels for collected packages: aiohttp
  Building editable for aiohttp (pyproject.toml) ... done
  Created wheel for aiohttp: filename=aiohttp-3.9.1.dev0-0.editable-cp311-cp311-linux_x86_64.whl size=5661 sha256=85ad275dc4b4e5b44fdc70a7421f3addafe922b1c29e1041390e9afe689c54fd
  Stored in directory: /tmp/pip-ephem-wheel-cache-sjmhhbmw/wheels/96/9a/65/875263610b0190ec2294f699f82ab97887aba2c1554249b8ed
Successfully built aiohttp
Installing collected packages: aiohttp
  Attempting uninstall: aiohttp
    Found existing installation: aiohttp 3.9.1
    Uninstalling aiohttp-3.9.1:
      Successfully uninstalled aiohttp-3.9.1
ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.
alexapy 1.27.10 requires aiofiles<24.0.0,>=23.1.0, but you have aiofiles 0.8.0 which is incompatible.
homeassistant 2024.1.3 requires aiohttp==3.9.1, but you have aiohttp 3.9.1.dev0 which is incompatible.
homeassistant 2024.1.3 requires cryptography==41.0.7, but you have cryptography 41.0.3 which is incompatible.
homeassistant 2024.1.3 requires typing-extensions<5.0,>=4.9.0, but you have typing-extensions 4.7.1 which is incompatible.
homeassistant 2024.1.3 requires urllib3<2,>=1.26.5, but you have urllib3 2.0.4 which is incompatible.
homeassistant 2024.1.3 requires yarl==1.9.4, but you have yarl 1.9.3 which is incompatible.
freebox-api 1.1.0 requires urllib3<2.0.0,>=1.26.6, but you have urllib3 2.0.4 which is incompatible.
aioopenexchangerates 0.4.0 requires pydantic<2.0,>=1.9, but you have pydantic 2.2.0 which is incompatible.
env-canada 0.6.0 requires Pillow>=10.0.1, but you have pillow 9.5.0 which is incompatible.
async-upnp-client 0.38.0 requires aiohttp~=3.9.1, but you have aiohttp 3.9.1.dev0 which is incompatible.
blinkpy 0.22.5 requires aiofiles>=23.1.0, but you have aiofiles 0.8.0 which is incompatible.
odp-amsterdam 6.0.0 requires pytz<2024.0,>=2023.3, but you have pytz 2022.7 which is incompatible.
aiopurpleair 2022.12.1 requires pydantic<2.0.0,>=1.10.2, but you have pydantic 2.2.0 which is incompatible.
pykoplenti 1.2.2 requires pydantic~=1.10, but you have pydantic 2.2.0 which is incompatible.
matrix-nio 0.22.1 requires aiofiles<24.0.0,>=23.1.0, but you have aiofiles 0.8.0 which is incompatible.
demetriek 0.4.0 requires pydantic<2.0.0,>=1.9.0, but you have pydantic 2.2.0 which is incompatible.
aionotion 2023.5.5 requires pydantic<2.0.0,>=1.10.7, but you have pydantic 2.2.0 which is incompatible.
pyaussiebb 0.0.15 requires pydantic<2.0.0,>=1.9.0, but you have pydantic 2.2.0 which is incompatible.
Successfully installed aiohttp-3.9.1.dev0
WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv
=============================== test session starts ================================
platform linux -- Python 3.11.6, pytest-7.4.3, pluggy-1.2.0
rootdir: /aiohttp
configfile: setup.cfg
testpaths: tests/
plugins: rerunfailures-13.0, cov-4.1.0, mock-3.12.0, anyio-4.1.0
collected 2829 items / 4 deselected / 2825 selected

tests/test_base_protocol.py ....................                             [  0%]
tests/test_circular_imports.py ............................................. [  2%]
....                                                                         [  2%]
tests/test_classbasedview.py ....                                            [  2%]
tests/test_client_connection.py .........                                    [  2%]
tests/test_client_exceptions.py ...........................                  [  3%]
tests/test_client_fingerprint.py ............                                [  4%]
tests/test_client_functional.py ............................................ [  5%]
.......................................................................x.... [  8%]
..............................................................x              [ 10%]
tests/test_client_proto.py ...........                                       [ 11%]
tests/test_client_request.py ............................................... [ 12%]
............................................................................ [ 15%]
..............                                                               [ 16%]
tests/test_client_response.py .............................................. [ 17%]
..........                                                                   [ 17%]
tests/test_client_session.py ..........................................s.... [ 19%]
.......                                                                      [ 19%]
tests/test_client_ws.py ...........................                          [ 20%]
tests/test_client_ws_functional.py ................................          [ 21%]
tests/test_connector.py ....x............................................... [ 23%]
.....................................................sss..........s......... [ 26%]
....                                                                         [ 26%]
tests/test_cookiejar.py ..............................................       [ 28%]
tests/test_flowcontrol_streams.py .............                              [ 28%]
tests/test_formdata.py ..........                                            [ 29%]
tests/test_helpers.py ...................................................... [ 31%]
...........................................................                  [ 33%]
tests/test_http_exceptions.py ...................                            [ 33%]
tests/test_http_parser.py .................................................. [ 35%]
............................................................................ [ 38%]
............................................................................ [ 40%]
...............x............................                                 [ 42%]
tests/test_http_writer.py .....................                              [ 43%]
tests/test_imports.py ..F                                                    [ 43%]
tests/test_locks.py ...                                                      [ 43%]
tests/test_loop.py .....                                                     [ 43%]
tests/test_multipart.py .................................................... [ 45%]
.....................................................                        [ 47%]
tests/test_multipart_helpers.py ...............s............................ [ 48%]
.....................ss......ss............................                  [ 50%]
tests/test_payload.py ..............                                         [ 51%]
tests/test_proxy.py .................                                        [ 52%]
tests/test_proxy_functional.py ..s.........ss........                        [ 52%]
tests/test_pytest_plugin.py ....                                             [ 52%]
tests/test_resolver.py ....................                                  [ 53%]
tests/test_route_def.py ......................                               [ 54%]
tests/test_run_app.py ...................................................... [ 56%]
.                                                                            [ 56%]
tests/test_streams.py ...................................................... [ 58%]
..........................................................                   [ 60%]
tests/test_tcp_helpers.py ......                                             [ 60%]
tests/test_test_utils.py ................................................    [ 62%]
tests/test_tracing.py ...................                                    [ 62%]
tests/test_urldispatch.py .................................................. [ 64%]
...........................................s................................ [ 67%]
..............                                                               [ 67%]
tests/test_web_app.py ............................s...........               [ 69%]
tests/test_web_cli.py ..........                                             [ 69%]
tests/test_web_exceptions.py ......................                          [ 70%]
tests/test_web_functional.py ............................x.................. [ 72%]
.........................................................................    [ 74%]
tests/test_web_log.py ...........                                            [ 75%]
tests/test_web_middleware.py ............................................... [ 76%]
....................................................................         [ 79%]
tests/test_web_request.py .................................................. [ 80%]
......................................................                       [ 82%]
tests/test_web_request_handler.py ....                                       [ 83%]
tests/test_web_response.py ................................................. [ 84%]
............................................................................ [ 87%]
..................                                                           [ 88%]
tests/test_web_runner.py ..........ss......                                  [ 88%]
tests/test_web_sendfile.py .....                                             [ 88%]
tests/test_web_sendfile_functional.py ...................................... [ 90%]
..................................................                           [ 92%]
tests/test_web_server.py .x.........                                         [ 92%]
tests/test_web_urldispatcher.py ...........................xxx               [ 93%]
tests/test_web_websocket.py ................................................ [ 95%]
                                                                             [ 95%]
tests/test_web_websocket_functional.py .........................             [ 96%]
tests/test_websocket_handshake.py ....................                       [ 96%]
tests/test_websocket_parser.py ..........................................    [ 98%]
tests/test_websocket_writer.py ..............                                [ 98%]
tests/test_worker.py ..................................                      [ 99%]
tests/autobahn/test_autobahn.py xx                                           [100%]

===================================== FAILURES =====================================
_________________________________ test_import_time _________________________________

pytester = <Pytester PosixPath('/tmp/pytest-of-root/pytest-0/test_import_time0')>

    @pytest.mark.skipif(
        not sys.platform.startswith("linux") or platform.python_implementation() == "PyPy",
        reason="Timing is more reliable on Linux",
    )
    def test_import_time(pytester: pytest.Pytester) -> None:
        """Check that importing aiohttp doesn't take too long.

        Obviously, the time may vary on different machines and may need to be adjusted
        from time to time, but this should provide an early warning if something is
        added that significantly increases import time.
        """
        root = Path(__file__).parent.parent
        old_path = os.environ.get("PYTHONPATH")
        os.environ["PYTHONPATH"] = os.pathsep.join([str(root)] + sys.path)

        best_time_ms = 1000
        cmd = "import timeit; print(int(timeit.timeit('import aiohttp', number=1) * 1000))"
        try:
            for _ in range(3):
                r = pytester.run(sys.executable, "-We", "-c", cmd)

                assert not r.stderr.str()
                runtime_ms = int(r.stdout.str())
                if runtime_ms < best_time_ms:
                    best_time_ms = runtime_ms
        finally:
            if old_path is None:
                os.environ.pop("PYTHONPATH")
            else:
                os.environ["PYTHONPATH"] = old_path

>       assert best_time_ms < 200
E       assert 207 < 200

_          = 2
best_time_ms = 207
cmd        = "import timeit; print(int(timeit.timeit('import aiohttp', number=1) * 1000))"
old_path   = None
pytester   = <Pytester PosixPath('/tmp/pytest-of-root/pytest-0/test_import_time0')>
r          = <RunResult ret=0 len(stdout.lines)=1 len(stderr.lines)=0 duration=0.49s>
root       = PosixPath('/aiohttp')
runtime_ms = 217

/aiohttp/tests/test_imports.py:62: AssertionError
------------------------------- Captured stdout call -------------------------------
running: /usr/local/bin/python -We -c import timeit; print(int(timeit.timeit('import aiohttp', number=1) * 1000))
     in: /tmp/pytest-of-root/pytest-0/test_import_time0
207
running: /usr/local/bin/python -We -c import timeit; print(int(timeit.timeit('import aiohttp', number=1) * 1000))
     in: /tmp/pytest-of-root/pytest-0/test_import_time0
218
running: /usr/local/bin/python -We -c import timeit; print(int(timeit.timeit('import aiohttp', number=1) * 1000))
     in: /tmp/pytest-of-root/pytest-0/test_import_time0
217

---------- coverage: platform linux, python 3.11.6-final-0 -----------
Name                                     Stmts   Miss Branch BrPart  Cover
--------------------------------------------------------------------------
aiohttp/__init__.py                         27      2      2      0    93%
aiohttp/abc.py                              90      0     64      0   100%
aiohttp/base_protocol.py                    66      0     24      0   100%
aiohttp/client.py                          492     19    220      6    96%
aiohttp/client_exceptions.py               135      2     40      0    99%
aiohttp/client_proto.py                    149      2     60      3    98%
aiohttp/client_reqrep.py                   681      3    346      7    99%
aiohttp/client_ws.py                       212     10     80      8    94%
aiohttp/compression_utils.py                70      7     22      3    87%
aiohttp/connector.py                       715     48    342     23    92%
aiohttp/cookiejar.py                       259      6    137      1    98%
aiohttp/formdata.py                         93      0     48      1    99%
aiohttp/hdrs.py                             90      0      0      0   100%
aiohttp/helpers.py                         519     15    210     14    96%
aiohttp/http.py                             11      0      2      0   100%
aiohttp/http_exceptions.py                  50      0      4      0   100%
aiohttp/http_parser.py                     497     23    204     10    93%
aiohttp/http_websocket.py                  389      1    154      4    99%
aiohttp/http_writer.py                     118      8     54      1    92%
aiohttp/locks.py                            24      0      4      0   100%
aiohttp/log.py                               7      0      0      0   100%
aiohttp/multipart.py                       564      9    246      9    98%
aiohttp/payload.py                         220      5     76      4    96%
aiohttp/payload_streamer.py                 29      0      4      0   100%
aiohttp/pytest_plugin.py                   167     11     74      2    94%
aiohttp/resolver.py                         68      2     22      1    97%
aiohttp/streams.py                         399      4    146      5    98%
aiohttp/tcp_helpers.py                      19      0      8      1    96%
aiohttp/test_utils.py                      313      2     72      3    99%
aiohttp/tracing.py                         191      0     64      0   100%
aiohttp/typedefs.py                         23      0      0      0   100%
aiohttp/web.py                             136      0     56      1    99%
aiohttp/web_app.py                         302      8    112      1    98%
aiohttp/web_exceptions.py                  157      0     10      0   100%
aiohttp/web_fileresponse.py                145      0     48      1    99%
aiohttp/web_log.py                         102      0     42      0   100%
aiohttp/web_middlewares.py                  55      0     26      0   100%
aiohttp/web_protocol.py                    343     24    151     22    89%
aiohttp/web_request.py                     436      7    208      5    98%
aiohttp/web_response.py                    483      5    272      6    99%
aiohttp/web_routedef.py                    106      2     16      0    98%
aiohttp/web_runner.py                      215     17     68      3    92%
aiohttp/web_server.py                       41      0     10      0   100%
aiohttp/web_urldispatcher.py               708     14    249      8    97%
aiohttp/web_ws.py                          332     16    128      9    94%
aiohttp/worker.py                          126      7     32      3    94%
tests/autobahn/test_autobahn.py             60     38     26      0    44%
tests/conftest.py                          106     16     49      8    83%
tests/test_base_protocol.py                198      0     10      0   100%
tests/test_circular_imports.py              29      0     15      0   100%
tests/test_classbasedview.py                39      2      4      0    95%
tests/test_client_connection.py             94      0     14      1    99%
tests/test_client_exceptions.py            183      0     24      0   100%
tests/test_client_fingerprint.py            59      0     24      0   100%
tests/test_client_functional.py           2343     31    438     11    98%
tests/test_client_proto.py                  99      0      0      0   100%
tests/test_client_request.py               786      2    108      1    99%
tests/test_client_response.py              464      5     36      1    99%
tests/test_client_session.py               483      9    105      3    98%
tests/test_client_ws.py                    415      0    154      0   100%
tests/test_client_ws_functional.py         606     26     46      4    95%
tests/test_connector.py                   1520     57    214     13    95%
tests/test_cookiejar.py                    349      0     44      3    99%
tests/test_flowcontrol_streams.py          100      0      6      0   100%
tests/test_formdata.py                      72      0     24      0   100%
tests/test_helpers.py                      464     11    168      9    97%
tests/test_http_exceptions.py              109      0     10      0   100%
tests/test_http_parser.py                  963     19    182      0    98%
tests/test_http_writer.py                  182      0     24      0   100%
tests/test_imports.py                       31      1      8      1    95%
tests/test_locks.py                         39      1      4      0    98%
tests/test_loop.py                          36      2      4      0    95%
tests/test_multipart.py                    750      0    204      1    99%
tests/test_multipart_helpers.py            446     19     82      0    95%
tests/test_payload.py                       92      3      8      0    97%
tests/test_proxy.py                        285      0     38      0   100%
tests/test_proxy_functional.py             468    178     94      2    66%
tests/test_pytest_plugin.py                 27      0      0      0   100%
tests/test_resolver.py                     176     12     72      0    94%
tests/test_route_def.py                    210     20     26      0    92%
tests/test_run_app.py                      522     11     94     10    97%
tests/test_streams.py                     1077      1    132      1    99%
tests/test_tcp_helpers.py                   52      2     14      1    95%
tests/test_test_utils.py                   242      5     62      5    97%
tests/test_tracing.py                       48      0      2      0   100%
tests/test_urldispatch.py                  844     15     98      1    98%
tests/test_web_app.py                      453      5     54      0    99%
tests/test_web_cli.py                       75      0     20      0   100%
tests/test_web_exceptions.py               176      0     38      0   100%
tests/test_web_functional.py              1547     29    178      4    98%
tests/test_web_log.py                      116      2     14      0    98%
tests/test_web_middleware.py               266      3     46      2    98%
tests/test_web_request.py                  490      0     34      0   100%
tests/test_web_request_handler.py           40      1      2      0    98%
tests/test_web_response.py                 863      3     80      1    99%
tests/test_web_runner.py                   146      9     32      0    94%
tests/test_web_sendfile.py                  76      0      0      0   100%
tests/test_web_sendfile_functional.py      653      5     60      0    99%
tests/test_web_server.py                   163      4     18      0    98%
tests/test_web_urldispatcher.py            306      5     54      2    98%
tests/test_web_websocket.py                334      2     72      0    99%
tests/test_web_websocket_functional.py     542     52     22      4    90%
tests/test_websocket_handshake.py          152      0     26      0   100%
tests/test_websocket_parser.py             300      9     44      1    97%
tests/test_websocket_writer.py              95      0     16      0   100%
tests/test_worker.py                       191      3     20      1    98%
--------------------------------------------------------------------------
TOTAL                                    32426    897   7654    256    97%

=============================== slowest 10 durations ===============================
10.02s call     tests/test_run_app.py::TestShutdown::test_shutdown_new_conn_rejected
4.01s call     tests/test_run_app.py::TestShutdown::test_shutdown_pending_handler_responds
3.01s call     tests/test_run_app.py::TestShutdown::test_shutdown_wait_for_task
3.01s call     tests/test_run_app.py::TestShutdown::test_shutdown_wait_for_spawned_task
2.15s call     tests/test_payload.py::test_stream_reader_long_lines
2.01s call     tests/test_run_app.py::TestShutdown::test_shutdown_timeout_task
2.01s call     tests/test_run_app.py::TestShutdown::test_shutdown_timeout_not_reached
2.01s call     tests/test_client_functional.py::test_read_timeout_between_chunks[pyloop]
2.01s call     tests/test_client_functional.py::test_set_cookies_max_age[pyloop]
2.00s call     tests/test_pytest_plugin.py::test_aiohttp_plugin
============================= short test summary info ==============================
SKIPPED [1] tests/test_client_session.py:781: The check is applied in DEBUG mode only
SKIPPED [1] tests/test_connector.py:1966: Proactor Event loop present only in Windows
SKIPPED [1] tests/test_connector.py:1974: Proactor Event loop present only in Windows
SKIPPED [1] tests/test_connector.py:1985: Proactor Event loop present only in Windows
SKIPPED [1] tests/test_connector.py:2163: Proactor Event loop present only in Windows
SKIPPED [1] tests/test_multipart_helpers.py:99: need more smart parser which respects quoted text
SKIPPED [1] tests/test_multipart_helpers.py:446: should raise decoding error: %82 is invalid for latin1
SKIPPED [1] tests/test_multipart_helpers.py:455: should raise decoding error: %E4 is invalid for utf-8
SKIPPED [1] tests/test_multipart_helpers.py:510: urllib.parse.unquote is tolerate to standalone % chars
SKIPPED [1] tests/test_multipart_helpers.py:519: urllib.parse.unquote is tolerate to standalone % chars
SKIPPED [1] tests/test_proxy_functional.py:141: asyncio on this python supports TLS in TLS
SKIPPED [1] tests/test_proxy_functional.py:394: we need to reconsider how we test this
SKIPPED [1] tests/test_proxy_functional.py:418: we need to reconsider how we test this
SKIPPED [1] tests/test_urldispatch.py:948: aiohttp folder is not placed in user's HOME
SKIPPED [1] tests/test_web_app.py:365: The check is applied in DEBUG mode only
SKIPPED [1] tests/test_web_runner.py:121: Proactor Event loop present only in Windows
SKIPPED [1] tests/test_web_runner.py:131: Proactor Event loop present only in Windows
XFAIL tests/test_client_functional.py::test_broken_connection[pyloop]
XFAIL tests/test_client_functional.py::test_rejected_upload[pyloop] - #7599
XFAIL tests/test_connector.py::test_del_with_scheduled_cleanup[pyloop]
XFAIL tests/test_http_parser.py::test_parse_uri_utf8[c-parser-pyloop] - reason: Not valid HTTP. Maybe update py-parser to reject later.
XFAIL tests/test_web_functional.py::test_http10_keep_alive_default[pyloop]
XFAIL tests/test_web_server.py::test_unsupported_upgrade[pyloop] - The behavior of C-extensions differs from pure-Python: https://github.com/aio-libs/aiohttp/issues/6446
XFAIL tests/test_web_urldispatcher.py::test_decoded_url_match[pyloop-urldecoded_route] - Regression in v3.7: https://github.com/aio-libs/aiohttp/issues/5621
XFAIL tests/test_web_urldispatcher.py::test_decoded_url_match[pyloop-urldecoded_route_with_regex] - Regression in v3.7: https://github.com/aio-libs/aiohttp/issues/5621
XFAIL tests/test_web_urldispatcher.py::test_decoded_url_match[pyloop-urlencoded_route] - Regression in v3.7: https://github.com/aio-libs/aiohttp/issues/5621
XFAIL tests/autobahn/test_autobahn.py::test_client
XFAIL tests/autobahn/test_autobahn.py::test_server
FAILED tests/test_imports.py::test_import_time - assert 207 < 200
= 1 failed, 2796 passed, 17 skipped, 4 deselected, 11 xfailed in 375.48s (0:06:15) =
make: *** [Makefile:97: test] Error 1
homeassistant:/aiohttp# make^C
homeassistant:/aiohttp# make^C
homeassistant:/aiohttp# pip3 install --upgrade -vvv .
Using pip 23.2.1 from /usr/local/lib/python3.11/site-packages/pip (python 3.11)
Non-user install because site-packages writeable
Created temporary directory: /tmp/pip-build-tracker-653r0uou
Initialized build tracking at /tmp/pip-build-tracker-653r0uou
Created build tracker: /tmp/pip-build-tracker-653r0uou
Entered build tracker: /tmp/pip-build-tracker-653r0uou
Created temporary directory: /tmp/pip-install-ij7mumxp
Created temporary directory: /tmp/pip-ephem-wheel-cache-kpj3ysv9
Looking in indexes: https://pypi.org/simple, https://wheels.home-assistant.io/musllinux-index/
Processing /aiohttp
  Added file:///aiohttp to build tracker '/tmp/pip-build-tracker-653r0uou'
  Created temporary directory: /tmp/pip-build-env-24yvvh4e
  Running command pip subprocess to install build dependencies
  Using pip 23.2.1 from /usr/local/lib/python3.11/site-packages/pip (python 3.11)
  Looking in indexes: https://pypi.org/simple, https://wheels.home-assistant.io/musllinux-index/, https://wheels.home-assistant.io/musllinux-index/
  Collecting setuptools>=46.4.0
    Downloading https://wheels.home-assistant.io/musllinux-index/setuptools-69.0.3-py3-none-any.whl (819 kB)
       ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 819.5/819.5 kB 1.7 MB/s eta 0:00:00
  Installing collected packages: setuptools
  Successfully installed setuptools-69.0.3
  WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv
  Installing build dependencies ... done
  Running command Getting requirements to build wheel
  *********************
  * Accelerated build *
  *********************
  running egg_info
  writing aiohttp.egg-info/PKG-INFO
  writing dependency_links to aiohttp.egg-info/dependency_links.txt
  writing requirements to aiohttp.egg-info/requires.txt
  writing top-level names to aiohttp.egg-info/top_level.txt
  reading manifest file 'aiohttp.egg-info/SOURCES.txt'
  reading manifest template 'MANIFEST.in'
  warning: no files found matching 'aiohttp' anywhere in distribution
  warning: no previously-included files matching '*.pyd' found anywhere in distribution
  warning: no previously-included files matching '*.lib' found anywhere in distribution
  warning: no previously-included files matching '*.dll' found anywhere in distribution
  warning: no previously-included files matching '*.obj' found anywhere in distribution
  warning: no previously-included files found matching 'aiohttp/*.html'
  no previously-included directories found matching 'docs/_build'
  adding license file 'LICENSE.txt'
  writing manifest file 'aiohttp.egg-info/SOURCES.txt'
  Getting requirements to build wheel ... done
  Running command pip subprocess to install backend dependencies
  Using pip 23.2.1 from /usr/local/lib/python3.11/site-packages/pip (python 3.11)
  Looking in indexes: https://pypi.org/simple, https://wheels.home-assistant.io/musllinux-index/, https://wheels.home-assistant.io/musllinux-index/
  Collecting wheel
    Downloading https://wheels.home-assistant.io/musllinux-index/wheel-0.42.0-py3-none-any.whl (65 kB)
       ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 65.4/65.4 kB 518.6 kB/s eta 0:00:00
  Installing collected packages: wheel
    Creating /tmp/pip-build-env-24yvvh4e/normal/bin
    changing mode of /tmp/pip-build-env-24yvvh4e/normal/bin/wheel to 755
  Successfully installed wheel-0.42.0
  WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv
  Installing backend dependencies ... done
  Created temporary directory: /tmp/pip-modern-metadata-mp9iqynu
  Running command Preparing metadata (pyproject.toml)
  *********************
  * Accelerated build *
  *********************
  running dist_info
  creating /tmp/pip-modern-metadata-mp9iqynu/aiohttp.egg-info
  writing /tmp/pip-modern-metadata-mp9iqynu/aiohttp.egg-info/PKG-INFO
  writing dependency_links to /tmp/pip-modern-metadata-mp9iqynu/aiohttp.egg-info/dependency_links.txt
  writing requirements to /tmp/pip-modern-metadata-mp9iqynu/aiohttp.egg-info/requires.txt
  writing top-level names to /tmp/pip-modern-metadata-mp9iqynu/aiohttp.egg-info/top_level.txt
  writing manifest file '/tmp/pip-modern-metadata-mp9iqynu/aiohttp.egg-info/SOURCES.txt'
  reading manifest file '/tmp/pip-modern-metadata-mp9iqynu/aiohttp.egg-info/SOURCES.txt'
  reading manifest template 'MANIFEST.in'
  warning: no files found matching 'aiohttp' anywhere in distribution
  warning: no previously-included files matching '*.pyd' found anywhere in distribution
  warning: no previously-included files matching '*.lib' found anywhere in distribution
  warning: no previously-included files matching '*.dll' found anywhere in distribution
  warning: no previously-included files matching '*.obj' found anywhere in distribution
  warning: no previously-included files found matching 'aiohttp/*.html'
  no previously-included directories found matching 'docs/_build'
  adding license file 'LICENSE.txt'
  writing manifest file '/tmp/pip-modern-metadata-mp9iqynu/aiohttp.egg-info/SOURCES.txt'
  creating '/tmp/pip-modern-metadata-mp9iqynu/aiohttp-3.9.1.dev0.dist-info'
  Preparing metadata (pyproject.toml) ... done
  Source in /aiohttp has version 3.9.1.dev0, which satisfies requirement aiohttp==3.9.1.dev0 from file:///aiohttp
  Removed aiohttp==3.9.1.dev0 from file:///aiohttp from build tracker '/tmp/pip-build-tracker-653r0uou'
Requirement already satisfied: aiosignal>=1.1.2 in /usr/local/lib/python3.11/site-packages (from aiohttp==3.9.1.dev0) (1.3.1)
Requirement already satisfied: attrs>=17.3.0 in /usr/local/lib/python3.11/site-packages (from aiohttp==3.9.1.dev0) (23.1.0)
Requirement already satisfied: frozenlist>=1.1.1 in /usr/local/lib/python3.11/site-packages (from aiohttp==3.9.1.dev0) (1.4.0)
Requirement already satisfied: multidict<7.0,>=4.5 in /usr/local/lib/python3.11/site-packages (from aiohttp==3.9.1.dev0) (6.0.4)
Requirement already satisfied: yarl<2.0,>=1.0 in /usr/local/lib/python3.11/site-packages (from aiohttp==3.9.1.dev0) (1.9.3)
Requirement already satisfied: idna>=2.0 in /usr/local/lib/python3.11/site-packages (from yarl<2.0,>=1.0->aiohttp==3.9.1.dev0) (3.4)
Created temporary directory: /tmp/pip-unpack-sekbnjlj
Building wheels for collected packages: aiohttp
  Created temporary directory: /tmp/pip-wheel-b_blqa0t
  Destination directory: /tmp/pip-wheel-b_blqa0t
  Running command Building wheel for aiohttp (pyproject.toml)
  *********************
  * Accelerated build *
  *********************
  running bdist_wheel
  running build
  running build_py
  creating build
  creating build/lib.linux-x86_64-cpython-311
  creating build/lib.linux-x86_64-cpython-311/aiohttp
  copying aiohttp/typedefs.py -> build/lib.linux-x86_64-cpython-311/aiohttp
  copying aiohttp/http_websocket.py -> build/lib.linux-x86_64-cpython-311/aiohttp
  copying aiohttp/web_protocol.py -> build/lib.linux-x86_64-cpython-311/aiohttp
  copying aiohttp/web_ws.py -> build/lib.linux-x86_64-cpython-311/aiohttp
  copying aiohttp/log.py -> build/lib.linux-x86_64-cpython-311/aiohttp
  copying aiohttp/pytest_plugin.py -> build/lib.linux-x86_64-cpython-311/aiohttp
  copying aiohttp/worker.py -> build/lib.linux-x86_64-cpython-311/aiohttp
  copying aiohttp/test_utils.py -> build/lib.linux-x86_64-cpython-311/aiohttp
  copying aiohttp/web_log.py -> build/lib.linux-x86_64-cpython-311/aiohttp
  copying aiohttp/helpers.py -> build/lib.linux-x86_64-cpython-311/aiohttp
  copying aiohttp/connector.py -> build/lib.linux-x86_64-cpython-311/aiohttp
  copying aiohttp/web_request.py -> build/lib.linux-x86_64-cpython-311/aiohttp
  copying aiohttp/client_ws.py -> build/lib.linux-x86_64-cpython-311/aiohttp
  copying aiohttp/compression_utils.py -> build/lib.linux-x86_64-cpython-311/aiohttp
  copying aiohttp/formdata.py -> build/lib.linux-x86_64-cpython-311/aiohttp
  copying aiohttp/payload.py -> build/lib.linux-x86_64-cpython-311/aiohttp
  copying aiohttp/web_middlewares.py -> build/lib.linux-x86_64-cpython-311/aiohttp
  copying aiohttp/cookiejar.py -> build/lib.linux-x86_64-cpython-311/aiohttp
  copying aiohttp/client_reqrep.py -> build/lib.linux-x86_64-cpython-311/aiohttp
  copying aiohttp/streams.py -> build/lib.linux-x86_64-cpython-311/aiohttp
  copying aiohttp/web_app.py -> build/lib.linux-x86_64-cpython-311/aiohttp
  copying aiohttp/base_protocol.py -> build/lib.linux-x86_64-cpython-311/aiohttp
  copying aiohttp/web_runner.py -> build/lib.linux-x86_64-cpython-311/aiohttp
  copying aiohttp/client_proto.py -> build/lib.linux-x86_64-cpython-311/aiohttp
  copying aiohttp/tcp_helpers.py -> build/lib.linux-x86_64-cpython-311/aiohttp
  copying aiohttp/client_exceptions.py -> build/lib.linux-x86_64-cpython-311/aiohttp
  copying aiohttp/locks.py -> build/lib.linux-x86_64-cpython-311/aiohttp
  copying aiohttp/web_routedef.py -> build/lib.linux-x86_64-cpython-311/aiohttp
  copying aiohttp/abc.py -> build/lib.linux-x86_64-cpython-311/aiohttp
  copying aiohttp/web_exceptions.py -> build/lib.linux-x86_64-cpython-311/aiohttp
  copying aiohttp/web.py -> build/lib.linux-x86_64-cpython-311/aiohttp
  copying aiohttp/client.py -> build/lib.linux-x86_64-cpython-311/aiohttp
  copying aiohttp/web_response.py -> build/lib.linux-x86_64-cpython-311/aiohttp
  copying aiohttp/__init__.py -> build/lib.linux-x86_64-cpython-311/aiohttp
  copying aiohttp/http_exceptions.py -> build/lib.linux-x86_64-cpython-311/aiohttp
  copying aiohttp/http_writer.py -> build/lib.linux-x86_64-cpython-311/aiohttp
  copying aiohttp/multipart.py -> build/lib.linux-x86_64-cpython-311/aiohttp
  copying aiohttp/web_urldispatcher.py -> build/lib.linux-x86_64-cpython-311/aiohttp
  copying aiohttp/resolver.py -> build/lib.linux-x86_64-cpython-311/aiohttp
  copying aiohttp/http_parser.py -> build/lib.linux-x86_64-cpython-311/aiohttp
  copying aiohttp/http.py -> build/lib.linux-x86_64-cpython-311/aiohttp
  copying aiohttp/hdrs.py -> build/lib.linux-x86_64-cpython-311/aiohttp
  copying aiohttp/web_server.py -> build/lib.linux-x86_64-cpython-311/aiohttp
  copying aiohttp/tracing.py -> build/lib.linux-x86_64-cpython-311/aiohttp
  copying aiohttp/web_fileresponse.py -> build/lib.linux-x86_64-cpython-311/aiohttp
  copying aiohttp/payload_streamer.py -> build/lib.linux-x86_64-cpython-311/aiohttp
  running egg_info
  writing aiohttp.egg-info/PKG-INFO
  writing dependency_links to aiohttp.egg-info/dependency_links.txt
  writing requirements to aiohttp.egg-info/requires.txt
  writing top-level names to aiohttp.egg-info/top_level.txt
  reading manifest file 'aiohttp.egg-info/SOURCES.txt'
  reading manifest template 'MANIFEST.in'
  warning: no files found matching 'aiohttp' anywhere in distribution
  warning: no previously-included files matching '*.pyd' found anywhere in distribution
  warning: no previously-included files matching '*.lib' found anywhere in distribution
  warning: no previously-included files matching '*.dll' found anywhere in distribution
  warning: no previously-included files matching '*.obj' found anywhere in distribution
  warning: no previously-included files found matching 'aiohttp/*.html'
  no previously-included directories found matching 'docs/_build'
  adding license file 'LICENSE.txt'
  writing manifest file 'aiohttp.egg-info/SOURCES.txt'
  copying aiohttp/_cparser.pxd -> build/lib.linux-x86_64-cpython-311/aiohttp
  copying aiohttp/_find_header.pxd -> build/lib.linux-x86_64-cpython-311/aiohttp
  copying aiohttp/_headers.pxi -> build/lib.linux-x86_64-cpython-311/aiohttp
  copying aiohttp/_helpers.pyi -> build/lib.linux-x86_64-cpython-311/aiohttp
  copying aiohttp/_helpers.pyx -> build/lib.linux-x86_64-cpython-311/aiohttp
  copying aiohttp/_http_parser.pyx -> build/lib.linux-x86_64-cpython-311/aiohttp
  copying aiohttp/_http_writer.pyx -> build/lib.linux-x86_64-cpython-311/aiohttp
  copying aiohttp/_websocket.pyx -> build/lib.linux-x86_64-cpython-311/aiohttp
  copying aiohttp/py.typed -> build/lib.linux-x86_64-cpython-311/aiohttp
  creating build/lib.linux-x86_64-cpython-311/aiohttp/.hash
  copying aiohttp/.hash/__init__.py.hash -> build/lib.linux-x86_64-cpython-311/aiohttp/.hash
  copying aiohttp/.hash/_cparser.pxd.hash -> build/lib.linux-x86_64-cpython-311/aiohttp/.hash
  copying aiohttp/.hash/_find_header.pxd.hash -> build/lib.linux-x86_64-cpython-311/aiohttp/.hash
  copying aiohttp/.hash/_helpers.pyi.hash -> build/lib.linux-x86_64-cpython-311/aiohttp/.hash
  copying aiohttp/.hash/_helpers.pyx.hash -> build/lib.linux-x86_64-cpython-311/aiohttp/.hash
  copying aiohttp/.hash/_http_parser.pyx.hash -> build/lib.linux-x86_64-cpython-311/aiohttp/.hash
  copying aiohttp/.hash/_http_writer.pyx.hash -> build/lib.linux-x86_64-cpython-311/aiohttp/.hash
  copying aiohttp/.hash/_websocket.pyx.hash -> build/lib.linux-x86_64-cpython-311/aiohttp/.hash
  copying aiohttp/.hash/abc.py.hash -> build/lib.linux-x86_64-cpython-311/aiohttp/.hash
  copying aiohttp/.hash/base_protocol.py.hash -> build/lib.linux-x86_64-cpython-311/aiohttp/.hash
  copying aiohttp/.hash/client.py.hash -> build/lib.linux-x86_64-cpython-311/aiohttp/.hash
  copying aiohttp/.hash/client_exceptions.py.hash -> build/lib.linux-x86_64-cpython-311/aiohttp/.hash
  copying aiohttp/.hash/client_proto.py.hash -> build/lib.linux-x86_64-cpython-311/aiohttp/.hash
  copying aiohttp/.hash/client_reqrep.py.hash -> build/lib.linux-x86_64-cpython-311/aiohttp/.hash
  copying aiohttp/.hash/client_ws.py.hash -> build/lib.linux-x86_64-cpython-311/aiohttp/.hash
  copying aiohttp/.hash/compression_utils.py.hash -> build/lib.linux-x86_64-cpython-311/aiohttp/.hash
  copying aiohttp/.hash/connector.py.hash -> build/lib.linux-x86_64-cpython-311/aiohttp/.hash
  copying aiohttp/.hash/cookiejar.py.hash -> build/lib.linux-x86_64-cpython-311/aiohttp/.hash
  copying aiohttp/.hash/formdata.py.hash -> build/lib.linux-x86_64-cpython-311/aiohttp/.hash
  copying aiohttp/.hash/hdrs.py.hash -> build/lib.linux-x86_64-cpython-311/aiohttp/.hash
  copying aiohttp/.hash/helpers.py.hash -> build/lib.linux-x86_64-cpython-311/aiohttp/.hash
  copying aiohttp/.hash/http.py.hash -> build/lib.linux-x86_64-cpython-311/aiohttp/.hash
  copying aiohttp/.hash/http_exceptions.py.hash -> build/lib.linux-x86_64-cpython-311/aiohttp/.hash
  copying aiohttp/.hash/http_parser.py.hash -> build/lib.linux-x86_64-cpython-311/aiohttp/.hash
  copying aiohttp/.hash/http_websocket.py.hash -> build/lib.linux-x86_64-cpython-311/aiohttp/.hash
  copying aiohttp/.hash/http_writer.py.hash -> build/lib.linux-x86_64-cpython-311/aiohttp/.hash
  copying aiohttp/.hash/locks.py.hash -> build/lib.linux-x86_64-cpython-311/aiohttp/.hash
  copying aiohttp/.hash/log.py.hash -> build/lib.linux-x86_64-cpython-311/aiohttp/.hash
  copying aiohttp/.hash/multipart.py.hash -> build/lib.linux-x86_64-cpython-311/aiohttp/.hash
  copying aiohttp/.hash/payload.py.hash -> build/lib.linux-x86_64-cpython-311/aiohttp/.hash
  copying aiohttp/.hash/payload_streamer.py.hash -> build/lib.linux-x86_64-cpython-311/aiohttp/.hash
  copying aiohttp/.hash/pytest_plugin.py.hash -> build/lib.linux-x86_64-cpython-311/aiohttp/.hash
  copying aiohttp/.hash/resolver.py.hash -> build/lib.linux-x86_64-cpython-311/aiohttp/.hash
  copying aiohttp/.hash/streams.py.hash -> build/lib.linux-x86_64-cpython-311/aiohttp/.hash
  copying aiohttp/.hash/tcp_helpers.py.hash -> build/lib.linux-x86_64-cpython-311/aiohttp/.hash
  copying aiohttp/.hash/test_utils.py.hash -> build/lib.linux-x86_64-cpython-311/aiohttp/.hash
  copying aiohttp/.hash/tracing.py.hash -> build/lib.linux-x86_64-cpython-311/aiohttp/.hash
  copying aiohttp/.hash/typedefs.py.hash -> build/lib.linux-x86_64-cpython-311/aiohttp/.hash
  copying aiohttp/.hash/web.py.hash -> build/lib.linux-x86_64-cpython-311/aiohttp/.hash
  copying aiohttp/.hash/web_app.py.hash -> build/lib.linux-x86_64-cpython-311/aiohttp/.hash
  copying aiohttp/.hash/web_exceptions.py.hash -> build/lib.linux-x86_64-cpython-311/aiohttp/.hash
  copying aiohttp/.hash/web_fileresponse.py.hash -> build/lib.linux-x86_64-cpython-311/aiohttp/.hash
  copying aiohttp/.hash/web_log.py.hash -> build/lib.linux-x86_64-cpython-311/aiohttp/.hash
  copying aiohttp/.hash/web_middlewares.py.hash -> build/lib.linux-x86_64-cpython-311/aiohttp/.hash
  copying aiohttp/.hash/web_protocol.py.hash -> build/lib.linux-x86_64-cpython-311/aiohttp/.hash
  copying aiohttp/.hash/web_request.py.hash -> build/lib.linux-x86_64-cpython-311/aiohttp/.hash
  copying aiohttp/.hash/web_response.py.hash -> build/lib.linux-x86_64-cpython-311/aiohttp/.hash
  copying aiohttp/.hash/web_routedef.py.hash -> build/lib.linux-x86_64-cpython-311/aiohttp/.hash
  copying aiohttp/.hash/web_runner.py.hash -> build/lib.linux-x86_64-cpython-311/aiohttp/.hash
  copying aiohttp/.hash/web_server.py.hash -> build/lib.linux-x86_64-cpython-311/aiohttp/.hash
  copying aiohttp/.hash/web_urldispatcher.py.hash -> build/lib.linux-x86_64-cpython-311/aiohttp/.hash
  copying aiohttp/.hash/web_ws.py.hash -> build/lib.linux-x86_64-cpython-311/aiohttp/.hash
  copying aiohttp/.hash/worker.py.hash -> build/lib.linux-x86_64-cpython-311/aiohttp/.hash
  copying aiohttp/_helpers.cpython-311-x86_64-linux-musl.so -> build/lib.linux-x86_64-cpython-311/aiohttp
  copying aiohttp/_http_parser.cpython-311-x86_64-linux-musl.so -> build/lib.linux-x86_64-cpython-311/aiohttp
  copying aiohttp/_http_writer.cpython-311-x86_64-linux-musl.so -> build/lib.linux-x86_64-cpython-311/aiohttp
  copying aiohttp/_websocket.cpython-311-x86_64-linux-musl.so -> build/lib.linux-x86_64-cpython-311/aiohttp
  running build_ext
  installing to build/bdist.linux-x86_64/wheel
  running install
  running install_lib
  creating build/bdist.linux-x86_64
  creating build/bdist.linux-x86_64/wheel
  creating build/bdist.linux-x86_64/wheel/aiohttp
  copying build/lib.linux-x86_64-cpython-311/aiohttp/_find_header.pxd -> build/bdist.linux-x86_64/wheel/aiohttp
  copying build/lib.linux-x86_64-cpython-311/aiohttp/typedefs.py -> build/bdist.linux-x86_64/wheel/aiohttp
  copying build/lib.linux-x86_64-cpython-311/aiohttp/http_websocket.py -> build/bdist.linux-x86_64/wheel/aiohttp
  copying build/lib.linux-x86_64-cpython-311/aiohttp/web_protocol.py -> build/bdist.linux-x86_64/wheel/aiohttp
  copying build/lib.linux-x86_64-cpython-311/aiohttp/web_ws.py -> build/bdist.linux-x86_64/wheel/aiohttp
  copying build/lib.linux-x86_64-cpython-311/aiohttp/log.py -> build/bdist.linux-x86_64/wheel/aiohttp
  copying build/lib.linux-x86_64-cpython-311/aiohttp/pytest_plugin.py -> build/bdist.linux-x86_64/wheel/aiohttp
  copying build/lib.linux-x86_64-cpython-311/aiohttp/worker.py -> build/bdist.linux-x86_64/wheel/aiohttp
  copying build/lib.linux-x86_64-cpython-311/aiohttp/test_utils.py -> build/bdist.linux-x86_64/wheel/aiohttp
  copying build/lib.linux-x86_64-cpython-311/aiohttp/web_log.py -> build/bdist.linux-x86_64/wheel/aiohttp
  copying build/lib.linux-x86_64-cpython-311/aiohttp/_helpers.cpython-311-x86_64-linux-musl.so -> build/bdist.linux-x86_64/wheel/aiohttp
  copying build/lib.linux-x86_64-cpython-311/aiohttp/_http_parser.cpython-311-x86_64-linux-musl.so -> build/bdist.linux-x86_64/wheel/aiohttp
  copying build/lib.linux-x86_64-cpython-311/aiohttp/_helpers.pyx -> build/bdist.linux-x86_64/wheel/aiohttp
  copying build/lib.linux-x86_64-cpython-311/aiohttp/helpers.py -> build/bdist.linux-x86_64/wheel/aiohttp
  copying build/lib.linux-x86_64-cpython-311/aiohttp/connector.py -> build/bdist.linux-x86_64/wheel/aiohttp
  copying build/lib.linux-x86_64-cpython-311/aiohttp/web_request.py -> build/bdist.linux-x86_64/wheel/aiohttp
  copying build/lib.linux-x86_64-cpython-311/aiohttp/_http_writer.cpython-311-x86_64-linux-musl.so -> build/bdist.linux-x86_64/wheel/aiohttp
  copying build/lib.linux-x86_64-cpython-311/aiohttp/client_ws.py -> build/bdist.linux-x86_64/wheel/aiohttp
  copying build/lib.linux-x86_64-cpython-311/aiohttp/compression_utils.py -> build/bdist.linux-x86_64/wheel/aiohttp
  copying build/lib.linux-x86_64-cpython-311/aiohttp/_headers.pxi -> build/bdist.linux-x86_64/wheel/aiohttp
  copying build/lib.linux-x86_64-cpython-311/aiohttp/_websocket.cpython-311-x86_64-linux-musl.so -> build/bdist.linux-x86_64/wheel/aiohttp
  copying build/lib.linux-x86_64-cpython-311/aiohttp/_http_parser.pyx -> build/bdist.linux-x86_64/wheel/aiohttp
  copying build/lib.linux-x86_64-cpython-311/aiohttp/formdata.py -> build/bdist.linux-x86_64/wheel/aiohttp
  copying build/lib.linux-x86_64-cpython-311/aiohttp/payload.py -> build/bdist.linux-x86_64/wheel/aiohttp
  copying build/lib.linux-x86_64-cpython-311/aiohttp/web_middlewares.py -> build/bdist.linux-x86_64/wheel/aiohttp
  copying build/lib.linux-x86_64-cpython-311/aiohttp/_helpers.pyi -> build/bdist.linux-x86_64/wheel/aiohttp
  copying build/lib.linux-x86_64-cpython-311/aiohttp/cookiejar.py -> build/bdist.linux-x86_64/wheel/aiohttp
  copying build/lib.linux-x86_64-cpython-311/aiohttp/client_reqrep.py -> build/bdist.linux-x86_64/wheel/aiohttp
  copying build/lib.linux-x86_64-cpython-311/aiohttp/streams.py -> build/bdist.linux-x86_64/wheel/aiohttp
  copying build/lib.linux-x86_64-cpython-311/aiohttp/_websocket.pyx -> build/bdist.linux-x86_64/wheel/aiohttp
  copying build/lib.linux-x86_64-cpython-311/aiohttp/web_app.py -> build/bdist.linux-x86_64/wheel/aiohttp
  copying build/lib.linux-x86_64-cpython-311/aiohttp/base_protocol.py -> build/bdist.linux-x86_64/wheel/aiohttp
  copying build/lib.linux-x86_64-cpython-311/aiohttp/web_runner.py -> build/bdist.linux-x86_64/wheel/aiohttp
  copying build/lib.linux-x86_64-cpython-311/aiohttp/client_proto.py -> build/bdist.linux-x86_64/wheel/aiohttp
  copying build/lib.linux-x86_64-cpython-311/aiohttp/tcp_helpers.py -> build/bdist.linux-x86_64/wheel/aiohttp
  creating build/bdist.linux-x86_64/wheel/aiohttp/.hash
  copying build/lib.linux-x86_64-cpython-311/aiohttp/.hash/helpers.py.hash -> build/bdist.linux-x86_64/wheel/aiohttp/.hash
  copying build/lib.linux-x86_64-cpython-311/aiohttp/.hash/client.py.hash -> build/bdist.linux-x86_64/wheel/aiohttp/.hash
  copying build/lib.linux-x86_64-cpython-311/aiohttp/.hash/typedefs.py.hash -> build/bdist.linux-x86_64/wheel/aiohttp/.hash
  copying build/lib.linux-x86_64-cpython-311/aiohttp/.hash/web_routedef.py.hash -> build/bdist.linux-x86_64/wheel/aiohttp/.hash
  copying build/lib.linux-x86_64-cpython-311/aiohttp/.hash/web_runner.py.hash -> build/bdist.linux-x86_64/wheel/aiohttp/.hash
  copying build/lib.linux-x86_64-cpython-311/aiohttp/.hash/web_app.py.hash -> build/bdist.linux-x86_64/wheel/aiohttp/.hash
  copying build/lib.linux-x86_64-cpython-311/aiohttp/.hash/tracing.py.hash -> build/bdist.linux-x86_64/wheel/aiohttp/.hash
  copying build/lib.linux-x86_64-cpython-311/aiohttp/.hash/web_response.py.hash -> build/bdist.linux-x86_64/wheel/aiohttp/.hash
  copying build/lib.linux-x86_64-cpython-311/aiohttp/.hash/http_parser.py.hash -> build/bdist.linux-x86_64/wheel/aiohttp/.hash
  copying build/lib.linux-x86_64-cpython-311/aiohttp/.hash/_cparser.pxd.hash -> build/bdist.linux-x86_64/wheel/aiohttp/.hash
  copying build/lib.linux-x86_64-cpython-311/aiohttp/.hash/web.py.hash -> build/bdist.linux-x86_64/wheel/aiohttp/.hash
  copying build/lib.linux-x86_64-cpython-311/aiohttp/.hash/locks.py.hash -> build/bdist.linux-x86_64/wheel/aiohttp/.hash
  copying build/lib.linux-x86_64-cpython-311/aiohttp/.hash/http_websocket.py.hash -> build/bdist.linux-x86_64/wheel/aiohttp/.hash
  copying build/lib.linux-x86_64-cpython-311/aiohttp/.hash/web_log.py.hash -> build/bdist.linux-x86_64/wheel/aiohttp/.hash
  copying build/lib.linux-x86_64-cpython-311/aiohttp/.hash/web_fileresponse.py.hash -> build/bdist.linux-x86_64/wheel/aiohttp/.hash
  copying build/lib.linux-x86_64-cpython-311/aiohttp/.hash/streams.py.hash -> build/bdist.linux-x86_64/wheel/aiohttp/.hash
  copying build/lib.linux-x86_64-cpython-311/aiohttp/.hash/web_server.py.hash -> build/bdist.linux-x86_64/wheel/aiohttp/.hash
  copying build/lib.linux-x86_64-cpython-311/aiohttp/.hash/http_writer.py.hash -> build/bdist.linux-x86_64/wheel/aiohttp/.hash
  copying build/lib.linux-x86_64-cpython-311/aiohttp/.hash/pytest_plugin.py.hash -> build/bdist.linux-x86_64/wheel/aiohttp/.hash
  copying build/lib.linux-x86_64-cpython-311/aiohttp/.hash/cookiejar.py.hash -> build/bdist.linux-x86_64/wheel/aiohttp/.hash
  copying build/lib.linux-x86_64-cpython-311/aiohttp/.hash/log.py.hash -> build/bdist.linux-x86_64/wheel/aiohttp/.hash
  copying build/lib.linux-x86_64-cpython-311/aiohttp/.hash/payload.py.hash -> build/bdist.linux-x86_64/wheel/aiohttp/.hash
  copying build/lib.linux-x86_64-cpython-311/aiohttp/.hash/web_exceptions.py.hash -> build/bdist.linux-x86_64/wheel/aiohttp/.hash
  copying build/lib.linux-x86_64-cpython-311/aiohttp/.hash/client_reqrep.py.hash -> build/bdist.linux-x86_64/wheel/aiohttp/.hash
  copying build/lib.linux-x86_64-cpython-311/aiohttp/.hash/_http_writer.pyx.hash -> build/bdist.linux-x86_64/wheel/aiohttp/.hash
  copying build/lib.linux-x86_64-cpython-311/aiohttp/.hash/web_middlewares.py.hash -> build/bdist.linux-x86_64/wheel/aiohttp/.hash
  copying build/lib.linux-x86_64-cpython-311/aiohttp/.hash/web_urldispatcher.py.hash -> build/bdist.linux-x86_64/wheel/aiohttp/.hash
  copying build/lib.linux-x86_64-cpython-311/aiohttp/.hash/client_ws.py.hash -> build/bdist.linux-x86_64/wheel/aiohttp/.hash
  copying build/lib.linux-x86_64-cpython-311/aiohttp/.hash/_helpers.pyi.hash -> build/bdist.linux-x86_64/wheel/aiohttp/.hash
  copying build/lib.linux-x86_64-cpython-311/aiohttp/.hash/web_ws.py.hash -> build/bdist.linux-x86_64/wheel/aiohttp/.hash
  copying build/lib.linux-x86_64-cpython-311/aiohttp/.hash/multipart.py.hash -> build/bdist.linux-x86_64/wheel/aiohttp/.hash
  copying build/lib.linux-x86_64-cpython-311/aiohttp/.hash/_find_header.pxd.hash -> build/bdist.linux-x86_64/wheel/aiohttp/.hash
  copying build/lib.linux-x86_64-cpython-311/aiohttp/.hash/base_protocol.py.hash -> build/bdist.linux-x86_64/wheel/aiohttp/.hash
  copying build/lib.linux-x86_64-cpython-311/aiohttp/.hash/client_exceptions.py.hash -> build/bdist.linux-x86_64/wheel/aiohttp/.hash
  copying build/lib.linux-x86_64-cpython-311/aiohttp/.hash/compression_utils.py.hash -> build/bdist.linux-x86_64/wheel/aiohttp/.hash
  copying build/lib.linux-x86_64-cpython-311/aiohttp/.hash/test_utils.py.hash -> build/bdist.linux-x86_64/wheel/aiohttp/.hash
  copying build/lib.linux-x86_64-cpython-311/aiohttp/.hash/client_proto.py.hash -> build/bdist.linux-x86_64/wheel/aiohttp/.hash
  copying build/lib.linux-x86_64-cpython-311/aiohttp/.hash/abc.py.hash -> build/bdist.linux-x86_64/wheel/aiohttp/.hash
  copying build/lib.linux-x86_64-cpython-311/aiohttp/.hash/_helpers.pyx.hash -> build/bdist.linux-x86_64/wheel/aiohttp/.hash
  copying build/lib.linux-x86_64-cpython-311/aiohttp/.hash/worker.py.hash -> build/bdist.linux-x86_64/wheel/aiohttp/.hash
  copying build/lib.linux-x86_64-cpython-311/aiohttp/.hash/_http_parser.pyx.hash -> build/bdist.linux-x86_64/wheel/aiohttp/.hash
  copying build/lib.linux-x86_64-cpython-311/aiohttp/.hash/resolver.py.hash -> build/bdist.linux-x86_64/wheel/aiohttp/.hash
  copying build/lib.linux-x86_64-cpython-311/aiohttp/.hash/_websocket.pyx.hash -> build/bdist.linux-x86_64/wheel/aiohttp/.hash
  copying build/lib.linux-x86_64-cpython-311/aiohttp/.hash/payload_streamer.py.hash -> build/bdist.linux-x86_64/wheel/aiohttp/.hash
  copying build/lib.linux-x86_64-cpython-311/aiohttp/.hash/hdrs.py.hash -> build/bdist.linux-x86_64/wheel/aiohttp/.hash
  copying build/lib.linux-x86_64-cpython-311/aiohttp/.hash/web_request.py.hash -> build/bdist.linux-x86_64/wheel/aiohttp/.hash
  copying build/lib.linux-x86_64-cpython-311/aiohttp/.hash/connector.py.hash -> build/bdist.linux-x86_64/wheel/aiohttp/.hash
  copying build/lib.linux-x86_64-cpython-311/aiohttp/.hash/http_exceptions.py.hash -> build/bdist.linux-x86_64/wheel/aiohttp/.hash
  copying build/lib.linux-x86_64-cpython-311/aiohttp/.hash/web_protocol.py.hash -> build/bdist.linux-x86_64/wheel/aiohttp/.hash
  copying build/lib.linux-x86_64-cpython-311/aiohttp/.hash/formdata.py.hash -> build/bdist.linux-x86_64/wheel/aiohttp/.hash
  copying build/lib.linux-x86_64-cpython-311/aiohttp/.hash/__init__.py.hash -> build/bdist.linux-x86_64/wheel/aiohttp/.hash
  copying build/lib.linux-x86_64-cpython-311/aiohttp/.hash/tcp_helpers.py.hash -> build/bdist.linux-x86_64/wheel/aiohttp/.hash
  copying build/lib.linux-x86_64-cpython-311/aiohttp/.hash/http.py.hash -> build/bdist.linux-x86_64/wheel/aiohttp/.hash
  copying build/lib.linux-x86_64-cpython-311/aiohttp/client_exceptions.py -> build/bdist.linux-x86_64/wheel/aiohttp
  copying build/lib.linux-x86_64-cpython-311/aiohttp/_http_writer.pyx -> build/bdist.linux-x86_64/wheel/aiohttp
  copying build/lib.linux-x86_64-cpython-311/aiohttp/locks.py -> build/bdist.linux-x86_64/wheel/aiohttp
  copying build/lib.linux-x86_64-cpython-311/aiohttp/web_routedef.py -> build/bdist.linux-x86_64/wheel/aiohttp
  copying build/lib.linux-x86_64-cpython-311/aiohttp/abc.py -> build/bdist.linux-x86_64/wheel/aiohttp
  copying build/lib.linux-x86_64-cpython-311/aiohttp/web_exceptions.py -> build/bdist.linux-x86_64/wheel/aiohttp
  copying build/lib.linux-x86_64-cpython-311/aiohttp/web.py -> build/bdist.linux-x86_64/wheel/aiohttp
  copying build/lib.linux-x86_64-cpython-311/aiohttp/client.py -> build/bdist.linux-x86_64/wheel/aiohttp
  copying build/lib.linux-x86_64-cpython-311/aiohttp/web_response.py -> build/bdist.linux-x86_64/wheel/aiohttp
  copying build/lib.linux-x86_64-cpython-311/aiohttp/__init__.py -> build/bdist.linux-x86_64/wheel/aiohttp
  copying build/lib.linux-x86_64-cpython-311/aiohttp/http_exceptions.py -> build/bdist.linux-x86_64/wheel/aiohttp
  copying build/lib.linux-x86_64-cpython-311/aiohttp/_cparser.pxd -> build/bdist.linux-x86_64/wheel/aiohttp
  copying build/lib.linux-x86_64-cpython-311/aiohttp/http_writer.py -> build/bdist.linux-x86_64/wheel/aiohttp
  copying build/lib.linux-x86_64-cpython-311/aiohttp/multipart.py -> build/bdist.linux-x86_64/wheel/aiohttp
  copying build/lib.linux-x86_64-cpython-311/aiohttp/web_urldispatcher.py -> build/bdist.linux-x86_64/wheel/aiohttp
  copying build/lib.linux-x86_64-cpython-311/aiohttp/resolver.py -> build/bdist.linux-x86_64/wheel/aiohttp
  copying build/lib.linux-x86_64-cpython-311/aiohttp/http_parser.py -> build/bdist.linux-x86_64/wheel/aiohttp
  copying build/lib.linux-x86_64-cpython-311/aiohttp/http.py -> build/bdist.linux-x86_64/wheel/aiohttp
  copying build/lib.linux-x86_64-cpython-311/aiohttp/hdrs.py -> build/bdist.linux-x86_64/wheel/aiohttp
  copying build/lib.linux-x86_64-cpython-311/aiohttp/web_server.py -> build/bdist.linux-x86_64/wheel/aiohttp
  copying build/lib.linux-x86_64-cpython-311/aiohttp/tracing.py -> build/bdist.linux-x86_64/wheel/aiohttp
  copying build/lib.linux-x86_64-cpython-311/aiohttp/web_fileresponse.py -> build/bdist.linux-x86_64/wheel/aiohttp
  copying build/lib.linux-x86_64-cpython-311/aiohttp/payload_streamer.py -> build/bdist.linux-x86_64/wheel/aiohttp
  copying build/lib.linux-x86_64-cpython-311/aiohttp/py.typed -> build/bdist.linux-x86_64/wheel/aiohttp
  running install_egg_info
  Copying aiohttp.egg-info to build/bdist.linux-x86_64/wheel/aiohttp-3.9.1.dev0-py3.11.egg-info
  running install_scripts
  creating build/bdist.linux-x86_64/wheel/aiohttp-3.9.1.dev0.dist-info/WHEEL
  creating '/tmp/pip-wheel-b_blqa0t/.tmp-dnnwscgu/aiohttp-3.9.1.dev0-cp311-cp311-linux_x86_64.whl' and adding 'build/bdist.linux-x86_64/wheel' to it
  adding 'aiohttp/__init__.py'
  adding 'aiohttp/_cparser.pxd'
  adding 'aiohttp/_find_header.pxd'
  adding 'aiohttp/_headers.pxi'
  adding 'aiohttp/_helpers.cpython-311-x86_64-linux-musl.so'
  adding 'aiohttp/_helpers.pyi'
  adding 'aiohttp/_helpers.pyx'
  adding 'aiohttp/_http_parser.cpython-311-x86_64-linux-musl.so'
  adding 'aiohttp/_http_parser.pyx'
  adding 'aiohttp/_http_writer.cpython-311-x86_64-linux-musl.so'
  adding 'aiohttp/_http_writer.pyx'
  adding 'aiohttp/_websocket.cpython-311-x86_64-linux-musl.so'
  adding 'aiohttp/_websocket.pyx'
  adding 'aiohttp/abc.py'
  adding 'aiohttp/base_protocol.py'
  adding 'aiohttp/client.py'
  adding 'aiohttp/client_exceptions.py'
  adding 'aiohttp/client_proto.py'
  adding 'aiohttp/client_reqrep.py'
  adding 'aiohttp/client_ws.py'
  adding 'aiohttp/compression_utils.py'
  adding 'aiohttp/connector.py'
  adding 'aiohttp/cookiejar.py'
  adding 'aiohttp/formdata.py'
  adding 'aiohttp/hdrs.py'
  adding 'aiohttp/helpers.py'
  adding 'aiohttp/http.py'
  adding 'aiohttp/http_exceptions.py'
  adding 'aiohttp/http_parser.py'
  adding 'aiohttp/http_websocket.py'
  adding 'aiohttp/http_writer.py'
  adding 'aiohttp/locks.py'
  adding 'aiohttp/log.py'
  adding 'aiohttp/multipart.py'
  adding 'aiohttp/payload.py'
  adding 'aiohttp/payload_streamer.py'
  adding 'aiohttp/py.typed'
  adding 'aiohttp/pytest_plugin.py'
  adding 'aiohttp/resolver.py'
  adding 'aiohttp/streams.py'
  adding 'aiohttp/tcp_helpers.py'
  adding 'aiohttp/test_utils.py'
  adding 'aiohttp/tracing.py'
  adding 'aiohttp/typedefs.py'
  adding 'aiohttp/web.py'
  adding 'aiohttp/web_app.py'
  adding 'aiohttp/web_exceptions.py'
  adding 'aiohttp/web_fileresponse.py'
  adding 'aiohttp/web_log.py'
  adding 'aiohttp/web_middlewares.py'
  adding 'aiohttp/web_protocol.py'
  adding 'aiohttp/web_request.py'
  adding 'aiohttp/web_response.py'
  adding 'aiohttp/web_routedef.py'
  adding 'aiohttp/web_runner.py'
  adding 'aiohttp/web_server.py'
  adding 'aiohttp/web_urldispatcher.py'
  adding 'aiohttp/web_ws.py'
  adding 'aiohttp/worker.py'
  adding 'aiohttp/.hash/__init__.py.hash'
  adding 'aiohttp/.hash/_cparser.pxd.hash'
  adding 'aiohttp/.hash/_find_header.pxd.hash'
  adding 'aiohttp/.hash/_helpers.pyi.hash'
  adding 'aiohttp/.hash/_helpers.pyx.hash'
  adding 'aiohttp/.hash/_http_parser.pyx.hash'
  adding 'aiohttp/.hash/_http_writer.pyx.hash'
  adding 'aiohttp/.hash/_websocket.pyx.hash'
  adding 'aiohttp/.hash/abc.py.hash'
  adding 'aiohttp/.hash/base_protocol.py.hash'
  adding 'aiohttp/.hash/client.py.hash'
  adding 'aiohttp/.hash/client_exceptions.py.hash'
  adding 'aiohttp/.hash/client_proto.py.hash'
  adding 'aiohttp/.hash/client_reqrep.py.hash'
  adding 'aiohttp/.hash/client_ws.py.hash'
  adding 'aiohttp/.hash/compression_utils.py.hash'
  adding 'aiohttp/.hash/connector.py.hash'
  adding 'aiohttp/.hash/cookiejar.py.hash'
  adding 'aiohttp/.hash/formdata.py.hash'
  adding 'aiohttp/.hash/hdrs.py.hash'
  adding 'aiohttp/.hash/helpers.py.hash'
  adding 'aiohttp/.hash/http.py.hash'
  adding 'aiohttp/.hash/http_exceptions.py.hash'
  adding 'aiohttp/.hash/http_parser.py.hash'
  adding 'aiohttp/.hash/http_websocket.py.hash'
  adding 'aiohttp/.hash/http_writer.py.hash'
  adding 'aiohttp/.hash/locks.py.hash'
  adding 'aiohttp/.hash/log.py.hash'
  adding 'aiohttp/.hash/multipart.py.hash'
  adding 'aiohttp/.hash/payload.py.hash'
  adding 'aiohttp/.hash/payload_streamer.py.hash'
  adding 'aiohttp/.hash/pytest_plugin.py.hash'
  adding 'aiohttp/.hash/resolver.py.hash'
  adding 'aiohttp/.hash/streams.py.hash'
  adding 'aiohttp/.hash/tcp_helpers.py.hash'
  adding 'aiohttp/.hash/test_utils.py.hash'
  adding 'aiohttp/.hash/tracing.py.hash'
  adding 'aiohttp/.hash/typedefs.py.hash'
  adding 'aiohttp/.hash/web.py.hash'
  adding 'aiohttp/.hash/web_app.py.hash'
  adding 'aiohttp/.hash/web_exceptions.py.hash'
  adding 'aiohttp/.hash/web_fileresponse.py.hash'
  adding 'aiohttp/.hash/web_log.py.hash'
  adding 'aiohttp/.hash/web_middlewares.py.hash'
  adding 'aiohttp/.hash/web_protocol.py.hash'
  adding 'aiohttp/.hash/web_request.py.hash'
  adding 'aiohttp/.hash/web_response.py.hash'
  adding 'aiohttp/.hash/web_routedef.py.hash'
  adding 'aiohttp/.hash/web_runner.py.hash'
  adding 'aiohttp/.hash/web_server.py.hash'
  adding 'aiohttp/.hash/web_urldispatcher.py.hash'
  adding 'aiohttp/.hash/web_ws.py.hash'
  adding 'aiohttp/.hash/worker.py.hash'
  adding 'aiohttp-3.9.1.dev0.dist-info/LICENSE.txt'
  adding 'aiohttp-3.9.1.dev0.dist-info/METADATA'
  adding 'aiohttp-3.9.1.dev0.dist-info/WHEEL'
  adding 'aiohttp-3.9.1.dev0.dist-info/top_level.txt'
  adding 'aiohttp-3.9.1.dev0.dist-info/RECORD'
  removing build/bdist.linux-x86_64/wheel
  Building wheel for aiohttp (pyproject.toml) ... done
  Created wheel for aiohttp: filename=aiohttp-3.9.1.dev0-cp311-cp311-linux_x86_64.whl size=422463 sha256=562206edaf3a44bf17b7f80a343692ffffc34560ce72b34f477a2f6a84bdc484
  Stored in directory: /tmp/pip-ephem-wheel-cache-kpj3ysv9/wheels/96/9a/65/875263610b0190ec2294f699f82ab97887aba2c1554249b8ed
Successfully built aiohttp
Installing collected packages: aiohttp
  Attempting uninstall: aiohttp
    Found existing installation: aiohttp 3.9.1.dev0
    Uninstalling aiohttp-3.9.1.dev0:
      Created temporary directory: /tmp/pip-uninstall-jrzfyexi
      Removing file or directory /usr/local/lib/python3.11/site-packages/__editable__.aiohttp-3.9.1.dev0.pth
      Removing file or directory /usr/local/lib/python3.11/site-packages/__editable___aiohttp_3_9_1_dev0_finder.py
      Removing file or directory /usr/local/lib/python3.11/site-packages/__pycache__/__editable___aiohttp_3_9_1_dev0_finder.cpython-311.pyc
      Created temporary directory: /usr/local/lib/python3.11/site-packages/~iohttp-3.9.1.dev0.dist-info
      Removing file or directory /usr/local/lib/python3.11/site-packages/aiohttp-3.9.1.dev0.dist-info/
      Successfully uninstalled aiohttp-3.9.1.dev0

ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.
alexapy 1.27.10 requires aiofiles<24.0.0,>=23.1.0, but you have aiofiles 0.8.0 which is incompatible.
homeassistant 2024.1.3 requires aiohttp==3.9.1, but you have aiohttp 3.9.1.dev0 which is incompatible.
homeassistant 2024.1.3 requires cryptography==41.0.7, but you have cryptography 41.0.3 which is incompatible.
homeassistant 2024.1.3 requires typing-extensions<5.0,>=4.9.0, but you have typing-extensions 4.7.1 which is incompatible.
homeassistant 2024.1.3 requires urllib3<2,>=1.26.5, but you have urllib3 2.0.4 which is incompatible.
homeassistant 2024.1.3 requires yarl==1.9.4, but you have yarl 1.9.3 which is incompatible.
freebox-api 1.1.0 requires urllib3<2.0.0,>=1.26.6, but you have urllib3 2.0.4 which is incompatible.
aioopenexchangerates 0.4.0 requires pydantic<2.0,>=1.9, but you have pydantic 2.2.0 which is incompatible.
env-canada 0.6.0 requires Pillow>=10.0.1, but you have pillow 9.5.0 which is incompatible.
async-upnp-client 0.38.0 requires aiohttp~=3.9.1, but you have aiohttp 3.9.1.dev0 which is incompatible.
blinkpy 0.22.5 requires aiofiles>=23.1.0, but you have aiofiles 0.8.0 which is incompatible.
odp-amsterdam 6.0.0 requires pytz<2024.0,>=2023.3, but you have pytz 2022.7 which is incompatible.
aiopurpleair 2022.12.1 requires pydantic<2.0.0,>=1.10.2, but you have pydantic 2.2.0 which is incompatible.
pykoplenti 1.2.2 requires pydantic~=1.10, but you have pydantic 2.2.0 which is incompatible.
matrix-nio 0.22.1 requires aiofiles<24.0.0,>=23.1.0, but you have aiofiles 0.8.0 which is incompatible.
demetriek 0.4.0 requires pydantic<2.0.0,>=1.9.0, but you have pydantic 2.2.0 which is incompatible.
aionotion 2023.5.5 requires pydantic<2.0.0,>=1.10.7, but you have pydantic 2.2.0 which is incompatible.
pyaussiebb 0.0.15 requires pydantic<2.0.0,>=1.9.0, but you have pydantic 2.2.0 which is incompatible.
Successfully installed aiohttp-3.9.1.dev0
WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv
Removed build tracker: '/tmp/pip-build-tracker-653r0uou'
homeassistant:/aiohttp# pip3 install --upgrade typing_extensions
Looking in indexes: https://pypi.org/simple, https://wheels.home-assistant.io/musllinux-index/
Requirement already satisfied: typing_extensions in /usr/local/lib/python3.11/site-packages (4.7.1)
Collecting typing_extensions
  Downloading https://wheels.home-assistant.io/musllinux-index/typing_extensions-4.9.0-py3-none-any.whl (32 kB)
Installing collected packages: typing_extensions
  Attempting uninstall: typing_extensions
    Found existing installation: typing_extensions 4.7.1
    Uninstalling typing_extensions-4.7.1:
      Successfully uninstalled typing_extensions-4.7.1
ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.
homeassistant 2024.1.3 requires aiohttp==3.9.1, but you have aiohttp 3.9.1.dev0 which is incompatible.
homeassistant 2024.1.3 requires cryptography==41.0.7, but you have cryptography 41.0.3 which is incompatible.
homeassistant 2024.1.3 requires urllib3<2,>=1.26.5, but you have urllib3 2.0.4 which is incompatible.
homeassistant 2024.1.3 requires yarl==1.9.4, but you have yarl 1.9.3 which is incompatible.
aioopenexchangerates 0.4.0 requires pydantic<2.0,>=1.9, but you have pydantic 2.2.0 which is incompatible.
meteofrance-api 1.3.0 requires urllib3<2.0.0,>=1.26.18, but you have urllib3 2.0.4 which is incompatible.
systembridgemodels 3.10.5 requires pydantic<2.0.0, but you have pydantic 2.2.0 which is incompatible.
aiopurpleair 2022.12.1 requires pydantic<2.0.0,>=1.10.2, but you have pydantic 2.2.0 which is incompatible.
pykoplenti 1.2.2 requires pydantic~=1.10, but you have pydantic 2.2.0 which is incompatible.
demetriek 0.4.0 requires pydantic<2.0.0,>=1.9.0, but you have pydantic 2.2.0 which is incompatible.
aionotion 2023.5.5 requires pydantic<2.0.0,>=1.10.7, but you have pydantic 2.2.0 which is incompatible.
pyaussiebb 0.0.15 requires pydantic<2.0.0,>=1.9.0, but you have pydantic 2.2.0 which is incompatible.
Successfully installed typing_extensions-4.9.0
WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv
homeassistant:/aiohttp#

@johntdyer
Copy link
Contributor Author

@bdraco - 2 hours and counting an no reoccurance.... I do have a QQ... how was the provided commands able to get around the immutability of the container ?

@johntdyer
Copy link
Contributor Author

@bdraco - Wanted to follow up on my question about, re: a request for a brief explanation or reference I could dig into on how your steps got around the immutability of an app running in docker..

Secondly I wanted to mention that this seems to have definitely solved my problem, since I have not seen it since applying these steps

@ildar170975
Copy link

See this error rather often, is there any movement regarding this?

@issue-triage-workflows
Copy link

There hasn't been any activity on this issue recently. Due to the high number of incoming GitHub notifications, we have to clean some of the old issues, as many of them have already been resolved with the latest updates.
Please make sure to update to the latest Home Assistant version and check if that solves the issue. Let us know if that works for you by adding a comment 👍
This issue has now been marked as stale and will be closed if no further activity occurs. Thank you for your contributions.

@ildar170975
Copy link

up

@kaovilai
Copy link

kaovilai commented Jul 8, 2024

Seeing this with

Core
2024.7.1
Supervisor
2024.06.2
Operating System
12.3

@issue-triage-workflows
Copy link

There hasn't been any activity on this issue recently. Due to the high number of incoming GitHub notifications, we have to clean some of the old issues, as many of them have already been resolved with the latest updates.
Please make sure to update to the latest Home Assistant version and check if that solves the issue. Let us know if that works for you by adding a comment 👍
This issue has now been marked as stale and will be closed if no further activity occurs. Thank you for your contributions.

@ildar170975
Copy link

Up. See it sometimes occasionally.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

7 participants