Skip to content

Conversation

@Dreamsorcerer
Copy link
Member

No description provided.

@Dreamsorcerer Dreamsorcerer added the backport-3.13 Trigger automatic backporting to the 3.13 release branch by Patchback robot label Jan 15, 2026
@Dreamsorcerer Dreamsorcerer added backport-3.14 Trigger automatic backporting to the 3.14 release branch by Patchback robot bot:chronographer:skip This PR does not need to include a change note labels Jan 15, 2026
@codecov
Copy link

codecov bot commented Jan 15, 2026

❌ 44 Tests Failed:

Tests completed Failed Passed Skipped
4223 44 4179 131
View the top 3 failed test(s) by shortest run time
tests.test_http_parser::test_chunk_splits_after_pause[c-parser-pyloop]
Stack Traces | 2.34s run time
parser = <aiohttp._http_parser.HttpRequestParser object at 0x00000113AF402820>

    #x1B[0m#x1B[94masync#x1B[39;49;00m #x1B[94mdef#x1B[39;49;00m#x1B[90m #x1B[39;49;00m#x1B[92mtest_chunk_splits_after_pause#x1B[39;49;00m(parser: HttpRequestParser) -> #x1B[94mNone#x1B[39;49;00m:#x1B[90m#x1B[39;49;00m
        text = (#x1B[90m#x1B[39;49;00m
            #x1B[33mb#x1B[39;49;00m#x1B[33m"#x1B[39;49;00m#x1B[33mGET /test HTTP/1.1#x1B[39;49;00m#x1B[33m\r#x1B[39;49;00m#x1B[33m\n#x1B[39;49;00m#x1B[33mTransfer-Encoding: chunked#x1B[39;49;00m#x1B[33m\r#x1B[39;49;00m#x1B[33m\n#x1B[39;49;00m#x1B[33m\r#x1B[39;49;00m#x1B[33m\n#x1B[39;49;00m#x1B[33m"#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
            + #x1B[33mb#x1B[39;49;00m#x1B[33m"#x1B[39;49;00m#x1B[33m1#x1B[39;49;00m#x1B[33m\r#x1B[39;49;00m#x1B[33m\n#x1B[39;49;00m#x1B[33mb#x1B[39;49;00m#x1B[33m\r#x1B[39;49;00m#x1B[33m\n#x1B[39;49;00m#x1B[33m"#x1B[39;49;00m * #x1B[94m50000#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
            + #x1B[33mb#x1B[39;49;00m#x1B[33m"#x1B[39;49;00m#x1B[33m0#x1B[39;49;00m#x1B[33m\r#x1B[39;49;00m#x1B[33m\n#x1B[39;49;00m#x1B[33m\r#x1B[39;49;00m#x1B[33m\n#x1B[39;49;00m#x1B[33m"#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
        )#x1B[90m#x1B[39;49;00m
    #x1B[90m#x1B[39;49;00m
        messages, upgrade, tail = parser.feed_data(text)#x1B[90m#x1B[39;49;00m
        payload = messages[#x1B[94m0#x1B[39;49;00m][-#x1B[94m1#x1B[39;49;00m]#x1B[90m#x1B[39;49;00m
        #x1B[90m# Payload should have paused reading and stopped receiving new chunks after 16k.#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
        #x1B[90m# assert parser._payload_parser is not None#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
        #x1B[90m# assert parser._payload_parser._paused#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
        #x1B[94massert#x1B[39;49;00m payload._http_chunk_splits #x1B[95mis#x1B[39;49;00m #x1B[95mnot#x1B[39;49;00m #x1B[94mNone#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
>       #x1B[94massert#x1B[39;49;00m #x1B[96mlen#x1B[39;49;00m(payload._http_chunk_splits) == #x1B[94m16001#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
#x1B[1m#x1B[31mE       assert 50000 == 16001#x1B[0m
#x1B[1m#x1B[31mE        +  where 50000 = len(deque([1, 2, 3, 4, 5, 6, ...]))#x1B[0m
#x1B[1m#x1B[31mE        +    where deque([1, 2, 3, 4, 5, 6, ...]) = <StreamReader 50000 bytes eof>._http_chunk_splits#x1B[0m

messages   = [(<RawRequestMessage(method='GET', path='/test', version=HttpVersion(major=1, minor=1), headers=<CIMultiDictProxy('Tra...should_close=False, compression=None, upgrade=False, chunked=True, url=URL('/test'))>, <StreamReader 50000 bytes eof>)]
parser     = <aiohttp._http_parser.HttpRequestParser object at 0x00000113AF402820>
payload    = <StreamReader 50000 bytes eof>
tail       = b''
text       = b'GET /test HTTP/1.1\r\nTransfer-Encoding: chunked\r\n\r\n1\r\nb\r\n1\r\nb\r\n1\r\nb\r\n1\r\nb\r\n1\r\nb\r\n1\r\nb\r\n...\r\nb\r\n1\r\nb\r\n1\r\nb\r\n1\r\nb\r\n1\r\nb\r\n1\r\nb\r\n1\r\nb\r\n1\r\nb\r\n1\r\nb\r\n1\r\nb\r\n1\r\nb\r\n0\r\n\r\n'
upgrade    = False

#x1B[1m#x1B[31mtests\test_http_parser.py#x1B[0m:852: AssertionError
tests.test_client_functional::test_payload_decompress_size_limit_brotli[pyloop]
Stack Traces | 2.88s run time
aiohttp_client = <function aiohttp_client.<locals>.go at 0x00000113ADB9D6F0>

    #x1B[0m#x1B[37m@pytest#x1B[39;49;00m.mark.skipif(brotli #x1B[95mis#x1B[39;49;00m #x1B[94mNone#x1B[39;49;00m, reason=#x1B[33m"#x1B[39;49;00m#x1B[33mbrotli is not installed#x1B[39;49;00m#x1B[33m"#x1B[39;49;00m)#x1B[90m#x1B[39;49;00m
    #x1B[94masync#x1B[39;49;00m #x1B[94mdef#x1B[39;49;00m#x1B[90m #x1B[39;49;00m#x1B[92mtest_payload_decompress_size_limit_brotli#x1B[39;49;00m(#x1B[90m#x1B[39;49;00m
        aiohttp_client: AiohttpClient,#x1B[90m#x1B[39;49;00m
    ) -> #x1B[94mNone#x1B[39;49;00m:#x1B[90m#x1B[39;49;00m
    #x1B[90m    #x1B[39;49;00m#x1B[33m"""Test that brotli decompression size limit triggers DecompressSizeError."""#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
        #x1B[94massert#x1B[39;49;00m brotli #x1B[95mis#x1B[39;49;00m #x1B[95mnot#x1B[39;49;00m #x1B[94mNone#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
        #x1B[90m# Create a highly compressible payload that exceeds the decompression limit.#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
        original = #x1B[33mb#x1B[39;49;00m#x1B[33m"#x1B[39;49;00m#x1B[33mA#x1B[39;49;00m#x1B[33m"#x1B[39;49;00m * (#x1B[94m64#x1B[39;49;00m * #x1B[94m2#x1B[39;49;00m**#x1B[94m20#x1B[39;49;00m)#x1B[90m#x1B[39;49;00m
        compressed = brotli.compress(original)#x1B[90m#x1B[39;49;00m
        #x1B[94massert#x1B[39;49;00m #x1B[96mlen#x1B[39;49;00m(original) > DEFAULT_MAX_DECOMPRESS_SIZE#x1B[90m#x1B[39;49;00m
    #x1B[90m#x1B[39;49;00m
        #x1B[94masync#x1B[39;49;00m #x1B[94mdef#x1B[39;49;00m#x1B[90m #x1B[39;49;00m#x1B[92mhandler#x1B[39;49;00m(request: web.Request) -> web.Response:#x1B[90m#x1B[39;49;00m
            resp = web.Response(body=compressed)#x1B[90m#x1B[39;49;00m
            resp.headers[#x1B[33m"#x1B[39;49;00m#x1B[33mContent-Encoding#x1B[39;49;00m#x1B[33m"#x1B[39;49;00m] = #x1B[33m"#x1B[39;49;00m#x1B[33mbr#x1B[39;49;00m#x1B[33m"#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
            #x1B[94mreturn#x1B[39;49;00m resp#x1B[90m#x1B[39;49;00m
    #x1B[90m#x1B[39;49;00m
        app = web.Application()#x1B[90m#x1B[39;49;00m
        app.router.add_get(#x1B[33m"#x1B[39;49;00m#x1B[33m/#x1B[39;49;00m#x1B[33m"#x1B[39;49;00m, handler)#x1B[90m#x1B[39;49;00m
        client = #x1B[94mawait#x1B[39;49;00m aiohttp_client(app)#x1B[90m#x1B[39;49;00m
    #x1B[90m#x1B[39;49;00m
        #x1B[94masync#x1B[39;49;00m #x1B[94mwith#x1B[39;49;00m client.get(#x1B[33m"#x1B[39;49;00m#x1B[33m/#x1B[39;49;00m#x1B[33m"#x1B[39;49;00m) #x1B[94mas#x1B[39;49;00m resp:#x1B[90m#x1B[39;49;00m
            #x1B[94massert#x1B[39;49;00m resp.status == #x1B[94m200#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
    #x1B[90m#x1B[39;49;00m
            #x1B[94mwith#x1B[39;49;00m pytest.raises(aiohttp.ClientPayloadError) #x1B[94mas#x1B[39;49;00m exc_info:  #x1B[90m# TODO#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
                #x1B[94mawait#x1B[39;49;00m resp.read()#x1B[90m#x1B[39;49;00m
    #x1B[90m#x1B[39;49;00m
>           #x1B[94massert#x1B[39;49;00m #x1B[96misinstance#x1B[39;49;00m(exc_info.value.__cause__, DecompressSizeError)#x1B[90m#x1B[39;49;00m
#x1B[1m#x1B[31mE           assert False#x1B[0m
#x1B[1m#x1B[31mE            +  where False = isinstance(AttributeError("'aiohttp._http_parser.HttpResponseParser' object has no attribute 'pause_reading'"), DecompressSizeError)#x1B[0m
#x1B[1m#x1B[31mE            +    where AttributeError("'aiohttp._http_parser.HttpResponseParser' object has no attribute 'pause_reading'") = ClientPayloadError("'aiohttp._http_parser.HttpResponseParser' object has no attribute 'pause_reading'").__cause__#x1B[0m
#x1B[1m#x1B[31mE            +      where ClientPayloadError("'aiohttp._http_parser.HttpResponseParser' object has no attribute 'pause_reading'") = <ExceptionInfo ClientPayloadError("'aiohttp._http_parser.HttpResponseParser' object has no attribute 'pause_reading'") tblen=3>.value#x1B[0m

aiohttp_client = <function aiohttp_client.<locals>.go at 0x00000113ADB9D6F0>
app        = <Application 0x113adb9f7f0>
client     = <aiohttp.test_utils.TestClient object at 0x00000113ADFD8AD0>
compressed = b'\xcb\xff\xff?\xf8%\x82\xe2\xb1@ \xf7\xfe\x8f\xff\xff\x7f\xf0K\x00\xc4a\x11\x80\xee\xfd\x1f\xff\xff\xff\xe0\x97\x00\x...\xbf\x04@\x1c\x16\x00\xe8\xde\xff\xf1\xff\xff\x0f~\t\x808,\x00\xd0\xbd\xff\xe3\xff\xff\x1f\xfc\x12\x00qX\x00\xa0{\xff7'
exc_info   = <ExceptionInfo ClientPayloadError("'aiohttp._http_parser.HttpResponseParser' object has no attribute 'pause_reading'") tblen=3>
handler    = <function test_payload_decompress_size_limit_brotli.<locals>.handler at 0x00000113ADB9EB90>
original   = b'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA...AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA'
resp       = <ClientResponse(http://127.0.0.1:61208/) [200 OK]>
<CIMultiDictProxy('Content-Encoding': 'br', 'Content-Length': '106'...': 'application/octet-stream', 'Date': 'Fri, 16 Jan 2026 01:23:48 GMT', 'Server': 'Python/3.14 aiohttp/4.0.0a2.dev0')>


#x1B[1m#x1B[31mtests\test_client_functional.py#x1B[0m:2442: AssertionError
tests.test_http_parser::test_chunk_splits_after_pause[py-parser-pyloop]
Stack Traces | 4.74s run time
parser = <aiohttp.http_parser.HttpRequestParser object at 0x00000113AEF1BC50>

    #x1B[0m#x1B[94masync#x1B[39;49;00m #x1B[94mdef#x1B[39;49;00m#x1B[90m #x1B[39;49;00m#x1B[92mtest_chunk_splits_after_pause#x1B[39;49;00m(parser: HttpRequestParser) -> #x1B[94mNone#x1B[39;49;00m:#x1B[90m#x1B[39;49;00m
        text = (#x1B[90m#x1B[39;49;00m
            #x1B[33mb#x1B[39;49;00m#x1B[33m"#x1B[39;49;00m#x1B[33mGET /test HTTP/1.1#x1B[39;49;00m#x1B[33m\r#x1B[39;49;00m#x1B[33m\n#x1B[39;49;00m#x1B[33mTransfer-Encoding: chunked#x1B[39;49;00m#x1B[33m\r#x1B[39;49;00m#x1B[33m\n#x1B[39;49;00m#x1B[33m\r#x1B[39;49;00m#x1B[33m\n#x1B[39;49;00m#x1B[33m"#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
            + #x1B[33mb#x1B[39;49;00m#x1B[33m"#x1B[39;49;00m#x1B[33m1#x1B[39;49;00m#x1B[33m\r#x1B[39;49;00m#x1B[33m\n#x1B[39;49;00m#x1B[33mb#x1B[39;49;00m#x1B[33m\r#x1B[39;49;00m#x1B[33m\n#x1B[39;49;00m#x1B[33m"#x1B[39;49;00m * #x1B[94m50000#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
            + #x1B[33mb#x1B[39;49;00m#x1B[33m"#x1B[39;49;00m#x1B[33m0#x1B[39;49;00m#x1B[33m\r#x1B[39;49;00m#x1B[33m\n#x1B[39;49;00m#x1B[33m\r#x1B[39;49;00m#x1B[33m\n#x1B[39;49;00m#x1B[33m"#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
        )#x1B[90m#x1B[39;49;00m
    #x1B[90m#x1B[39;49;00m
        messages, upgrade, tail = parser.feed_data(text)#x1B[90m#x1B[39;49;00m
        payload = messages[#x1B[94m0#x1B[39;49;00m][-#x1B[94m1#x1B[39;49;00m]#x1B[90m#x1B[39;49;00m
        #x1B[90m# Payload should have paused reading and stopped receiving new chunks after 16k.#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
        #x1B[90m# assert parser._payload_parser is not None#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
        #x1B[90m# assert parser._payload_parser._paused#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
        #x1B[94massert#x1B[39;49;00m payload._http_chunk_splits #x1B[95mis#x1B[39;49;00m #x1B[95mnot#x1B[39;49;00m #x1B[94mNone#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
>       #x1B[94massert#x1B[39;49;00m #x1B[96mlen#x1B[39;49;00m(payload._http_chunk_splits) == #x1B[94m16001#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
#x1B[1m#x1B[31mE       assert 50000 == 16001#x1B[0m
#x1B[1m#x1B[31mE        +  where 50000 = len(deque([1, 2, 3, 4, 5, 6, ...]))#x1B[0m
#x1B[1m#x1B[31mE        +    where deque([1, 2, 3, 4, 5, 6, ...]) = <StreamReader 50000 bytes eof>._http_chunk_splits#x1B[0m

messages   = [(<RawRequestMessage(method='GET', path='/test', version=HttpVersion(major=1, minor=1), headers=<CIMultiDictProxy('Tra...should_close=False, compression=None, upgrade=False, chunked=True, url=URL('/test'))>, <StreamReader 50000 bytes eof>)]
parser     = <aiohttp.http_parser.HttpRequestParser object at 0x00000113AEF1BC50>
payload    = <StreamReader 50000 bytes eof>
tail       = b''
text       = b'GET /test HTTP/1.1\r\nTransfer-Encoding: chunked\r\n\r\n1\r\nb\r\n1\r\nb\r\n1\r\nb\r\n1\r\nb\r\n1\r\nb\r\n1\r\nb\r\n...\r\nb\r\n1\r\nb\r\n1\r\nb\r\n1\r\nb\r\n1\r\nb\r\n1\r\nb\r\n1\r\nb\r\n1\r\nb\r\n1\r\nb\r\n1\r\nb\r\n1\r\nb\r\n0\r\n\r\n'
upgrade    = False

#x1B[1m#x1B[31mtests\test_http_parser.py#x1B[0m:852: AssertionError
View the full list of 41 ❄️ flaky test(s)
tests.test_base_protocol::test_connection_lost_not_paused

Flake rate in main: 5.49% (Passed 516 times, Failed 30 times)

Stack Traces | 0.006s run time
#x1B[0m#x1B[94masync#x1B[39;49;00m #x1B[94mdef#x1B[39;49;00m#x1B[90m #x1B[39;49;00m#x1B[92mtest_connection_lost_not_paused#x1B[39;49;00m() -> #x1B[94mNone#x1B[39;49;00m:#x1B[90m#x1B[39;49;00m
        loop = asyncio.get_event_loop()#x1B[90m#x1B[39;49;00m
>       pr = BaseProtocol(loop=loop)#x1B[90m#x1B[39;49;00m
             ^^^^^^^^^^^^^^^^^^^^^^^#x1B[90m#x1B[39;49;00m
#x1B[1m#x1B[31mE       TypeError: BaseProtocol.__init__() missing 1 required positional argument: 'parser'#x1B[0m

loop       = <ProactorEventLoop running=False closed=False debug=False>

#x1B[1m#x1B[31mtests\test_base_protocol.py#x1B[0m:94: TypeError
tests.test_base_protocol::test_connection_lost_paused_without_waiter

Flake rate in main: 5.18% (Passed 494 times, Failed 27 times)

Stack Traces | 0.005s run time
#x1B[0m#x1B[94masync#x1B[39;49;00m #x1B[94mdef#x1B[39;49;00m#x1B[90m #x1B[39;49;00m#x1B[92mtest_connection_lost_paused_without_waiter#x1B[39;49;00m() -> #x1B[94mNone#x1B[39;49;00m:#x1B[90m#x1B[39;49;00m
        loop = asyncio.get_event_loop()#x1B[90m#x1B[39;49;00m
>       pr = BaseProtocol(loop=loop)#x1B[90m#x1B[39;49;00m
             ^^^^^^^^^^^^^^^^^^^^^^^#x1B[90m#x1B[39;49;00m
#x1B[1m#x1B[31mE       TypeError: BaseProtocol.__init__() missing 1 required positional argument: 'parser'#x1B[0m

loop       = <ProactorEventLoop running=False closed=False debug=False>

#x1B[1m#x1B[31mtests\test_base_protocol.py#x1B[0m:105: TypeError
tests.test_base_protocol::test_connection_lost_waiter_done

Flake rate in main: 8.82% (Passed 62 times, Failed 6 times)

Stack Traces | 0.006s run time
#x1B[0m#x1B[94masync#x1B[39;49;00m #x1B[94mdef#x1B[39;49;00m#x1B[90m #x1B[39;49;00m#x1B[92mtest_connection_lost_waiter_done#x1B[39;49;00m() -> #x1B[94mNone#x1B[39;49;00m:#x1B[90m#x1B[39;49;00m
        loop = asyncio.get_event_loop()#x1B[90m#x1B[39;49;00m
>       pr = BaseProtocol(loop=loop)#x1B[90m#x1B[39;49;00m
             ^^^^^^^^^^^^^^^^^^^^^^^#x1B[90m#x1B[39;49;00m
#x1B[1m#x1B[31mE       TypeError: BaseProtocol.__init__() missing 1 required positional argument: 'parser'#x1B[0m

loop       = <ProactorEventLoop running=False closed=False debug=False>

#x1B[1m#x1B[31mtests\test_base_protocol.py#x1B[0m:117: TypeError
tests.test_base_protocol::test_connection_made

Flake rate in main: 6.67% (Passed 28 times, Failed 2 times)

Stack Traces | 0.006s run time
#x1B[0m#x1B[94masync#x1B[39;49;00m #x1B[94mdef#x1B[39;49;00m#x1B[90m #x1B[39;49;00m#x1B[92mtest_connection_made#x1B[39;49;00m() -> #x1B[94mNone#x1B[39;49;00m:#x1B[90m#x1B[39;49;00m
        loop = asyncio.get_event_loop()#x1B[90m#x1B[39;49;00m
>       pr = BaseProtocol(loop=loop)#x1B[90m#x1B[39;49;00m
             ^^^^^^^^^^^^^^^^^^^^^^^#x1B[90m#x1B[39;49;00m
#x1B[1m#x1B[31mE       TypeError: BaseProtocol.__init__() missing 1 required positional argument: 'parser'#x1B[0m

loop       = <ProactorEventLoop running=False closed=False debug=False>

#x1B[1m#x1B[31mtests\test_base_protocol.py#x1B[0m:85: TypeError
tests.test_base_protocol::test_drain_lost

Flake rate in main: 5.18% (Passed 494 times, Failed 27 times)

Stack Traces | 0.006s run time
#x1B[0m#x1B[94masync#x1B[39;49;00m #x1B[94mdef#x1B[39;49;00m#x1B[90m #x1B[39;49;00m#x1B[92mtest_drain_lost#x1B[39;49;00m() -> #x1B[94mNone#x1B[39;49;00m:#x1B[90m#x1B[39;49;00m
        loop = asyncio.get_event_loop()#x1B[90m#x1B[39;49;00m
>       pr = BaseProtocol(loop=loop)#x1B[90m#x1B[39;49;00m
             ^^^^^^^^^^^^^^^^^^^^^^^#x1B[90m#x1B[39;49;00m
#x1B[1m#x1B[31mE       TypeError: BaseProtocol.__init__() missing 1 required positional argument: 'parser'#x1B[0m

loop       = <ProactorEventLoop running=False closed=False debug=False>

#x1B[1m#x1B[31mtests\test_base_protocol.py#x1B[0m:128: TypeError
tests.test_base_protocol::test_drain_not_paused

Flake rate in main: 5.18% (Passed 494 times, Failed 27 times)

Stack Traces | 0.006s run time
#x1B[0m#x1B[94masync#x1B[39;49;00m #x1B[94mdef#x1B[39;49;00m#x1B[90m #x1B[39;49;00m#x1B[92mtest_drain_not_paused#x1B[39;49;00m() -> #x1B[94mNone#x1B[39;49;00m:#x1B[90m#x1B[39;49;00m
        loop = asyncio.get_event_loop()#x1B[90m#x1B[39;49;00m
>       pr = BaseProtocol(loop=loop)#x1B[90m#x1B[39;49;00m
             ^^^^^^^^^^^^^^^^^^^^^^^#x1B[90m#x1B[39;49;00m
#x1B[1m#x1B[31mE       TypeError: BaseProtocol.__init__() missing 1 required positional argument: 'parser'#x1B[0m

loop       = <ProactorEventLoop running=False closed=False debug=False>

#x1B[1m#x1B[31mtests\test_base_protocol.py#x1B[0m:138: TypeError
tests.test_base_protocol::test_loop

Flake rate in main: 5.19% (Passed 493 times, Failed 27 times)

Stack Traces | 0.088s run time
#x1B[0m#x1B[94masync#x1B[39;49;00m #x1B[94mdef#x1B[39;49;00m#x1B[90m #x1B[39;49;00m#x1B[92mtest_loop#x1B[39;49;00m() -> #x1B[94mNone#x1B[39;49;00m:#x1B[90m#x1B[39;49;00m
        loop = asyncio.get_event_loop()#x1B[90m#x1B[39;49;00m
        asyncio.set_event_loop(#x1B[94mNone#x1B[39;49;00m)#x1B[90m#x1B[39;49;00m
>       pr = BaseProtocol(loop)#x1B[90m#x1B[39;49;00m
             ^^^^^^^^^^^^^^^^^^#x1B[90m#x1B[39;49;00m
#x1B[1m#x1B[31mE       TypeError: BaseProtocol.__init__() missing 1 required positional argument: 'parser'#x1B[0m

loop       = <ProactorEventLoop running=False closed=False debug=False>

#x1B[1m#x1B[31mtests\test_base_protocol.py#x1B[0m:13: TypeError
tests.test_base_protocol::test_lost_drain_cancelled

Flake rate in main: 4.80% (Passed 476 times, Failed 24 times)

Stack Traces | 0.006s run time
#x1B[0m#x1B[94masync#x1B[39;49;00m #x1B[94mdef#x1B[39;49;00m#x1B[90m #x1B[39;49;00m#x1B[92mtest_lost_drain_cancelled#x1B[39;49;00m() -> #x1B[94mNone#x1B[39;49;00m:#x1B[90m#x1B[39;49;00m
        loop = asyncio.get_event_loop()#x1B[90m#x1B[39;49;00m
>       pr = BaseProtocol(loop=loop)#x1B[90m#x1B[39;49;00m
             ^^^^^^^^^^^^^^^^^^^^^^^#x1B[90m#x1B[39;49;00m
#x1B[1m#x1B[31mE       TypeError: BaseProtocol.__init__() missing 1 required positional argument: 'parser'#x1B[0m

loop       = <ProactorEventLoop running=False closed=False debug=False>

#x1B[1m#x1B[31mtests\test_base_protocol.py#x1B[0m:199: TypeError
tests.test_base_protocol::test_lost_drain_waited_exception

Flake rate in main: 8.82% (Passed 62 times, Failed 6 times)

Stack Traces | 0.009s run time
#x1B[0m#x1B[94masync#x1B[39;49;00m #x1B[94mdef#x1B[39;49;00m#x1B[90m #x1B[39;49;00m#x1B[92mtest_lost_drain_waited_exception#x1B[39;49;00m() -> #x1B[94mNone#x1B[39;49;00m:#x1B[90m#x1B[39;49;00m
        loop = asyncio.get_event_loop()#x1B[90m#x1B[39;49;00m
>       pr = BaseProtocol(loop=loop)#x1B[90m#x1B[39;49;00m
             ^^^^^^^^^^^^^^^^^^^^^^^#x1B[90m#x1B[39;49;00m
#x1B[1m#x1B[31mE       TypeError: BaseProtocol.__init__() missing 1 required positional argument: 'parser'#x1B[0m

loop       = <ProactorEventLoop running=False closed=False debug=False>

#x1B[1m#x1B[31mtests\test_base_protocol.py#x1B[0m:180: TypeError
tests.test_base_protocol::test_lost_drain_waited_ok

Flake rate in main: 100.00% (Passed 0 times, Failed 1 times)

Stack Traces | 0.005s run time
#x1B[0m#x1B[94masync#x1B[39;49;00m #x1B[94mdef#x1B[39;49;00m#x1B[90m #x1B[39;49;00m#x1B[92mtest_lost_drain_waited_ok#x1B[39;49;00m() -> #x1B[94mNone#x1B[39;49;00m:#x1B[90m#x1B[39;49;00m
        loop = asyncio.get_event_loop()#x1B[90m#x1B[39;49;00m
>       pr = BaseProtocol(loop=loop)#x1B[90m#x1B[39;49;00m
             ^^^^^^^^^^^^^^^^^^^^^^^#x1B[90m#x1B[39;49;00m
#x1B[1m#x1B[31mE       TypeError: BaseProtocol.__init__() missing 1 required positional argument: 'parser'#x1B[0m

loop       = <ProactorEventLoop running=False closed=False debug=False>

#x1B[1m#x1B[31mtests\test_base_protocol.py#x1B[0m:164: TypeError
tests.test_base_protocol::test_parallel_drain_race_condition

Flake rate in main: 8.82% (Passed 31 times, Failed 3 times)

Stack Traces | 0.005s run time
#x1B[0m#x1B[94masync#x1B[39;49;00m #x1B[94mdef#x1B[39;49;00m#x1B[90m #x1B[39;49;00m#x1B[92mtest_parallel_drain_race_condition#x1B[39;49;00m() -> #x1B[94mNone#x1B[39;49;00m:#x1B[90m#x1B[39;49;00m
        loop = asyncio.get_event_loop()#x1B[90m#x1B[39;49;00m
>       pr = BaseProtocol(loop=loop)#x1B[90m#x1B[39;49;00m
             ^^^^^^^^^^^^^^^^^^^^^^^#x1B[90m#x1B[39;49;00m
#x1B[1m#x1B[31mE       TypeError: BaseProtocol.__init__() missing 1 required positional argument: 'parser'#x1B[0m

loop       = <ProactorEventLoop running=False closed=False debug=False>

#x1B[1m#x1B[31mtests\test_base_protocol.py#x1B[0m:247: TypeError
tests.test_base_protocol::test_pause_reading_no_transport

Flake rate in main: 5.18% (Passed 494 times, Failed 27 times)

Stack Traces | 0.006s run time
#x1B[0m#x1B[94masync#x1B[39;49;00m #x1B[94mdef#x1B[39;49;00m#x1B[90m #x1B[39;49;00m#x1B[92mtest_pause_reading_no_transport#x1B[39;49;00m() -> #x1B[94mNone#x1B[39;49;00m:#x1B[90m#x1B[39;49;00m
        loop = asyncio.get_event_loop()#x1B[90m#x1B[39;49;00m
>       pr = BaseProtocol(loop)#x1B[90m#x1B[39;49;00m
             ^^^^^^^^^^^^^^^^^^#x1B[90m#x1B[39;49;00m
#x1B[1m#x1B[31mE       TypeError: BaseProtocol.__init__() missing 1 required positional argument: 'parser'#x1B[0m

loop       = <ProactorEventLoop running=False closed=False debug=False>

#x1B[1m#x1B[31mtests\test_base_protocol.py#x1B[0m:29: TypeError
tests.test_base_protocol::test_pause_reading_stub_transport

Flake rate in main: 5.18% (Passed 494 times, Failed 27 times)

Stack Traces | 0.005s run time
#x1B[0m#x1B[94masync#x1B[39;49;00m #x1B[94mdef#x1B[39;49;00m#x1B[90m #x1B[39;49;00m#x1B[92mtest_pause_reading_stub_transport#x1B[39;49;00m() -> #x1B[94mNone#x1B[39;49;00m:#x1B[90m#x1B[39;49;00m
        loop = asyncio.get_event_loop()#x1B[90m#x1B[39;49;00m
>       pr = BaseProtocol(loop)#x1B[90m#x1B[39;49;00m
             ^^^^^^^^^^^^^^^^^^#x1B[90m#x1B[39;49;00m
#x1B[1m#x1B[31mE       TypeError: BaseProtocol.__init__() missing 1 required positional argument: 'parser'#x1B[0m

loop       = <ProactorEventLoop running=False closed=False debug=False>

#x1B[1m#x1B[31mtests\test_base_protocol.py#x1B[0m:37: TypeError
tests.test_base_protocol::test_pause_writing

Flake rate in main: 4.75% (Passed 481 times, Failed 24 times)

Stack Traces | 0.006s run time
#x1B[0m#x1B[94masync#x1B[39;49;00m #x1B[94mdef#x1B[39;49;00m#x1B[90m #x1B[39;49;00m#x1B[92mtest_pause_writing#x1B[39;49;00m() -> #x1B[94mNone#x1B[39;49;00m:#x1B[90m#x1B[39;49;00m
        loop = asyncio.get_event_loop()#x1B[90m#x1B[39;49;00m
>       pr = BaseProtocol(loop)#x1B[90m#x1B[39;49;00m
             ^^^^^^^^^^^^^^^^^^#x1B[90m#x1B[39;49;00m
#x1B[1m#x1B[31mE       TypeError: BaseProtocol.__init__() missing 1 required positional argument: 'parser'#x1B[0m

loop       = <ProactorEventLoop running=False closed=False debug=False>

#x1B[1m#x1B[31mtests\test_base_protocol.py#x1B[0m:19: TypeError
tests.test_base_protocol::test_resume_drain_cancelled

Flake rate in main: 5.97% (Passed 551 times, Failed 35 times)

Stack Traces | 0.005s run time
#x1B[0m#x1B[94masync#x1B[39;49;00m #x1B[94mdef#x1B[39;49;00m#x1B[90m #x1B[39;49;00m#x1B[92mtest_resume_drain_cancelled#x1B[39;49;00m() -> #x1B[94mNone#x1B[39;49;00m:#x1B[90m#x1B[39;49;00m
        loop = asyncio.get_event_loop()#x1B[90m#x1B[39;49;00m
>       pr = BaseProtocol(loop=loop)#x1B[90m#x1B[39;49;00m
             ^^^^^^^^^^^^^^^^^^^^^^^#x1B[90m#x1B[39;49;00m
#x1B[1m#x1B[31mE       TypeError: BaseProtocol.__init__() missing 1 required positional argument: 'parser'#x1B[0m

loop       = <ProactorEventLoop running=False closed=False debug=False>

#x1B[1m#x1B[31mtests\test_base_protocol.py#x1B[0m:223: TypeError
tests.test_base_protocol::test_resume_drain_waited

Flake rate in main: 3.33% (Passed 29 times, Failed 1 times)

Stack Traces | 0.006s run time
#x1B[0m#x1B[94masync#x1B[39;49;00m #x1B[94mdef#x1B[39;49;00m#x1B[90m #x1B[39;49;00m#x1B[92mtest_resume_drain_waited#x1B[39;49;00m() -> #x1B[94mNone#x1B[39;49;00m:#x1B[90m#x1B[39;49;00m
        loop = asyncio.get_event_loop()#x1B[90m#x1B[39;49;00m
>       pr = BaseProtocol(loop=loop)#x1B[90m#x1B[39;49;00m
             ^^^^^^^^^^^^^^^^^^^^^^^#x1B[90m#x1B[39;49;00m
#x1B[1m#x1B[31mE       TypeError: BaseProtocol.__init__() missing 1 required positional argument: 'parser'#x1B[0m

loop       = <ProactorEventLoop running=False closed=False debug=False>

#x1B[1m#x1B[31mtests\test_base_protocol.py#x1B[0m:148: TypeError
tests.test_base_protocol::test_resume_reading_no_transport

Flake rate in main: 8.82% (Passed 62 times, Failed 6 times)

Stack Traces | 0.005s run time
#x1B[0m#x1B[94masync#x1B[39;49;00m #x1B[94mdef#x1B[39;49;00m#x1B[90m #x1B[39;49;00m#x1B[92mtest_resume_reading_no_transport#x1B[39;49;00m() -> #x1B[94mNone#x1B[39;49;00m:#x1B[90m#x1B[39;49;00m
        loop = asyncio.get_event_loop()#x1B[90m#x1B[39;49;00m
>       pr = BaseProtocol(loop)#x1B[90m#x1B[39;49;00m
             ^^^^^^^^^^^^^^^^^^#x1B[90m#x1B[39;49;00m
#x1B[1m#x1B[31mE       TypeError: BaseProtocol.__init__() missing 1 required positional argument: 'parser'#x1B[0m

loop       = <ProactorEventLoop running=False closed=False debug=False>

#x1B[1m#x1B[31mtests\test_base_protocol.py#x1B[0m:47: TypeError
tests.test_base_protocol::test_resume_reading_stub_transport

Flake rate in main: 4.77% (Passed 479 times, Failed 24 times)

Stack Traces | 0.005s run time
#x1B[0m#x1B[94masync#x1B[39;49;00m #x1B[94mdef#x1B[39;49;00m#x1B[90m #x1B[39;49;00m#x1B[92mtest_resume_reading_stub_transport#x1B[39;49;00m() -> #x1B[94mNone#x1B[39;49;00m:#x1B[90m#x1B[39;49;00m
        loop = asyncio.get_event_loop()#x1B[90m#x1B[39;49;00m
>       pr = BaseProtocol(loop)#x1B[90m#x1B[39;49;00m
             ^^^^^^^^^^^^^^^^^^#x1B[90m#x1B[39;49;00m
#x1B[1m#x1B[31mE       TypeError: BaseProtocol.__init__() missing 1 required positional argument: 'parser'#x1B[0m

loop       = <ProactorEventLoop running=False closed=False debug=False>

#x1B[1m#x1B[31mtests\test_base_protocol.py#x1B[0m:55: TypeError
tests.test_base_protocol::test_resume_writing_no_waiters

Flake rate in main: 8.82% (Passed 62 times, Failed 6 times)

Stack Traces | 0.005s run time
#x1B[0m#x1B[94masync#x1B[39;49;00m #x1B[94mdef#x1B[39;49;00m#x1B[90m #x1B[39;49;00m#x1B[92mtest_resume_writing_no_waiters#x1B[39;49;00m() -> #x1B[94mNone#x1B[39;49;00m:#x1B[90m#x1B[39;49;00m
        loop = asyncio.get_event_loop()#x1B[90m#x1B[39;49;00m
>       pr = BaseProtocol(loop=loop)#x1B[90m#x1B[39;49;00m
             ^^^^^^^^^^^^^^^^^^^^^^^#x1B[90m#x1B[39;49;00m
#x1B[1m#x1B[31mE       TypeError: BaseProtocol.__init__() missing 1 required positional argument: 'parser'#x1B[0m

loop       = <ProactorEventLoop running=False closed=False debug=False>

#x1B[1m#x1B[31mtests\test_base_protocol.py#x1B[0m:65: TypeError
tests.test_base_protocol::test_resume_writing_waiter_done

Flake rate in main: 8.82% (Passed 62 times, Failed 6 times)

Stack Traces | 0.006s run time
#x1B[0m#x1B[94masync#x1B[39;49;00m #x1B[94mdef#x1B[39;49;00m#x1B[90m #x1B[39;49;00m#x1B[92mtest_resume_writing_waiter_done#x1B[39;49;00m() -> #x1B[94mNone#x1B[39;49;00m:#x1B[90m#x1B[39;49;00m
        loop = asyncio.get_event_loop()#x1B[90m#x1B[39;49;00m
>       pr = BaseProtocol(loop=loop)#x1B[90m#x1B[39;49;00m
             ^^^^^^^^^^^^^^^^^^^^^^^#x1B[90m#x1B[39;49;00m
#x1B[1m#x1B[31mE       TypeError: BaseProtocol.__init__() missing 1 required positional argument: 'parser'#x1B[0m

loop       = <ProactorEventLoop running=False closed=False debug=False>

#x1B[1m#x1B[31mtests\test_base_protocol.py#x1B[0m:74: TypeError
tests.test_benchmarks_client::test_get_request_with_251308_compressed_chunked_payload[zlib-pyloop]

Flake rate in main: 5.97% (Passed 551 times, Failed 35 times)

Stack Traces | 0.582s run time
>   #x1B[0mpyparser._payload.feed_data(body)#x1B[90m#x1B[39;49;00m


#x1B[1m#x1B[31maiohttp\_http_parser.pyx#x1B[0m:766: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
#x1B[1m#x1B[31maiohttp\http_parser.py#x1B[0m:1070: in feed_data
    #x1B[0m#x1B[96mself#x1B[39;49;00m.out.feed_data(chunk)#x1B[90m#x1B[39;49;00m
        chunk      = b'\x00\x01\x00\x01\x02\x01\x00\x01\x02\x03\x02\x01\x00\x01\x02\x03\x04\x03\x02\x01\x00\x01\x02\x03\x04\x05\x04\x03\x02...d\x1e\x1f !"#$%&\'()*+,-./012345676543210/.-,+*)(\'&%$#"! \x1f\x1e\x1d\x1c\x1b\x1a\x19\x18\x17\x16\x15\x14\x13\x12\x11'
        self       = <aiohttp.http_parser.DeflateBuffer object at 0x0000017072A4DE80>
#x1B[1m#x1B[31maiohttp\streams.py#x1B[0m:293: in feed_data
    #x1B[0m#x1B[96mself#x1B[39;49;00m._protocol.pause_reading()#x1B[90m#x1B[39;49;00m
        data       = b'\x00\x01\x00\x01\x02\x01\x00\x01\x02\x03\x02\x01\x00\x01\x02\x03\x04\x03\x02\x01\x00\x01\x02\x03\x04\x05\x04\x03\x02...d\x1e\x1f !"#$%&\'()*+,-./012345676543210/.-,+*)(\'&%$#"! \x1f\x1e\x1d\x1c\x1b\x1a\x19\x18\x17\x16\x15\x14\x13\x12\x11'
        data_len   = 262144
        self       = <StreamReader 262144 bytes e=ClientPayloadError("'aiohttp._http_parser.HttpResponseParser' object has no attribute 'pause_reading'")>
        waiter     = None
#x1B[1m#x1B[31maiohttp\client_proto.py#x1B[0m:189: in pause_reading
    #x1B[0m#x1B[96msuper#x1B[39;49;00m().pause_reading()#x1B[90m#x1B[39;49;00m
        __class__  = <class 'aiohttp.client_proto.ResponseHandler'>
        self       = <aiohttp.client_proto.ResponseHandler object at 0x000001707348F6F0>
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <aiohttp.client_proto.ResponseHandler object at 0x000001707348F6F0>

    #x1B[0m#x1B[94mdef#x1B[39;49;00m#x1B[90m #x1B[39;49;00m#x1B[92mpause_reading#x1B[39;49;00m(#x1B[96mself#x1B[39;49;00m) -> #x1B[94mNone#x1B[39;49;00m:#x1B[90m#x1B[39;49;00m
        #x1B[96mself#x1B[39;49;00m._reading_paused = #x1B[94mTrue#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
>       #x1B[96mself#x1B[39;49;00m._parser.pause_reading()#x1B[90m#x1B[39;49;00m
        ^^^^^^^^^^^^^^^^^^^^^^^^^^#x1B[90m#x1B[39;49;00m
#x1B[1m#x1B[31mE       AttributeError: 'aiohttp._http_parser.HttpResponseParser' object has no attribute 'pause_reading'#x1B[0m

self       = <aiohttp.client_proto.ResponseHandler object at 0x000001707348F6F0>

#x1B[1m#x1B[31maiohttp\base_protocol.py#x1B[0m:59: AttributeError

#x1B[33mThe above exception was the direct cause of the following exception:#x1B[0m

loop = <ProactorEventLoop running=False closed=False debug=False>
aiohttp_client = <function aiohttp_client.<locals>.go at 0x00000170729C5D20>
benchmark = <pytest_codspeed.plugin.BenchmarkFixture object at 0x00000170733DAC50>

    #x1B[0m#x1B[37m@pytest#x1B[39;49;00m.mark.usefixtures(#x1B[33m"#x1B[39;49;00m#x1B[33mparametrize_zlib_backend#x1B[39;49;00m#x1B[33m"#x1B[39;49;00m)#x1B[90m#x1B[39;49;00m
    #x1B[94mdef#x1B[39;49;00m#x1B[90m #x1B[39;49;00m#x1B[92mtest_get_request_with_251308_compressed_chunked_payload#x1B[39;49;00m(#x1B[90m#x1B[39;49;00m
        loop: asyncio.AbstractEventLoop,#x1B[90m#x1B[39;49;00m
        aiohttp_client: AiohttpClient,#x1B[90m#x1B[39;49;00m
        benchmark: BenchmarkFixture,#x1B[90m#x1B[39;49;00m
    ) -> #x1B[94mNone#x1B[39;49;00m:#x1B[90m#x1B[39;49;00m
    #x1B[90m    #x1B[39;49;00m#x1B[33m"""Benchmark compressed GET requests with a payload of 251308."""#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
        #x1B[90m# This payload compresses to 251308 bytes#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
        payload = #x1B[33mb#x1B[39;49;00m#x1B[33m"#x1B[39;49;00m#x1B[33m"#x1B[39;49;00m.join(#x1B[90m#x1B[39;49;00m
            [#x1B[90m#x1B[39;49;00m
                #x1B[96mbytes#x1B[39;49;00m((*#x1B[96mrange#x1B[39;49;00m(#x1B[94m0#x1B[39;49;00m, i), *#x1B[96mrange#x1B[39;49;00m(i, #x1B[94m0#x1B[39;49;00m, -#x1B[94m1#x1B[39;49;00m)))#x1B[90m#x1B[39;49;00m
                #x1B[94mfor#x1B[39;49;00m _ #x1B[95min#x1B[39;49;00m #x1B[96mrange#x1B[39;49;00m(#x1B[94m255#x1B[39;49;00m)#x1B[90m#x1B[39;49;00m
                #x1B[94mfor#x1B[39;49;00m i #x1B[95min#x1B[39;49;00m #x1B[96mrange#x1B[39;49;00m(#x1B[94m255#x1B[39;49;00m)#x1B[90m#x1B[39;49;00m
            ]#x1B[90m#x1B[39;49;00m
        )#x1B[90m#x1B[39;49;00m
    #x1B[90m#x1B[39;49;00m
        #x1B[94masync#x1B[39;49;00m #x1B[94mdef#x1B[39;49;00m#x1B[90m #x1B[39;49;00m#x1B[92mhandler#x1B[39;49;00m(request: web.Request) -> web.Response:#x1B[90m#x1B[39;49;00m
            resp = web.Response(body=payload, zlib_executor_size=#x1B[94m16384#x1B[39;49;00m)#x1B[90m#x1B[39;49;00m
            resp.enable_compression()#x1B[90m#x1B[39;49;00m
            #x1B[94mreturn#x1B[39;49;00m resp#x1B[90m#x1B[39;49;00m
    #x1B[90m#x1B[39;49;00m
        app = web.Application()#x1B[90m#x1B[39;49;00m
        app.router.add_route(#x1B[33m"#x1B[39;49;00m#x1B[33mGET#x1B[39;49;00m#x1B[33m"#x1B[39;49;00m, #x1B[33m"#x1B[39;49;00m#x1B[33m/#x1B[39;49;00m#x1B[33m"#x1B[39;49;00m, handler)#x1B[90m#x1B[39;49;00m
    #x1B[90m#x1B[39;49;00m
        #x1B[94masync#x1B[39;49;00m #x1B[94mdef#x1B[39;49;00m#x1B[90m #x1B[39;49;00m#x1B[92mrun_client_benchmark#x1B[39;49;00m() -> #x1B[94mNone#x1B[39;49;00m:#x1B[90m#x1B[39;49;00m
            client = #x1B[94mawait#x1B[39;49;00m aiohttp_client(app)#x1B[90m#x1B[39;49;00m
            resp = #x1B[94mawait#x1B[39;49;00m client.get(#x1B[33m"#x1B[39;49;00m#x1B[33m/#x1B[39;49;00m#x1B[33m"#x1B[39;49;00m)#x1B[90m#x1B[39;49;00m
            #x1B[94mawait#x1B[39;49;00m resp.read()#x1B[90m#x1B[39;49;00m
            #x1B[94mawait#x1B[39;49;00m client.close()#x1B[90m#x1B[39;49;00m
    #x1B[90m#x1B[39;49;00m
>       #x1B[37m@benchmark#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
         ^^^^^^^^^#x1B[90m#x1B[39;49;00m

aiohttp_client = <function aiohttp_client.<locals>.go at 0x00000170729C5D20>
app        = <Application 0x170729c7690>
benchmark  = <pytest_codspeed.plugin.BenchmarkFixture object at 0x00000170733DAC50>
handler    = <function test_get_request_with_251308_compressed_chunked_payload.<locals>.handler at 0x00000170729C5B10>
loop       = <ProactorEventLoop running=False closed=False debug=False>
payload    = b'\x00\x01\x00\x01\x02\x01\x00\x01\x02\x03\x02\x01\x00\x01\x02\x03\x04\x03\x02\x01\x00\x01\x02\x03\x04\x05\x04\x03\x02...\x1f\x1e\x1d\x1c\x1b\x1a\x19\x18\x17\x16\x15\x14\x13\x12\x11\x10\x0f\x0e\r\x0c\x0b\n\t\x08\x07\x06\x05\x04\x03\x02\x01'
run_client_benchmark = <function test_get_request_with_251308_compressed_chunked_payload.<locals>.run_client_benchmark at 0x00000170729C6F00>

#x1B[1m#x1B[31mtests\test_benchmarks_client.py#x1B[0m:269: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
#x1B[1m#x1B[31mC:\hostedtoolcache\windows\Python\3.14.2\x64\Lib\site-packages\pytest_codspeed\plugin.py#x1B[0m:349: in __call__
    #x1B[0m#x1B[94mreturn#x1B[39;49;00m target(*args, **kwargs)#x1B[90m#x1B[39;49;00m
           ^^^^^^^^^^^^^^^^^^^^^^^#x1B[90m#x1B[39;49;00m
        args       = ()
        kwargs     = {}
        self       = <pytest_codspeed.plugin.BenchmarkFixture object at 0x00000170733DAC50>
        target     = <function test_get_request_with_251308_compressed_chunked_payload.<locals>._run at 0x00000170729C7530>
#x1B[1m#x1B[31mtests\test_benchmarks_client.py#x1B[0m:271: in _run
    #x1B[0mloop.run_until_complete(run_client_benchmark())#x1B[90m#x1B[39;49;00m
        loop       = <ProactorEventLoop running=False closed=False debug=False>
        run_client_benchmark = <function test_get_request_with_251308_compressed_chunked_payload.<locals>.run_client_benchmark at 0x00000170729C6F00>
#x1B[1m#x1B[31mC:\hostedtoolcache\windows\Python\3.14.2\x64\Lib\asyncio\base_events.py#x1B[0m:719: in run_until_complete
    #x1B[0m#x1B[94mreturn#x1B[39;49;00m future.result()#x1B[90m#x1B[39;49;00m
           ^^^^^^^^^^^^^^^#x1B[90m#x1B[39;49;00m
        future     = <Task finished name='Task-1071' coro=<test_get_request_with_251308_compressed_chunked_payload.<locals>.run_client_benc...263> exception=ClientPayloadError("'aiohttp._http_parser.HttpResponseParser' object has no attribute 'pause_reading'")>
        new_task   = True
        self       = <ProactorEventLoop running=False closed=False debug=False>
#x1B[1m#x1B[31mtests\test_benchmarks_client.py#x1B[0m:266: in run_client_benchmark
    #x1B[0m#x1B[94mawait#x1B[39;49;00m resp.read()#x1B[90m#x1B[39;49;00m
        aiohttp_client = <function aiohttp_client.<locals>.go at 0x00000170729C5D20>
        app        = <Application 0x170729c7690>
        client     = <aiohttp.test_utils.TestClient object at 0x00000170733DA150>
        resp       = <ClientResponse(http://127.0.0.1:61049/) [200 OK]>
<CIMultiDictProxy('Content-Length': '250588', 'Content-Encoding': '...': 'application/octet-stream', 'Date': 'Fri, 16 Jan 2026 01:23:44 GMT', 'Server': 'Python/3.14 aiohttp/4.0.0a2.dev0')>

#x1B[1m#x1B[31maiohttp\client_reqrep.py#x1B[0m:592: in read
    #x1B[0m#x1B[96mself#x1B[39;49;00m._body = #x1B[94mawait#x1B[39;49;00m #x1B[96mself#x1B[39;49;00m.content.read()#x1B[90m#x1B[39;49;00m
                 ^^^^^^^^^^^^^^^^^^^^^^^^^#x1B[90m#x1B[39;49;00m
        self       = <ClientResponse(http://127.0.0.1:61049/) [200 OK]>
<CIMultiDictProxy('Content-Length': '250588', 'Content-Encoding': '...': 'application/octet-stream', 'Date': 'Fri, 16 Jan 2026 01:23:44 GMT', 'Server': 'Python/3.14 aiohttp/4.0.0a2.dev0')>

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <StreamReader 262144 bytes e=ClientPayloadError("'aiohttp._http_parser.HttpResponseParser' object has no attribute 'pause_reading'")>
n = -1

    #x1B[0m#x1B[94masync#x1B[39;49;00m #x1B[94mdef#x1B[39;49;00m#x1B[90m #x1B[39;49;00m#x1B[92mread#x1B[39;49;00m(#x1B[96mself#x1B[39;49;00m, n: #x1B[96mint#x1B[39;49;00m = -#x1B[94m1#x1B[39;49;00m) -> #x1B[96mbytes#x1B[39;49;00m:#x1B[90m#x1B[39;49;00m
        #x1B[94mif#x1B[39;49;00m #x1B[96mself#x1B[39;49;00m._exception #x1B[95mis#x1B[39;49;00m #x1B[95mnot#x1B[39;49;00m #x1B[94mNone#x1B[39;49;00m:#x1B[90m#x1B[39;49;00m
>           #x1B[94mraise#x1B[39;49;00m #x1B[96mself#x1B[39;49;00m._exception#x1B[90m#x1B[39;49;00m
#x1B[1m#x1B[31mE           aiohttp.client_exceptions.ClientPayloadError: 'aiohttp._http_parser.HttpResponseParser' object has no attribute 'pause_reading'#x1B[0m

n          = -1
self       = <StreamReader 262144 bytes e=ClientPayloadError("'aiohttp._http_parser.HttpResponseParser' object has no attribute 'pause_reading'")>

#x1B[1m#x1B[31maiohttp\streams.py#x1B[0m:405: ClientPayloadError
tests.test_benchmarks_client::test_get_request_with_251308_compressed_chunked_payload[zlib_ng.zlib_ng-pyloop]

Flake rate in main: 5.97% (Passed 551 times, Failed 35 times)

Stack Traces | 0.595s run time
>   #x1B[0mpyparser._payload.feed_data(body)#x1B[90m#x1B[39;49;00m


#x1B[1m#x1B[31maiohttp\_http_parser.pyx#x1B[0m:766: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
#x1B[1m#x1B[31maiohttp\http_parser.py#x1B[0m:1070: in feed_data
    #x1B[0m#x1B[96mself#x1B[39;49;00m.out.feed_data(chunk)#x1B[90m#x1B[39;49;00m
        chunk      = b'\x00\x01\x00\x01\x02\x01\x00\x01\x02\x03\x02\x01\x00\x01\x02\x03\x04\x03\x02\x01\x00\x01\x02\x03\x04\x05\x04\x03\x02...d\x1e\x1f !"#$%&\'()*+,-./012345676543210/.-,+*)(\'&%$#"! \x1f\x1e\x1d\x1c\x1b\x1a\x19\x18\x17\x16\x15\x14\x13\x12\x11'
        self       = <aiohttp.http_parser.DeflateBuffer object at 0x00000170734B1950>
#x1B[1m#x1B[31maiohttp\streams.py#x1B[0m:293: in feed_data
    #x1B[0m#x1B[96mself#x1B[39;49;00m._protocol.pause_reading()#x1B[90m#x1B[39;49;00m
        data       = b'\x00\x01\x00\x01\x02\x01\x00\x01\x02\x03\x02\x01\x00\x01\x02\x03\x04\x03\x02\x01\x00\x01\x02\x03\x04\x05\x04\x03\x02...d\x1e\x1f !"#$%&\'()*+,-./012345676543210/.-,+*)(\'&%$#"! \x1f\x1e\x1d\x1c\x1b\x1a\x19\x18\x17\x16\x15\x14\x13\x12\x11'
        data_len   = 262144
        self       = <StreamReader 262144 bytes e=ClientPayloadError("'aiohttp._http_parser.HttpResponseParser' object has no attribute 'pause_reading'")>
        waiter     = None
#x1B[1m#x1B[31maiohttp\client_proto.py#x1B[0m:189: in pause_reading
    #x1B[0m#x1B[96msuper#x1B[39;49;00m().pause_reading()#x1B[90m#x1B[39;49;00m
        __class__  = <class 'aiohttp.client_proto.ResponseHandler'>
        self       = <aiohttp.client_proto.ResponseHandler object at 0x000001707348CD60>
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <aiohttp.client_proto.ResponseHandler object at 0x000001707348CD60>

    #x1B[0m#x1B[94mdef#x1B[39;49;00m#x1B[90m #x1B[39;49;00m#x1B[92mpause_reading#x1B[39;49;00m(#x1B[96mself#x1B[39;49;00m) -> #x1B[94mNone#x1B[39;49;00m:#x1B[90m#x1B[39;49;00m
        #x1B[96mself#x1B[39;49;00m._reading_paused = #x1B[94mTrue#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
>       #x1B[96mself#x1B[39;49;00m._parser.pause_reading()#x1B[90m#x1B[39;49;00m
        ^^^^^^^^^^^^^^^^^^^^^^^^^^#x1B[90m#x1B[39;49;00m
#x1B[1m#x1B[31mE       AttributeError: 'aiohttp._http_parser.HttpResponseParser' object has no attribute 'pause_reading'#x1B[0m

self       = <aiohttp.client_proto.ResponseHandler object at 0x000001707348CD60>

#x1B[1m#x1B[31maiohttp\base_protocol.py#x1B[0m:59: AttributeError

#x1B[33mThe above exception was the direct cause of the following exception:#x1B[0m

loop = <ProactorEventLoop running=False closed=False debug=False>
aiohttp_client = <function aiohttp_client.<locals>.go at 0x00000170729C6610>
benchmark = <pytest_codspeed.plugin.BenchmarkFixture object at 0x00000170733D8F50>

    #x1B[0m#x1B[37m@pytest#x1B[39;49;00m.mark.usefixtures(#x1B[33m"#x1B[39;49;00m#x1B[33mparametrize_zlib_backend#x1B[39;49;00m#x1B[33m"#x1B[39;49;00m)#x1B[90m#x1B[39;49;00m
    #x1B[94mdef#x1B[39;49;00m#x1B[90m #x1B[39;49;00m#x1B[92mtest_get_request_with_251308_compressed_chunked_payload#x1B[39;49;00m(#x1B[90m#x1B[39;49;00m
        loop: asyncio.AbstractEventLoop,#x1B[90m#x1B[39;49;00m
        aiohttp_client: AiohttpClient,#x1B[90m#x1B[39;49;00m
        benchmark: BenchmarkFixture,#x1B[90m#x1B[39;49;00m
    ) -> #x1B[94mNone#x1B[39;49;00m:#x1B[90m#x1B[39;49;00m
    #x1B[90m    #x1B[39;49;00m#x1B[33m"""Benchmark compressed GET requests with a payload of 251308."""#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
        #x1B[90m# This payload compresses to 251308 bytes#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
        payload = #x1B[33mb#x1B[39;49;00m#x1B[33m"#x1B[39;49;00m#x1B[33m"#x1B[39;49;00m.join(#x1B[90m#x1B[39;49;00m
            [#x1B[90m#x1B[39;49;00m
                #x1B[96mbytes#x1B[39;49;00m((*#x1B[96mrange#x1B[39;49;00m(#x1B[94m0#x1B[39;49;00m, i), *#x1B[96mrange#x1B[39;49;00m(i, #x1B[94m0#x1B[39;49;00m, -#x1B[94m1#x1B[39;49;00m)))#x1B[90m#x1B[39;49;00m
                #x1B[94mfor#x1B[39;49;00m _ #x1B[95min#x1B[39;49;00m #x1B[96mrange#x1B[39;49;00m(#x1B[94m255#x1B[39;49;00m)#x1B[90m#x1B[39;49;00m
                #x1B[94mfor#x1B[39;49;00m i #x1B[95min#x1B[39;49;00m #x1B[96mrange#x1B[39;49;00m(#x1B[94m255#x1B[39;49;00m)#x1B[90m#x1B[39;49;00m
            ]#x1B[90m#x1B[39;49;00m
        )#x1B[90m#x1B[39;49;00m
    #x1B[90m#x1B[39;49;00m
        #x1B[94masync#x1B[39;49;00m #x1B[94mdef#x1B[39;49;00m#x1B[90m #x1B[39;49;00m#x1B[92mhandler#x1B[39;49;00m(request: web.Request) -> web.Response:#x1B[90m#x1B[39;49;00m
            resp = web.Response(body=payload, zlib_executor_size=#x1B[94m16384#x1B[39;49;00m)#x1B[90m#x1B[39;49;00m
            resp.enable_compression()#x1B[90m#x1B[39;49;00m
            #x1B[94mreturn#x1B[39;49;00m resp#x1B[90m#x1B[39;49;00m
    #x1B[90m#x1B[39;49;00m
        app = web.Application()#x1B[90m#x1B[39;49;00m
        app.router.add_route(#x1B[33m"#x1B[39;49;00m#x1B[33mGET#x1B[39;49;00m#x1B[33m"#x1B[39;49;00m, #x1B[33m"#x1B[39;49;00m#x1B[33m/#x1B[39;49;00m#x1B[33m"#x1B[39;49;00m, handler)#x1B[90m#x1B[39;49;00m
    #x1B[90m#x1B[39;49;00m
        #x1B[94masync#x1B[39;49;00m #x1B[94mdef#x1B[39;49;00m#x1B[90m #x1B[39;49;00m#x1B[92mrun_client_benchmark#x1B[39;49;00m() -> #x1B[94mNone#x1B[39;49;00m:#x1B[90m#x1B[39;49;00m
            client = #x1B[94mawait#x1B[39;49;00m aiohttp_client(app)#x1B[90m#x1B[39;49;00m
            resp = #x1B[94mawait#x1B[39;49;00m client.get(#x1B[33m"#x1B[39;49;00m#x1B[33m/#x1B[39;49;00m#x1B[33m"#x1B[39;49;00m)#x1B[90m#x1B[39;49;00m
            #x1B[94mawait#x1B[39;49;00m resp.read()#x1B[90m#x1B[39;49;00m
            #x1B[94mawait#x1B[39;49;00m client.close()#x1B[90m#x1B[39;49;00m
    #x1B[90m#x1B[39;49;00m
>       #x1B[37m@benchmark#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
         ^^^^^^^^^#x1B[90m#x1B[39;49;00m

aiohttp_client = <function aiohttp_client.<locals>.go at 0x00000170729C6610>
app        = <Application 0x170729c5bc0>
benchmark  = <pytest_codspeed.plugin.BenchmarkFixture object at 0x00000170733D8F50>
handler    = <function test_get_request_with_251308_compressed_chunked_payload.<locals>.handler at 0x00000170729C7CC0>
loop       = <ProactorEventLoop running=False closed=False debug=False>
payload    = b'\x00\x01\x00\x01\x02\x01\x00\x01\x02\x03\x02\x01\x00\x01\x02\x03\x04\x03\x02\x01\x00\x01\x02\x03\x04\x05\x04\x03\x02...\x1f\x1e\x1d\x1c\x1b\x1a\x19\x18\x17\x16\x15\x14\x13\x12\x11\x10\x0f\x0e\r\x0c\x0b\n\t\x08\x07\x06\x05\x04\x03\x02\x01'
run_client_benchmark = <function test_get_request_with_251308_compressed_chunked_payload.<locals>.run_client_benchmark at 0x00000170729C5220>

#x1B[1m#x1B[31mtests\test_benchmarks_client.py#x1B[0m:269: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
#x1B[1m#x1B[31mC:\hostedtoolcache\windows\Python\3.14.2\x64\Lib\site-packages\pytest_codspeed\plugin.py#x1B[0m:349: in __call__
    #x1B[0m#x1B[94mreturn#x1B[39;49;00m target(*args, **kwargs)#x1B[90m#x1B[39;49;00m
           ^^^^^^^^^^^^^^^^^^^^^^^#x1B[90m#x1B[39;49;00m
        args       = ()
        kwargs     = {}
        self       = <pytest_codspeed.plugin.BenchmarkFixture object at 0x00000170733D8F50>
        target     = <function test_get_request_with_251308_compressed_chunked_payload.<locals>._run at 0x00000170729C4F60>
#x1B[1m#x1B[31mtests\test_benchmarks_client.py#x1B[0m:271: in _run
    #x1B[0mloop.run_until_complete(run_client_benchmark())#x1B[90m#x1B[39;49;00m
        loop       = <ProactorEventLoop running=False closed=False debug=False>
        run_client_benchmark = <function test_get_request_with_251308_compressed_chunked_payload.<locals>.run_client_benchmark at 0x00000170729C5220>
#x1B[1m#x1B[31mC:\hostedtoolcache\windows\Python\3.14.2\x64\Lib\asyncio\base_events.py#x1B[0m:719: in run_until_complete
    #x1B[0m#x1B[94mreturn#x1B[39;49;00m future.result()#x1B[90m#x1B[39;49;00m
           ^^^^^^^^^^^^^^^#x1B[90m#x1B[39;49;00m
        future     = <Task finished name='Task-1078' coro=<test_get_request_with_251308_compressed_chunked_payload.<locals>.run_client_benc...263> exception=ClientPayloadError("'aiohttp._http_parser.HttpResponseParser' object has no attribute 'pause_reading'")>
        new_task   = True
        self       = <ProactorEventLoop running=False closed=False debug=False>
#x1B[1m#x1B[31mtests\test_benchmarks_client.py#x1B[0m:266: in run_client_benchmark
    #x1B[0m#x1B[94mawait#x1B[39;49;00m resp.read()#x1B[90m#x1B[39;49;00m
        aiohttp_client = <function aiohttp_client.<locals>.go at 0x00000170729C6610>
        app        = <Application 0x170729c5bc0>
        client     = <aiohttp.test_utils.TestClient object at 0x00000170733DAF50>
        resp       = <ClientResponse(http://127.0.0.1:61089/) [200 OK]>
<CIMultiDictProxy('Content-Length': '275644', 'Content-Encoding': '...': 'application/octet-stream', 'Date': 'Fri, 16 Jan 2026 01:23:45 GMT', 'Server': 'Python/3.14 aiohttp/4.0.0a2.dev0')>

#x1B[1m#x1B[31maiohttp\client_reqrep.py#x1B[0m:592: in read
    #x1B[0m#x1B[96mself#x1B[39;49;00m._body = #x1B[94mawait#x1B[39;49;00m #x1B[96mself#x1B[39;49;00m.content.read()#x1B[90m#x1B[39;49;00m
                 ^^^^^^^^^^^^^^^^^^^^^^^^^#x1B[90m#x1B[39;49;00m
        self       = <ClientResponse(http://127.0.0.1:61089/) [200 OK]>
<CIMultiDictProxy('Content-Length': '275644', 'Content-Encoding': '...': 'application/octet-stream', 'Date': 'Fri, 16 Jan 2026 01:23:45 GMT', 'Server': 'Python/3.14 aiohttp/4.0.0a2.dev0')>

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <StreamReader 262144 bytes e=ClientPayloadError("'aiohttp._http_parser.HttpResponseParser' object has no attribute 'pause_reading'")>
n = -1

    #x1B[0m#x1B[94masync#x1B[39;49;00m #x1B[94mdef#x1B[39;49;00m#x1B[90m #x1B[39;49;00m#x1B[92mread#x1B[39;49;00m(#x1B[96mself#x1B[39;49;00m, n: #x1B[96mint#x1B[39;49;00m = -#x1B[94m1#x1B[39;49;00m) -> #x1B[96mbytes#x1B[39;49;00m:#x1B[90m#x1B[39;49;00m
        #x1B[94mif#x1B[39;49;00m #x1B[96mself#x1B[39;49;00m._exception #x1B[95mis#x1B[39;49;00m #x1B[95mnot#x1B[39;49;00m #x1B[94mNone#x1B[39;49;00m:#x1B[90m#x1B[39;49;00m
>           #x1B[94mraise#x1B[39;49;00m #x1B[96mself#x1B[39;49;00m._exception#x1B[90m#x1B[39;49;00m
#x1B[1m#x1B[31mE           aiohttp.client_exceptions.ClientPayloadError: 'aiohttp._http_parser.HttpResponseParser' object has no attribute 'pause_reading'#x1B[0m

n          = -1
self       = <StreamReader 262144 bytes e=ClientPayloadError("'aiohttp._http_parser.HttpResponseParser' object has no attribute 'pause_reading'")>

#x1B[1m#x1B[31maiohttp\streams.py#x1B[0m:405: ClientPayloadError
tests.test_benchmarks_client::test_one_hundred_simple_get_requests[pyloop]

Flake rate in main: 5.18% (Passed 494 times, Failed 27 times)

Stack Traces | 0.291s run time
+ Exception Group Traceback (most recent call last):
  |   File "C:\hostedtoolcache\windows\Python\3.14.2\x64\Lib\site-packages\_pytest\runner.py", line 353, in from_call
  |     result: TResult | None = func()
  |                              ~~~~^^
  |   File "C:\hostedtoolcache\windows\Python\3.14.2\x64\Lib\site-packages\_pytest\runner.py", line 245, in <lambda>
  |     lambda: runtest_hook(item=item, **kwds),
  |             ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^
  |   File "C:\hostedtoolcache\windows\Python\3.14.2\x64\Lib\site-packages\pluggy\_hooks.py", line 512, in __call__
  |     return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
  |            ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  |   File "C:\hostedtoolcache\windows\Python\3.14.2\x64\Lib\site-packages\pluggy\_manager.py", line 120, in _hookexec
  |     return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
  |            ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  |   File "C:\hostedtoolcache\windows\Python\3.14.2\x64\Lib\site-packages\pluggy\_callers.py", line 167, in _multicall
  |     raise exception
  |   File "C:\hostedtoolcache\windows\Python\3.14.2\x64\Lib\site-packages\pluggy\_callers.py", line 139, in _multicall
  |     teardown.throw(exception)
  |     ~~~~~~~~~~~~~~^^^^^^^^^^^
  |   File "C:\hostedtoolcache\windows\Python\3.14.2\x64\Lib\site-packages\_pytest\logging.py", line 858, in pytest_runtest_teardown
  |     yield
  |   File "C:\hostedtoolcache\windows\Python\3.14.2\x64\Lib\site-packages\pluggy\_callers.py", line 139, in _multicall
  |     teardown.throw(exception)
  |     ~~~~~~~~~~~~~~^^^^^^^^^^^
  |   File "C:\hostedtoolcache\windows\Python\3.14.2\x64\Lib\site-packages\_pytest\capture.py", line 905, in pytest_runtest_teardown
  |     return (yield)
  |             ^^^^^
  |   File "C:\hostedtoolcache\windows\Python\3.14.2\x64\Lib\site-packages\pluggy\_callers.py", line 121, in _multicall
  |     res = hook_impl.function(*args)
  |   File "C:\hostedtoolcache\windows\Python\3.14.2\x64\Lib\site-packages\_pytest\unraisableexception.py", line 163, in pytest_runtest_teardown
  |     collect_unraisable(item.config)
  |     ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^
  |   File "C:\hostedtoolcache\windows\Python\3.14.2\x64\Lib\site-packages\_pytest\unraisableexception.py", line 81, in collect_unraisable
  |     raise ExceptionGroup("multiple unraisable exception warnings", errors)
  | ExceptionGroup: multiple unraisable exception warnings (60 sub-exceptions)
  +-+---------------- 1 ----------------
    | Traceback (most recent call last):
    |   File "D:\a\aiohttp\aiohttp\aiohttp\test_utils.py", line 596, in teardown_test_loop
    |     gc.collect()
    |     ~~~~~~~~~~^^
    | ResourceWarning: unclosed <socket.socket fd=1164, family=2, type=1, proto=0, laddr=('127.0.0.1', 60768), raddr=('127.0.0.1', 60769)>
    | 
    | The above exception was the direct cause of the following exception:
    | 
    | Traceback (most recent call last):
    |   File "C:\hostedtoolcache\windows\Python\3.14.2\x64\Lib\site-packages\_pytest\unraisableexception.py", line 67, in collect_unraisable
    |     warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))
    |     ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    | pytest.PytestUnraisableExceptionWarning: Exception ignored while finalizing socket <socket.socket fd=1164, family=2, type=1, proto=0, laddr=('127.0.0.1', 60768), raddr=('127.0.0.1', 60769)>: None
    | 
    +---------------- 2 ----------------
    | Traceback (most recent call last):
    |   File "D:\a\aiohttp\aiohttp\aiohttp\test_utils.py", line 596, in teardown_test_loop
    |     gc.collect()
    |     ~~~~~~~~~~^^
    | ResourceWarning: unclosed <socket.socket fd=1160, family=2, type=1, proto=0, laddr=('127.0.0.1', 60769), raddr=('127.0.0.1', 60768)>
    | 
    | The above exception was the direct cause of the following exception:
    | 
    | Traceback (most recent call last):
    |   File "C:\hostedtoolcache\windows\Python\3.14.2\x64\Lib\site-packages\_pytest\unraisableexception.py", line 67, in collect_unraisable
    |     warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))
    |     ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    | pytest.PytestUnraisableExceptionWarning: Exception ignored while finalizing socket <socket.socket fd=1160, family=2, type=1, proto=0, laddr=('127.0.0.1', 60769), raddr=('127.0.0.1', 60768)>: None
    | 
    +---------------- 3 ----------------
    | Traceback (most recent call last):
    |   File "C:\hostedtoolcache\windows\Python\3.14.2\x64\Lib\asyncio\base_events.py", line 758, in __del__
    |     _warn(f"unclosed event loop {self!r}", ResourceWarning, source=self)
    |     ~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    | ResourceWarning: unclosed event loop <ProactorEventLoop running=False closed=False debug=False>
    | 
    | The above exception was the direct cause of the following exception:
    | 
    | Traceback (most recent call last):
    |   File "C:\hostedtoolcache\windows\Python\3.14.2\x64\Lib\site-packages\_pytest\unraisableexception.py", line 67, in collect_unraisable
    |     warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))
    |     ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    | pytest.PytestUnraisableExceptionWarning: Exception ignored while calling deallocator <function BaseEventLoop.__del__ at 0x000001706D20D850>: None
    | 
    +---------------- 4 ----------------
    | Traceback (most recent call last):
    |   File "D:\a\aiohttp\aiohttp\aiohttp\test_utils.py", line 596, in teardown_test_loop
    |     gc.collect()
    |     ~~~~~~~~~~^^
    | ResourceWarning: unclosed <socket.socket fd=1152, family=2, type=1, proto=0, laddr=('127.0.0.1', 60766), raddr=('127.0.0.1', 60767)>
    | 
    | The above exception was the direct cause of the following exception:
    | 
    | Traceback (most recent call last):
    |   File "C:\hostedtoolcache\windows\Python\3.14.2\x64\Lib\site-packages\_pytest\unraisableexception.py", line 67, in collect_unraisable
    |     warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))
    |     ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    | pytest.PytestUnraisableExceptionWarning: Exception ignored while finalizing socket <socket.socket fd=1152, family=2, type=1, proto=0, laddr=('127.0.0.1', 60766), raddr=('127.0.0.1', 60767)>: None
    | 
    +---------------- 5 ----------------
    | Traceback (most recent call last):
    |   File "D:\a\aiohttp\aiohttp\aiohttp\test_utils.py", line 596, in teardown_test_loop
    |     gc.collect()
    |     ~~~~~~~~~~^^
    | ResourceWarning: unclosed <socket.socket fd=1148, family=2, type=1, proto=0, laddr=('127.0.0.1', 60767), raddr=('127.0.0.1', 60766)>
    | 
    | The above exception was the direct cause of the following exception:
    | 
    | Traceback (most recent call last):
    |   File "C:\hostedtoolcache\windows\Python\3.14.2\x64\Lib\site-packages\_pytest\unraisableexception.py", line 67, in collect_unraisable
    |     warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))
    |     ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    | pytest.PytestUnraisableExceptionWarning: Exception ignored while finalizing socket <socket.socket fd=1148, family=2, type=1, proto=0, laddr=('127.0.0.1', 60767), raddr=('127.0.0.1', 60766)>: None
    | 
    +---------------- 6 ----------------
    | Traceback (most recent call last):
    |   File "C:\hostedtoolcache\windows\Python\3.14.2\x64\Lib\asyncio\base_events.py", line 758, in __del__
    |     _warn(f"unclosed event loop {self!r}", ResourceWarning, source=self)
    |     ~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    | ResourceWarning: unclosed event loop <ProactorEventLoop running=False closed=False debug=False>
    | 
    | The above exception was the direct cause of the following exception:
    | 
    | Traceback (most recent call last):
    |   File "C:\hostedtoolcache\windows\Python\3.14.2\x64\Lib\site-packages\_pytest\unraisableexception.py", line 67, in collect_unraisable
    |     warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))
    |     ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    | pytest.PytestUnraisableExceptionWarning: Exception ignored while calling deallocator <function BaseEventLoop.__del__ at 0x000001706D20D850>: None
    | 
    +---------------- 7 ----------------
    | Traceback (most recent call last):
    |   File "D:\a\aiohttp\aiohttp\aiohttp\test_utils.py", line 596, in teardown_test_loop
    |     gc.collect()
    |     ~~~~~~~~~~^^
    | ResourceWarning: unclosed <socket.socket fd=1124, family=2, type=1, proto=0, laddr=('127.0.0.1', 60762), raddr=('127.0.0.1', 60763)>
    | 
    | The above exception was the direct cause of the following exception:
    | 
    | Traceback (most recent call last):
    |   File "C:\hostedtoolcache\windows\Python\3.14.2\x64\Lib\site-packages\_pytest\unraisableexception.py", line 67, in collect_unraisable
    |     warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))
    |     ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    | pytest.PytestUnraisableExceptionWarning: Exception ignored while finalizing socket <socket.socket fd=1124, family=2, type=1, proto=0, laddr=('127.0.0.1', 60762), raddr=('127.0.0.1', 60763)>: None
    | 
    +---------------- 8 ----------------
    | Traceback (most recent call last):
    |   File "D:\a\aiohttp\aiohttp\aiohttp\test_utils.py", line 596, in teardown_test_loop
    |     gc.collect()
    |     ~~~~~~~~~~^^
    | ResourceWarning: unclosed <socket.socket fd=1140, family=2, type=1, proto=0, laddr=('127.0.0.1', 60763), raddr=('127.0.0.1', 60762)>
    | 
    | The above exception was the direct cause of the following exception:
    | 
    | Traceback (most recent call last):
    |   File "C:\hostedtoolcache\windows\Python\3.14.2\x64\Lib\site-packages\_pytest\unraisableexception.py", line 67, in collect_unraisable
    |     warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))
    |     ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    | pytest.PytestUnraisableExceptionWarning: Exception ignored while finalizing socket <socket.socket fd=1140, family=2, type=1, proto=0, laddr=('127.0.0.1', 60763), raddr=('127.0.0.1', 60762)>: None
    | 
    +---------------- 9 ----------------
    | Traceback (most recent call last):
    |   File "C:\hostedtoolcache\windows\Python\3.14.2\x64\Lib\asyncio\base_events.py", line 758, in __del__
    |     _warn(f"unclosed event loop {self!r}", ResourceWarning, source=self)
    |     ~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    | ResourceWarning: unclosed event loop <ProactorEventLoop running=False closed=False debug=False>
    | 
    | The above exception was the direct cause of the following exception:
    | 
    | Traceback (most recent call last):
    |   File "C:\hostedtoolcache\windows\Python\3.14.2\x64\Lib\site-packages\_pytest\unraisableexception.py", line 67, in collect_unraisable
    |     warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))
    |     ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    | pytest.PytestUnraisableExceptionWarning: Exception ignored while calling deallocator <function BaseEventLoop.__del__ at 0x000001706D20D850>: None
    | 
    +---------------- 10 ----------------
    | Traceback (most recent call last):
    |   File "D:\a\aiohttp\aiohttp\aiohttp\test_utils.py", line 596, in teardown_test_loop
    |     gc.collect()
    |     ~~~~~~~~~~^^
    | ResourceWarning: unclosed <socket.socket fd=1136, family=2, type=1, proto=0, laddr=('127.0.0.1', 60758), raddr=('127.0.0.1', 60759)>
    | 
    | The above exception was the direct cause of the following exception:
    | 
    | Traceback (most recent call last):
    |   File "C:\hostedtoolcache\windows\Python\3.14.2\x64\Lib\site-packages\_pytest\unraisableexception.py", line 67, in collect_unraisable
    |     warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))
    |     ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    | pytest.PytestUnraisableExceptionWarning: Exception ignored while finalizing socket <socket.socket fd=1136, family=2, type=1, proto=0, laddr=('127.0.0.1', 60758), raddr=('127.0.0.1', 60759)>: None
    | 
    +---------------- 11 ----------------
    | Traceback (most recent call last):
    |   File "D:\a\aiohttp\aiohttp\aiohttp\test_utils.py", line 596, in teardown_test_loop
    |     gc.collect()
    |     ~~~~~~~~~~^^
    | ResourceWarning: unclosed <socket.socket fd=1132, family=2, type=1, proto=0, laddr=('127.0.0.1', 60759), raddr=('127.0.0.1', 60758)>
    | 
    | The above exception was the direct cause of the following exception:
    | 
    | Traceback (most recent call last):
    |   File "C:\hostedtoolcache\windows\Python\3.14.2\x64\Lib\site-packages\_pytest\unraisableexception.py", line 67, in collect_unraisable
    |     warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))
    |     ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    | pytest.PytestUnraisableExceptionWarning: Exception ignored while finalizing socket <socket.socket fd=1132, family=2, type=1, proto=0, laddr=('127.0.0.1', 60759), raddr=('127.0.0.1', 60758)>: None
    | 
    +---------------- 12 ----------------
    | Traceback (most recent call last):
    |   File "C:\hostedtoolcache\windows\Python\3.14.2\x64\Lib\asyncio\base_events.py", line 758, in __del__
    |     _warn(f"unclosed event loop {self!r}", ResourceWarning, source=self)
    |     ~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    | ResourceWarning: unclosed event loop <ProactorEventLoop running=False closed=False debug=False>
    | 
    | The above exception was the direct cause of the following exception:
    | 
    | Traceback (most recent call last):
    |   File "C:\hostedtoolcache\windows\Python\3.14.2\x64\Lib\site-packages\_pytest\unraisableexception.py", line 67, in collect_unraisable
    |     warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))
    |     ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    | pytest.PytestUnraisableExceptionWarning: Exception ignored while calling deallocator <function BaseEventLoop.__del__ at 0x000001706D20D850>: None
    | 
    +---------------- 13 ----------------
    | Traceback (most recent call last):
    |   File "D:\a\aiohttp\aiohttp\aiohttp\test_utils.py", line 596, in teardown_test_loop
    |     gc.collect()
    |     ~~~~~~~~~~^^
    | ResourceWarning: unclosed <socket.socket fd=1116, family=2, type=1, proto=0, laddr=('127.0.0.1', 60752), raddr=('127.0.0.1', 60753)>
    | 
    | The above exception was the direct cause of the following exception:
    | 
    | Traceback (most recent call last):
    |   File "C:\hostedtoolcache\windows\Python\3.14.2\x64\Lib\site-packages\_pytest\unraisableexception.py", line 67, in collect_unraisable
    |     warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))
    |     ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    | pytest.PytestUnraisableExceptionWarning: Exception ignored while finalizing socket <socket.socket fd=1116, family=2, type=1, proto=0, laddr=('127.0.0.1', 60752), raddr=('127.0.0.1', 60753)>: None
    | 
    +---------------- 14 ----------------
    | Traceback (most recent call last):
    |   File "D:\a\aiohttp\aiohttp\aiohttp\test_utils.py", line 596, in teardown_test_loop
    |     gc.collect()
    |     ~~~~~~~~~~^^
    | ResourceWarning: unclosed <socket.socket fd=1112, family=2, type=1, proto=0, laddr=('127.0.0.1', 60753), raddr=('127.0.0.1', 60752)>
    | 
    | The above exception was the direct cause of the following exception:
    | 
    | Traceback (most recent call last):
    |   File "C:\hostedtoolcache\windows\Python\3.14.2\x64\Lib\site-packages\_pytest\unraisableexception.py", line 67, in collect_unraisable
    |     warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))
    |     ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    | pytest.PytestUnraisableExceptionWarning: Exception ignored while finalizing socket <socket.socket fd=1112, family=2, type=1, proto=0, laddr=('127.0.0.1', 60753), raddr=('127.0.0.1', 60752)>: None
    | 
    +---------------- 15 ----------------
    | Traceback (most recent call last):
    |   File "C:\hostedtoolcache\windows\Python\3.14.2\x64\Lib\asyncio\base_events.py", line 758, in __del__
    |     _warn(f"unclosed event loop {self!r}", ResourceWarning, source=self)
    |     ~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    | ResourceWarning: unclosed event loop <ProactorEventLoop running=False closed=False debug=False>
    | 
    | The above exception was the direct cause of the following exception:
    | 
    | Traceback (most recent call last):
    |   File "C:\hostedtoolcache\windows\Python\3.14.2\x64\Lib\site-packages\_pytest\unraisableexception.py", line 67, in collect_unraisable
    |     warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))
    |     ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    | pytest.PytestUnraisableExceptionWarning: Exception ignored while calling deallocator <function BaseEventLoop.__del__ at 0x000001706D20D850>: None
    | 
    +---------------- ... ----------------
    | and 45 more exceptions
    +------------------------------------
tests.test_benchmarks_client_ws::test_client_send_large_websocket_compressed_messages[zlib-pyloop]

Flake rate in main: 8.33% (Passed 11 times, Failed 1 times)

Stack Traces | 0.165s run time
loop = <ProactorEventLoop running=False closed=False debug=False>
aiohttp_client = <function aiohttp_client.<locals>.go at 0x00000170729C5430>
benchmark = <pytest_codspeed.plugin.BenchmarkFixture object at 0x0000017071A64360>

    #x1B[0m#x1B[37m@pytest#x1B[39;49;00m.mark.usefixtures(#x1B[33m"#x1B[39;49;00m#x1B[33mparametrize_zlib_backend#x1B[39;49;00m#x1B[33m"#x1B[39;49;00m)#x1B[90m#x1B[39;49;00m
    #x1B[94mdef#x1B[39;49;00m#x1B[90m #x1B[39;49;00m#x1B[92mtest_client_send_large_websocket_compressed_messages#x1B[39;49;00m(#x1B[90m#x1B[39;49;00m
        loop: asyncio.AbstractEventLoop,#x1B[90m#x1B[39;49;00m
        aiohttp_client: AiohttpClient,#x1B[90m#x1B[39;49;00m
        benchmark: BenchmarkFixture,#x1B[90m#x1B[39;49;00m
    ) -> #x1B[94mNone#x1B[39;49;00m:#x1B[90m#x1B[39;49;00m
    #x1B[90m    #x1B[39;49;00m#x1B[33m"""Benchmark send of compressed WebSocket binary messages."""#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
        message_count = #x1B[94m10#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
        raw_message = #x1B[33mb#x1B[39;49;00m#x1B[33m"#x1B[39;49;00m#x1B[33mx#x1B[39;49;00m#x1B[33m"#x1B[39;49;00m * #x1B[94m2#x1B[39;49;00m**#x1B[94m19#x1B[39;49;00m  #x1B[90m# 512 KiB#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
    #x1B[90m#x1B[39;49;00m
        #x1B[94masync#x1B[39;49;00m #x1B[94mdef#x1B[39;49;00m#x1B[90m #x1B[39;49;00m#x1B[92mhandler#x1B[39;49;00m(request: web.Request) -> web.WebSocketResponse:#x1B[90m#x1B[39;49;00m
            ws = web.WebSocketResponse()#x1B[90m#x1B[39;49;00m
            #x1B[94mawait#x1B[39;49;00m ws.prepare(request)#x1B[90m#x1B[39;49;00m
            #x1B[94mfor#x1B[39;49;00m _ #x1B[95min#x1B[39;49;00m #x1B[96mrange#x1B[39;49;00m(message_count):#x1B[90m#x1B[39;49;00m
                #x1B[94mawait#x1B[39;49;00m ws.receive()#x1B[90m#x1B[39;49;00m
            #x1B[94mawait#x1B[39;49;00m ws.close()#x1B[90m#x1B[39;49;00m
            #x1B[94mreturn#x1B[39;49;00m ws#x1B[90m#x1B[39;49;00m
    #x1B[90m#x1B[39;49;00m
        app = web.Application()#x1B[90m#x1B[39;49;00m
        app.router.add_route(#x1B[33m"#x1B[39;49;00m#x1B[33mGET#x1B[39;49;00m#x1B[33m"#x1B[39;49;00m, #x1B[33m"#x1B[39;49;00m#x1B[33m/#x1B[39;49;00m#x1B[33m"#x1B[39;49;00m, handler)#x1B[90m#x1B[39;49;00m
    #x1B[90m#x1B[39;49;00m
        #x1B[94masync#x1B[39;49;00m #x1B[94mdef#x1B[39;49;00m#x1B[90m #x1B[39;49;00m#x1B[92mrun_websocket_benchmark#x1B[39;49;00m() -> #x1B[94mNone#x1B[39;49;00m:#x1B[90m#x1B[39;49;00m
            client = #x1B[94mawait#x1B[39;49;00m aiohttp_client(app)#x1B[90m#x1B[39;49;00m
            resp = #x1B[94mawait#x1B[39;49;00m client.ws_connect(#x1B[33m"#x1B[39;49;00m#x1B[33m/#x1B[39;49;00m#x1B[33m"#x1B[39;49;00m, compress=#x1B[94m15#x1B[39;49;00m)#x1B[90m#x1B[39;49;00m
            #x1B[94mfor#x1B[39;49;00m _ #x1B[95min#x1B[39;49;00m #x1B[96mrange#x1B[39;49;00m(message_count):#x1B[90m#x1B[39;49;00m
                #x1B[94mawait#x1B[39;49;00m resp.send_bytes(raw_message)#x1B[90m#x1B[39;49;00m
            #x1B[94mawait#x1B[39;49;00m resp.close()#x1B[90m#x1B[39;49;00m
    #x1B[90m#x1B[39;49;00m
>       #x1B[37m@benchmark#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
         ^^^^^^^^^#x1B[90m#x1B[39;49;00m

aiohttp_client = <function aiohttp_client.<locals>.go at 0x00000170729C5430>
app        = <Application 0x170729c7d70>
benchmark  = <pytest_codspeed.plugin.BenchmarkFixture object at 0x0000017071A64360>
handler    = <function test_client_send_large_websocket_compressed_messages.<locals>.handler at 0x00000170729C77F0>
loop       = <ProactorEventLoop running=False closed=False debug=False>
message_count = 10
raw_message = b'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx...xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
run_websocket_benchmark = <function test_client_send_large_websocket_compressed_messages.<locals>.run_websocket_benchmark at 0x00000170729C75E0>

#x1B[1m#x1B[31mtests\test_benchmarks_client_ws.py#x1B[0m:138: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
#x1B[1m#x1B[31mC:\hostedtoolcache\windows\Python\3.14.2\x64\Lib\site-packages\pytest_codspeed\plugin.py#x1B[0m:349: in __call__
    #x1B[0m#x1B[94mreturn#x1B[39;49;00m target(*args, **kwargs)#x1B[90m#x1B[39;49;00m
           ^^^^^^^^^^^^^^^^^^^^^^^#x1B[90m#x1B[39;49;00m
        args       = ()
        kwargs     = {}
        self       = <pytest_codspeed.plugin.BenchmarkFixture object at 0x0000017071A64360>
        target     = <function test_client_send_large_websocket_compressed_messages.<locals>._run at 0x00000170729C5DD0>
#x1B[1m#x1B[31mtests\test_benchmarks_client_ws.py#x1B[0m:140: in _run
    #x1B[0mloop.run_until_complete(run_websocket_benchmark())#x1B[90m#x1B[39;49;00m
        loop       = <ProactorEventLoop running=False closed=False debug=False>
        run_websocket_benchmark = <function test_client_send_large_websocket_compressed_messages.<locals>.run_websocket_benchmark at 0x00000170729C75E0>
#x1B[1m#x1B[31mC:\hostedtoolcache\windows\Python\3.14.2\x64\Lib\asyncio\base_events.py#x1B[0m:719: in run_until_complete
    #x1B[0m#x1B[94mreturn#x1B[39;49;00m future.result()#x1B[90m#x1B[39;49;00m
           ^^^^^^^^^^^^^^^#x1B[90m#x1B[39;49;00m
        future     = <Task finished name='Task-1914' coro=<test_client_send_large_websocket_compressed_messages.<locals>.run_websocket_benc...http\tests\test_benchmarks_client_ws.py:131> exception=ClientConnectionResetError('Cannot write to closing transport')>
        new_task   = True
        self       = <ProactorEventLoop running=False closed=False debug=False>
#x1B[1m#x1B[31mtests\test_benchmarks_client_ws.py#x1B[0m:135: in run_websocket_benchmark
    #x1B[0m#x1B[94mawait#x1B[39;49;00m resp.send_bytes(raw_message)#x1B[90m#x1B[39;49;00m
        _          = 2
        aiohttp_client = <function aiohttp_client.<locals>.go at 0x00000170729C5430>
        app        = <Application 0x170729c7d70>
        client     = <aiohttp.test_utils.TestClient object at 0x000001707187F050>
        message_count = 10
        raw_message = b'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx...xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
        resp       = <aiohttp.client_ws.ClientWebSocketResponse object at 0x000001707348DA70>
#x1B[1m#x1B[31maiohttp\client_ws.py#x1B[0m:265: in send_bytes
    #x1B[0m#x1B[94mawait#x1B[39;49;00m #x1B[96mself#x1B[39;49;00m._writer.send_frame(data, WSMsgType.BINARY, compress=compress)#x1B[90m#x1B[39;49;00m
        compress   = None
        data       = b'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx...xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
        self       = <aiohttp.client_ws.ClientWebSocketResponse object at 0x000001707348DA70>
#x1B[1m#x1B[31maiohttp\_websocket\writer.py#x1B[0m:110: in send_frame
    #x1B[0m#x1B[94mawait#x1B[39;49;00m asyncio.shield(send_task)#x1B[90m#x1B[39;49;00m
        compress   = None
        coro       = <coroutine object WebSocketWriter._send_compressed_frame_async_locked at 0x000001707347BDE0>
        loop       = <ProactorEventLoop running=False closed=False debug=False>
        message    = b'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx...xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
        opcode     = <WSMsgType.BINARY: 2>
        self       = <aiohttp._websocket.writer.WebSocketWriter object at 0x00000170733D8F50>
        send_task  = <Task finished name='Task-1921' coro=<WebSocketWriter._send_compressed_frame_async_locked() done, defined at D:\a\aiohttp\aiohttp\aiohttp\_websocket\writer.py:219> exception=ClientConnectionResetError('Cannot write to closing transport')>
#x1B[1m#x1B[31maiohttp\_websocket\writer.py#x1B[0m:240: in _send_compressed_frame_async_locked
    #x1B[0m#x1B[96mself#x1B[39;49;00m._write_websocket_frame(#x1B[90m#x1B[39;49;00m
        compress   = None
        compressobj = <aiohttp.compression_utils.ZLibCompressor object at 0x00000170734B25D0>
        message    = b'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx...xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
        opcode     = <WSMsgType.BINARY: 2>
        self       = <aiohttp._websocket.writer.WebSocketWriter object at 0x00000170733D8F50>
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <aiohttp._websocket.writer.WebSocketWriter object at 0x00000170733D8F50>
message = b'\x1a\x05\xa3!0\x1a\x02\xa3!0\x1a\x02\xa3!0\x1a\x02\xa3!0\x1a\x02\xa3!0\x1a\x02\xa3!0\x1a\x02\xa3!0\x1a\x02\xa3!0\x1a...x81\xd1\x10\x18\r\x81\xd1\x10\x18\r\x81\xd1\x10\x18\r\x81\xd1\x10\x18\r\x81\xd1\x10\x18\r\x81\xd1\x10 \x14\x02\x00\x00'
opcode = <WSMsgType.BINARY: 2>, rsv = 64

    #x1B[0m#x1B[94mdef#x1B[39;49;00m#x1B[90m #x1B[39;49;00m#x1B[92m_write_websocket_frame#x1B[39;49;00m(#x1B[96mself#x1B[39;49;00m, message: #x1B[96mbytes#x1B[39;49;00m, opcode: #x1B[96mint#x1B[39;49;00m, rsv: #x1B[96mint#x1B[39;49;00m) -> #x1B[94mNone#x1B[39;49;00m:#x1B[90m#x1B[39;49;00m
    #x1B[90m    #x1B[39;49;00m#x1B[33m"""#x1B[39;49;00m
    #x1B[33m    Write a websocket frame to the transport.#x1B[39;49;00m
    #x1B[33m#x1B[39;49;00m
    #x1B[33m    This method handles frame header construction, masking, and writing to transport.#x1B[39;49;00m
    #x1B[33m    It does not handle compression or flow control - those are the responsibility#x1B[39;49;00m
    #x1B[33m    of the caller.#x1B[39;49;00m
    #x1B[33m    """#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
        msg_length = #x1B[96mlen#x1B[39;49;00m(message)#x1B[90m#x1B[39;49;00m
    #x1B[90m#x1B[39;49;00m
        use_mask = #x1B[96mself#x1B[39;49;00m.use_mask#x1B[90m#x1B[39;49;00m
        mask_bit = #x1B[94m0x80#x1B[39;49;00m #x1B[94mif#x1B[39;49;00m use_mask #x1B[94melse#x1B[39;49;00m #x1B[94m0#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
    #x1B[90m#x1B[39;49;00m
        #x1B[90m# Depending on the message length, the header is assembled differently.#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
        #x1B[90m# The first byte is reserved for the opcode and the RSV bits.#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
        first_byte = #x1B[94m0x80#x1B[39;49;00m | rsv | opcode#x1B[90m#x1B[39;49;00m
        #x1B[94mif#x1B[39;49;00m msg_length < #x1B[94m126#x1B[39;49;00m:#x1B[90m#x1B[39;49;00m
            header = PACK_LEN1(first_byte, msg_length | mask_bit)#x1B[90m#x1B[39;49;00m
            header_len = #x1B[94m2#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
        #x1B[94melif#x1B[39;49;00m msg_length < #x1B[94m65536#x1B[39;49;00m:#x1B[90m#x1B[39;49;00m
            header = PACK_LEN2(first_byte, #x1B[94m126#x1B[39;49;00m | mask_bit, msg_length)#x1B[90m#x1B[39;49;00m
            header_len = #x1B[94m4#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
        #x1B[94melse#x1B[39;49;00m:#x1B[90m#x1B[39;49;00m
            header = PACK_LEN3(first_byte, #x1B[94m127#x1B[39;49;00m | mask_bit, msg_length)#x1B[90m#x1B[39;49;00m
            header_len = #x1B[94m10#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
    #x1B[90m#x1B[39;49;00m
        #x1B[94mif#x1B[39;49;00m #x1B[96mself#x1B[39;49;00m.transport.is_closing():#x1B[90m#x1B[39;49;00m
>           #x1B[94mraise#x1B[39;49;00m ClientConnectionResetError(#x1B[33m"#x1B[39;49;00m#x1B[33mCannot write to closing transport#x1B[39;49;00m#x1B[33m"#x1B[39;49;00m)#x1B[90m#x1B[39;49;00m
#x1B[1m#x1B[31mE           aiohttp.client_exceptions.ClientConnectionResetError: Cannot write to closing transport#x1B[0m

first_byte = 194
header     = b'\xc2\xfe\x13\xcf'
header_len = 4
mask_bit   = 128
message    = b'\x1a\x05\xa3!0\x1a\x02\xa3!0\x1a\x02\xa3!0\x1a\x02\xa3!0\x1a\x02\xa3!0\x1a\x02\xa3!0\x1a\x02\xa3!0\x1a\x02\xa3!0\x1a...x81\xd1\x10\x18\r\x81\xd1\x10\x18\r\x81\xd1\x10\x18\r\x81\xd1\x10\x18\r\x81\xd1\x10\x18\r\x81\xd1\x10 \x14\x02\x00\x00'
msg_length = 5071
opcode     = <WSMsgType.BINARY: 2>
rsv        = 64
self       = <aiohttp._websocket.writer.WebSocketWriter object at 0x00000170733D8F50>
use_mask   = True

#x1B[1m#x1B[31maiohttp\_websocket\writer.py#x1B[0m:151: ClientConnectionResetError
tests.test_benchmarks_client_ws::test_client_send_large_websocket_compressed_messages[zlib_ng.zlib_ng-pyloop]

Flake rate in main: 6.67% (Passed 28 times, Failed 2 times)

Stack Traces | 0.155s run time
loop = <ProactorEventLoop running=False closed=False debug=False>
aiohttp_client = <function aiohttp_client.<locals>.go at 0x00000170729C4D50>
benchmark = <pytest_codspeed.plugin.BenchmarkFixture object at 0x0000017070386970>

    #x1B[0m#x1B[37m@pytest#x1B[39;49;00m.mark.usefixtures(#x1B[33m"#x1B[39;49;00m#x1B[33mparametrize_zlib_backend#x1B[39;49;00m#x1B[33m"#x1B[39;49;00m)#x1B[90m#x1B[39;49;00m
    #x1B[94mdef#x1B[39;49;00m#x1B[90m #x1B[39;49;00m#x1B[92mtest_client_send_large_websocket_compressed_messages#x1B[39;49;00m(#x1B[90m#x1B[39;49;00m
        loop: asyncio.AbstractEventLoop,#x1B[90m#x1B[39;49;00m
        aiohttp_client: AiohttpClient,#x1B[90m#x1B[39;49;00m
        benchmark: BenchmarkFixture,#x1B[90m#x1B[39;49;00m
    ) -> #x1B[94mNone#x1B[39;49;00m:#x1B[90m#x1B[39;49;00m
    #x1B[90m    #x1B[39;49;00m#x1B[33m"""Benchmark send of compressed WebSocket binary messages."""#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
        message_count = #x1B[94m10#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
        raw_message = #x1B[33mb#x1B[39;49;00m#x1B[33m"#x1B[39;49;00m#x1B[33mx#x1B[39;49;00m#x1B[33m"#x1B[39;49;00m * #x1B[94m2#x1B[39;49;00m**#x1B[94m19#x1B[39;49;00m  #x1B[90m# 512 KiB#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
    #x1B[90m#x1B[39;49;00m
        #x1B[94masync#x1B[39;49;00m #x1B[94mdef#x1B[39;49;00m#x1B[90m #x1B[39;49;00m#x1B[92mhandler#x1B[39;49;00m(request: web.Request) -> web.WebSocketResponse:#x1B[90m#x1B[39;49;00m
            ws = web.WebSocketResponse()#x1B[90m#x1B[39;49;00m
            #x1B[94mawait#x1B[39;49;00m ws.prepare(request)#x1B[90m#x1B[39;49;00m
            #x1B[94mfor#x1B[39;49;00m _ #x1B[95min#x1B[39;49;00m #x1B[96mrange#x1B[39;49;00m(message_count):#x1B[90m#x1B[39;49;00m
                #x1B[94mawait#x1B[39;49;00m ws.receive()#x1B[90m#x1B[39;49;00m
            #x1B[94mawait#x1B[39;49;00m ws.close()#x1B[90m#x1B[39;49;00m
            #x1B[94mreturn#x1B[39;49;00m ws#x1B[90m#x1B[39;49;00m
    #x1B[90m#x1B[39;49;00m
        app = web.Application()#x1B[90m#x1B[39;49;00m
        app.router.add_route(#x1B[33m"#x1B[39;49;00m#x1B[33mGET#x1B[39;49;00m#x1B[33m"#x1B[39;49;00m, #x1B[33m"#x1B[39;49;00m#x1B[33m/#x1B[39;49;00m#x1B[33m"#x1B[39;49;00m, handler)#x1B[90m#x1B[39;49;00m
    #x1B[90m#x1B[39;49;00m
        #x1B[94masync#x1B[39;49;00m #x1B[94mdef#x1B[39;49;00m#x1B[90m #x1B[39;49;00m#x1B[92mrun_websocket_benchmark#x1B[39;49;00m() -> #x1B[94mNone#x1B[39;49;00m:#x1B[90m#x1B[39;49;00m
            client = #x1B[94mawait#x1B[39;49;00m aiohttp_client(app)#x1B[90m#x1B[39;49;00m
            resp = #x1B[94mawait#x1B[39;49;00m client.ws_connect(#x1B[33m"#x1B[39;49;00m#x1B[33m/#x1B[39;49;00m#x1B[33m"#x1B[39;49;00m, compress=#x1B[94m15#x1B[39;49;00m)#x1B[90m#x1B[39;49;00m
            #x1B[94mfor#x1B[39;49;00m _ #x1B[95min#x1B[39;49;00m #x1B[96mrange#x1B[39;49;00m(message_count):#x1B[90m#x1B[39;49;00m
                #x1B[94mawait#x1B[39;49;00m resp.send_bytes(raw_message)#x1B[90m#x1B[39;49;00m
            #x1B[94mawait#x1B[39;49;00m resp.close()#x1B[90m#x1B[39;49;00m
    #x1B[90m#x1B[39;49;00m
>       #x1B[37m@benchmark#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
         ^^^^^^^^^#x1B[90m#x1B[39;49;00m

aiohttp_client = <function aiohttp_client.<locals>.go at 0x00000170729C4D50>
app        = <Application 0x170729c4eb0>
benchmark  = <pytest_codspeed.plugin.BenchmarkFixture object at 0x0000017070386970>
handler    = <function test_client_send_large_websocket_compressed_messages.<locals>.handler at 0x00000170729C4F60>
loop       = <ProactorEventLoop running=False closed=False debug=False>
message_count = 10
raw_message = b'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx...xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
run_websocket_benchmark = <function test_client_send_large_websocket_compressed_messages.<locals>.run_websocket_benchmark at 0x00000170729C5010>

#x1B[1m#x1B[31mtests\test_benchmarks_client_ws.py#x1B[0m:138: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
#x1B[1m#x1B[31mC:\hostedtoolcache\windows\Python\3.14.2\x64\Lib\site-packages\pytest_codspeed\plugin.py#x1B[0m:349: in __call__
    #x1B[0m#x1B[94mreturn#x1B[39;49;00m target(*args, **kwargs)#x1B[90m#x1B[39;49;00m
           ^^^^^^^^^^^^^^^^^^^^^^^#x1B[90m#x1B[39;49;00m
        args       = ()
        kwargs     = {}
        self       = <pytest_codspeed.plugin.BenchmarkFixture object at 0x0000017070386970>
        target     = <function test_client_send_large_websocket_compressed_messages.<locals>._run at 0x0000017072B16AE0>
#x1B[1m#x1B[31mtests\test_benchmarks_client_ws.py#x1B[0m:140: in _run
    #x1B[0mloop.run_until_complete(run_websocket_benchmark())#x1B[90m#x1B[39;49;00m
        loop       = <ProactorEventLoop running=False closed=False debug=False>
        run_websocket_benchmark = <function test_client_send_large_websocket_compressed_messages.<locals>.run_websocket_benchmark at 0x00000170729C5010>
#x1B[1m#x1B[31mC:\hostedtoolcache\windows\Python\3.14.2\x64\Lib\asyncio\base_events.py#x1B[0m:719: in run_until_complete
    #x1B[0m#x1B[94mreturn#x1B[39;49;00m future.result()#x1B[90m#x1B[39;49;00m
           ^^^^^^^^^^^^^^^#x1B[90m#x1B[39;49;00m
        future     = <Task finished name='Task-1923' coro=<test_client_send_large_websocket_compressed_messages.<locals>.run_websocket_benc...http\tests\test_benchmarks_client_ws.py:131> exception=ClientConnectionResetError('Cannot write to closing transport')>
        new_task   = True
        self       = <ProactorEventLoop running=False closed=False debug=False>
#x1B[1m#x1B[31mtests\test_benchmarks_client_ws.py#x1B[0m:135: in run_websocket_benchmark
    #x1B[0m#x1B[94mawait#x1B[39;49;00m resp.send_bytes(raw_message)#x1B[90m#x1B[39;49;00m
        _          = 2
        aiohttp_client = <function aiohttp_client.<locals>.go at 0x00000170729C4D50>
        app        = <Application 0x170729c4eb0>
        client     = <aiohttp.test_utils.TestClient object at 0x0000017071B3BCB0>
        message_count = 10
        raw_message = b'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx...xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
        resp       = <aiohttp.client_ws.ClientWebSocketResponse object at 0x00000170734FCDD0>
#x1B[1m#x1B[31maiohttp\client_ws.py#x1B[0m:265: in send_bytes
    #x1B[0m#x1B[94mawait#x1B[39;49;00m #x1B[96mself#x1B[39;49;00m._writer.send_frame(data, WSMsgType.BINARY, compress=compress)#x1B[90m#x1B[39;49;00m
        compress   = None
        data       = b'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx...xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
        self       = <aiohttp.client_ws.ClientWebSocketResponse object at 0x00000170734FCDD0>
#x1B[1m#x1B[31maiohttp\_websocket\writer.py#x1B[0m:110: in send_frame
    #x1B[0m#x1B[94mawait#x1B[39;49;00m asyncio.shield(send_task)#x1B[90m#x1B[39;49;00m
        compress   = None
        coro       = <coroutine object WebSocketWriter._send_compressed_frame_async_locked at 0x00000170734559C0>
        loop       = <ProactorEventLoop running=False closed=False debug=False>
        message    = b'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx...xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
        opcode     = <WSMsgType.BINARY: 2>
        self       = <aiohttp._websocket.writer.WebSocketWriter object at 0x000001707339F110>
        send_task  = <Task finished name='Task-1930' coro=<WebSocketWriter._send_compressed_frame_async_locked() done, defined at D:\a\aiohttp\aiohttp\aiohttp\_websocket\writer.py:219> exception=ClientConnectionResetError('Cannot write to closing transport')>
#x1B[1m#x1B[31maiohttp\_websocket\writer.py#x1B[0m:240: in _send_compressed_frame_async_locked
    #x1B[0m#x1B[96mself#x1B[39;49;00m._write_websocket_frame(#x1B[90m#x1B[39;49;00m
        compress   = None
        compressobj = <aiohttp.compression_utils.ZLibCompressor object at 0x000001707318DBA0>
        message    = b'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx...xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
        opcode     = <WSMsgType.BINARY: 2>
        self       = <aiohttp._websocket.writer.WebSocketWriter object at 0x000001707339F110>
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <aiohttp._websocket.writer.WebSocketWriter object at 0x000001707339F110>
message = b'\x1a\x05\xa3!0\x1a\x02\xa3!0\x1a\x02\xa3!0\x1a\x02\xa3!0\x1a\x02\xa3!0\x1a\x02\xa3!0\x1a\x02\xa3!0\x1a\x02\xa3!0\x1a...x81\xd1\x10\x18\r\x81\xd1\x10\x18\r\x81\xd1\x10\x18\r\x81\xd1\x10\x18\r\x81\xd1\x10\x18\r\x81\xd1\x10 \x14\x02\x00\x00'
opcode = <WSMsgType.BINARY: 2>, rsv = 64

    #x1B[0m#x1B[94mdef#x1B[39;49;00m#x1B[90m #x1B[39;49;00m#x1B[92m_write_websocket_frame#x1B[39;49;00m(#x1B[96mself#x1B[39;49;00m, message: #x1B[96mbytes#x1B[39;49;00m, opcode: #x1B[96mint#x1B[39;49;00m, rsv: #x1B[96mint#x1B[39;49;00m) -> #x1B[94mNone#x1B[39;49;00m:#x1B[90m#x1B[39;49;00m
    #x1B[90m    #x1B[39;49;00m#x1B[33m"""#x1B[39;49;00m
    #x1B[33m    Write a websocket frame to the transport.#x1B[39;49;00m
    #x1B[33m#x1B[39;49;00m
    #x1B[33m    This method handles frame header construction, masking, and writing to transport.#x1B[39;49;00m
    #x1B[33m    It does not handle compression or flow control - those are the responsibility#x1B[39;49;00m
    #x1B[33m    of the caller.#x1B[39;49;00m
    #x1B[33m    """#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
        msg_length = #x1B[96mlen#x1B[39;49;00m(message)#x1B[90m#x1B[39;49;00m
    #x1B[90m#x1B[39;49;00m
        use_mask = #x1B[96mself#x1B[39;49;00m.use_mask#x1B[90m#x1B[39;49;00m
        mask_bit = #x1B[94m0x80#x1B[39;49;00m #x1B[94mif#x1B[39;49;00m use_mask #x1B[94melse#x1B[39;49;00m #x1B[94m0#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
    #x1B[90m#x1B[39;49;00m
        #x1B[90m# Depending on the message length, the header is assembled differently.#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
        #x1B[90m# The first byte is reserved for the opcode and the RSV bits.#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
        first_byte = #x1B[94m0x80#x1B[39;49;00m | rsv | opcode#x1B[90m#x1B[39;49;00m
        #x1B[94mif#x1B[39;49;00m msg_length < #x1B[94m126#x1B[39;49;00m:#x1B[90m#x1B[39;49;00m
            header = PACK_LEN1(first_byte, msg_length | mask_bit)#x1B[90m#x1B[39;49;00m
            header_len = #x1B[94m2#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
        #x1B[94melif#x1B[39;49;00m msg_length < #x1B[94m65536#x1B[39;49;00m:#x1B[90m#x1B[39;49;00m
            header = PACK_LEN2(first_byte, #x1B[94m126#x1B[39;49;00m | mask_bit, msg_length)#x1B[90m#x1B[39;49;00m
            header_len = #x1B[94m4#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
        #x1B[94melse#x1B[39;49;00m:#x1B[90m#x1B[39;49;00m
            header = PACK_LEN3(first_byte, #x1B[94m127#x1B[39;49;00m | mask_bit, msg_length)#x1B[90m#x1B[39;49;00m
            header_len = #x1B[94m10#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
    #x1B[90m#x1B[39;49;00m
        #x1B[94mif#x1B[39;49;00m #x1B[96mself#x1B[39;49;00m.transport.is_closing():#x1B[90m#x1B[39;49;00m
>           #x1B[94mraise#x1B[39;49;00m ClientConnectionResetError(#x1B[33m"#x1B[39;49;00m#x1B[33mCannot write to closing transport#x1B[39;49;00m#x1B[33m"#x1B[39;49;00m)#x1B[90m#x1B[39;49;00m
#x1B[1m#x1B[31mE           aiohttp.client_exceptions.ClientConnectionResetError: Cannot write to closing transport#x1B[0m

first_byte = 194
header     = b'\xc2\xfe\x13\xcf'
header_len = 4
mask_bit   = 128
message    = b'\x1a\x05\xa3!0\x1a\x02\xa3!0\x1a\x02\xa3!0\x1a\x02\xa3!0\x1a\x02\xa3!0\x1a\x02\xa3!0\x1a\x02\xa3!0\x1a\x02\xa3!0\x1a...x81\xd1\x10\x18\r\x81\xd1\x10\x18\r\x81\xd1\x10\x18\r\x81\xd1\x10\x18\r\x81\xd1\x10\x18\r\x81\xd1\x10 \x14\x02\x00\x00'
msg_length = 5071
opcode     = <WSMsgType.BINARY: 2>
rsv        = 64
self       = <aiohttp._websocket.writer.WebSocketWriter object at 0x000001707339F110>
use_mask   = True

#x1B[1m#x1B[31maiohttp\_websocket\writer.py#x1B[0m:151: ClientConnectionResetError
tests.test_benchmarks_http_websocket::test_read_large_binary_websocket_messages[pyloop]

Flake rate in main: 10.45% (Passed 120 times, Failed 14 times)

Stack Traces | 0.156s run time
loop = <ProactorEventLoop running=False closed=False debug=False>
benchmark = <pytest_codspeed.plugin.BenchmarkFixture object at 0x0000017070386660>

    #x1B[0m#x1B[94mdef#x1B[39;49;00m#x1B[90m #x1B[39;49;00m#x1B[92mtest_read_large_binary_websocket_messages#x1B[39;49;00m(#x1B[90m#x1B[39;49;00m
        loop: asyncio.AbstractEventLoop, benchmark: BenchmarkFixture#x1B[90m#x1B[39;49;00m
    ) -> #x1B[94mNone#x1B[39;49;00m:#x1B[90m#x1B[39;49;00m
    #x1B[90m    #x1B[39;49;00m#x1B[33m"""Read one hundred large binary websocket messages."""#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
>       queue = WebSocketDataQueue(BaseProtocol(loop), #x1B[94m2#x1B[39;49;00m**#x1B[94m18#x1B[39;49;00m, loop=loop)#x1B[90m#x1B[39;49;00m
                                   ^^^^^^^^^^^^^^^^^^#x1B[90m#x1B[39;49;00m
#x1B[1m#x1B[31mE       TypeError: BaseProtocol.__init__() missing 1 required positional argument: 'parser'#x1B[0m

benchmark  = <pytest_codspeed.plugin.BenchmarkFixture object at 0x0000017070386660>
loop       = <ProactorEventLoop running=False closed=False debug=False>

#x1B[1m#x1B[31mtests\test_benchmarks_http_websocket.py#x1B[0m:18: TypeError
tests.test_benchmarks_http_websocket::test_read_one_hundred_websocket_text_messages[pyloop]

Flake rate in main: 5.18% (Passed 494 times, Failed 27 times)

Stack Traces | 0.157s run time
loop = <ProactorEventLoop running=False closed=False debug=False>
benchmark = <pytest_codspeed.plugin.BenchmarkFixture object at 0x000001707322EB30>

    #x1B[0m#x1B[94mdef#x1B[39;49;00m#x1B[90m #x1B[39;49;00m#x1B[92mtest_read_one_hundred_websocket_text_messages#x1B[39;49;00m(#x1B[90m#x1B[39;49;00m
        loop: asyncio.AbstractEventLoop, benchmark: BenchmarkFixture#x1B[90m#x1B[39;49;00m
    ) -> #x1B[94mNone#x1B[39;49;00m:#x1B[90m#x1B[39;49;00m
    #x1B[90m    #x1B[39;49;00m#x1B[33m"""Benchmark reading 100 WebSocket text messages."""#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
>       queue = WebSocketDataQueue(BaseProtocol(loop), #x1B[94m2#x1B[39;49;00m**#x1B[94m16#x1B[39;49;00m, loop=loop)#x1B[90m#x1B[39;49;00m
                                   ^^^^^^^^^^^^^^^^^^#x1B[90m#x1B[39;49;00m
#x1B[1m#x1B[31mE       TypeError: BaseProtocol.__init__() missing 1 required positional argument: 'parser'#x1B[0m

benchmark  = <pytest_codspeed.plugin.BenchmarkFixture object at 0x000001707322EB30>
loop       = <ProactorEventLoop running=False closed=False debug=False>

#x1B[1m#x1B[31mtests\test_benchmarks_http_websocket.py#x1B[0m:39: TypeError
tests.test_benchmarks_http_websocket::test_send_one_hundred_large_websocket_text_messages[pyloop]

Flake rate in main: 9.09% (Passed 50 times, Failed 5 times)

Stack Traces | 0.173s run time
loop = <ProactorEventLoop running=False closed=False debug=False>
benchmark = <pytest_codspeed.plugin.BenchmarkFixture object at 0x000001707322F690>

    #x1B[0m#x1B[94mdef#x1B[39;49;00m#x1B[90m #x1B[39;49;00m#x1B[92mtest_send_one_hundred_large_websocket_text_messages#x1B[39;49;00m(#x1B[90m#x1B[39;49;00m
        loop: asyncio.AbstractEventLoop, benchmark: BenchmarkFixture#x1B[90m#x1B[39;49;00m
    ) -> #x1B[94mNone#x1B[39;49;00m:#x1B[90m#x1B[39;49;00m
    #x1B[90m    #x1B[39;49;00m#x1B[33m"""Benchmark sending 100 WebSocket text messages."""#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
>       writer = WebSocketWriter(MockProtocol(loop=loop), MockTransport())#x1B[90m#x1B[39;49;00m
                                 ^^^^^^^^^^^^^^^^^^^^^^^#x1B[90m#x1B[39;49;00m
#x1B[1m#x1B[31mE       TypeError: BaseProtocol.__init__() missing 1 required positional argument: 'parser'#x1B[0m

benchmark  = <pytest_codspeed.plugin.BenchmarkFixture object at 0x000001707322F690>
loop       = <ProactorEventLoop running=False closed=False debug=False>

#x1B[1m#x1B[31mtests\test_benchmarks_http_websocket.py#x1B[0m:92: TypeError
tests.test_benchmarks_http_websocket::test_send_one_hundred_websocket_compressed_messages[zlib-pyloop]

Flake rate in main: 9.09% (Passed 50 times, Failed 5 times)

Stack Traces | 0.132s run time
loop = <ProactorEventLoop running=False closed=False debug=False>
benchmark = <pytest_codspeed.plugin.BenchmarkFixture object at 0x000001707322F230>

    #x1B[0m#x1B[37m@pytest#x1B[39;49;00m.mark.usefixtures(#x1B[33m"#x1B[39;49;00m#x1B[33mparametrize_zlib_backend#x1B[39;49;00m#x1B[33m"#x1B[39;49;00m)#x1B[90m#x1B[39;49;00m
    #x1B[94mdef#x1B[39;49;00m#x1B[90m #x1B[39;49;00m#x1B[92mtest_send_one_hundred_websocket_compressed_messages#x1B[39;49;00m(#x1B[90m#x1B[39;49;00m
        loop: asyncio.AbstractEventLoop, benchmark: BenchmarkFixture#x1B[90m#x1B[39;49;00m
    ) -> #x1B[94mNone#x1B[39;49;00m:#x1B[90m#x1B[39;49;00m
    #x1B[90m    #x1B[39;49;00m#x1B[33m"""Benchmark sending 100 WebSocket compressed messages."""#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
>       writer = WebSocketWriter(MockProtocol(loop=loop), MockTransport(), compress=#x1B[94m15#x1B[39;49;00m)#x1B[90m#x1B[39;49;00m
                                 ^^^^^^^^^^^^^^^^^^^^^^^#x1B[90m#x1B[39;49;00m
#x1B[1m#x1B[31mE       TypeError: BaseProtocol.__init__() missing 1 required positional argument: 'parser'#x1B[0m

benchmark  = <pytest_codspeed.plugin.BenchmarkFixture object at 0x000001707322F230>
loop       = <ProactorEventLoop running=False closed=False debug=False>

#x1B[1m#x1B[31mtests\test_benchmarks_http_websocket.py#x1B[0m:125: TypeError
tests.test_benchmarks_http_websocket::test_send_one_hundred_websocket_compressed_messages[zlib_ng.zlib_ng-pyloop]

Flake rate in main: 3.33% (Passed 29 times, Failed 1 times)

Stack Traces | 0.144s run time
loop = <ProactorEventLoop running=False closed=False debug=False>
benchmark = <pytest_codspeed.plugin.BenchmarkFixture object at 0x000001707322EC80>

    #x1B[0m#x1B[37m@pytest#x1B[39;49;00m.mark.usefixtures(#x1B[33m"#x1B[39;49;00m#x1B[33mparametrize_zlib_backend#x1B[39;49;00m#x1B[33m"#x1B[39;49;00m)#x1B[90m#x1B[39;49;00m
    #x1B[94mdef#x1B[39;49;00m#x1B[90m #x1B[39;49;00m#x1B[92mtest_send_one_hundred_websocket_compressed_messages#x1B[39;49;00m(#x1B[90m#x1B[39;49;00m
        loop: asyncio.AbstractEventLoop, benchmark: BenchmarkFixture#x1B[90m#x1B[39;49;00m
    ) -> #x1B[94mNone#x1B[39;49;00m:#x1B[90m#x1B[39;49;00m
    #x1B[90m    #x1B[39;49;00m#x1B[33m"""Benchmark sending 100 WebSocket compressed messages."""#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
>       writer = WebSocketWriter(MockProtocol(loop=loop), MockTransport(), compress=#x1B[94m15#x1B[39;49;00m)#x1B[90m#x1B[39;49;00m
                                 ^^^^^^^^^^^^^^^^^^^^^^^#x1B[90m#x1B[39;49;00m
#x1B[1m#x1B[31mE       TypeError: BaseProtocol.__init__() missing 1 required positional argument: 'parser'#x1B[0m

benchmark  = <pytest_codspeed.plugin.BenchmarkFixture object at 0x000001707322EC80>
loop       = <ProactorEventLoop running=False closed=False debug=False>

#x1B[1m#x1B[31mtests\test_benchmarks_http_websocket.py#x1B[0m:125: TypeError
tests.test_benchmarks_http_websocket::test_send_one_hundred_websocket_text_messages[pyloop]

Flake rate in main: 9.09% (Passed 50 times, Failed 5 times)

Stack Traces | 0.156s run time
loop = <ProactorEventLoop running=False closed=False debug=False>
benchmark = <pytest_codspeed.plugin.BenchmarkFixture object at 0x000001707322F070>

    #x1B[0m#x1B[94mdef#x1B[39;49;00m#x1B[90m #x1B[39;49;00m#x1B[92mtest_send_one_hundred_websocket_text_messages#x1B[39;49;00m(#x1B[90m#x1B[39;49;00m
        loop: asyncio.AbstractEventLoop, benchmark: BenchmarkFixture#x1B[90m#x1B[39;49;00m
    ) -> #x1B[94mNone#x1B[39;49;00m:#x1B[90m#x1B[39;49;00m
    #x1B[90m    #x1B[39;49;00m#x1B[33m"""Benchmark sending 100 WebSocket text messages."""#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
>       writer = WebSocketWriter(MockProtocol(loop=loop), MockTransport())#x1B[90m#x1B[39;49;00m
                                 ^^^^^^^^^^^^^^^^^^^^^^^#x1B[90m#x1B[39;49;00m
#x1B[1m#x1B[31mE       TypeError: BaseProtocol.__init__() missing 1 required positional argument: 'parser'#x1B[0m

benchmark  = <pytest_codspeed.plugin.BenchmarkFixture object at 0x000001707322F070>
loop       = <ProactorEventLoop running=False closed=False debug=False>

#x1B[1m#x1B[31mtests\test_benchmarks_http_websocket.py#x1B[0m:76: TypeError
tests.test_benchmarks_http_websocket::test_send_one_hundred_websocket_text_messages_with_mask[pyloop]

Flake rate in main: 9.09% (Passed 50 times, Failed 5 times)

Stack Traces | 0.145s run time
loop = <ProactorEventLoop running=False closed=False debug=False>
benchmark = <pytest_codspeed.plugin.BenchmarkFixture object at 0x000001707322EC80>

    #x1B[0m#x1B[94mdef#x1B[39;49;00m#x1B[90m #x1B[39;49;00m#x1B[92mtest_send_one_hundred_websocket_text_messages_with_mask#x1B[39;49;00m(#x1B[90m#x1B[39;49;00m
        loop: asyncio.AbstractEventLoop, benchmark: BenchmarkFixture#x1B[90m#x1B[39;49;00m
    ) -> #x1B[94mNone#x1B[39;49;00m:#x1B[90m#x1B[39;49;00m
    #x1B[90m    #x1B[39;49;00m#x1B[33m"""Benchmark sending 100 masked WebSocket text messages."""#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
>       writer = WebSocketWriter(MockProtocol(loop=loop), MockTransport(), use_mask=#x1B[94mTrue#x1B[39;49;00m)#x1B[90m#x1B[39;49;00m
                                 ^^^^^^^^^^^^^^^^^^^^^^^#x1B[90m#x1B[39;49;00m
#x1B[1m#x1B[31mE       TypeError: BaseProtocol.__init__() missing 1 required positional argument: 'parser'#x1B[0m

benchmark  = <pytest_codspeed.plugin.BenchmarkFixture object at 0x000001707322EC80>
loop       = <ProactorEventLoop running=False closed=False debug=False>

#x1B[1m#x1B[31mtests\test_benchmarks_http_websocket.py#x1B[0m:108: TypeError
tests.test_client_functional::test_exception_when_read_outside_of_session[pyloop]

Flake rate in main: 100.00% (Passed 0 times, Failed 1 times)

Stack Traces | 0.138s run time
>   #x1B[0mpyparser._payload.feed_data(body)#x1B[90m#x1B[39;49;00m


#x1B[1m#x1B[31maiohttp\_http_parser.pyx#x1B[0m:766: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
#x1B[1m#x1B[31maiohttp\streams.py#x1B[0m:293: in feed_data
    #x1B[0m#x1B[96mself#x1B[39;49;00m._protocol.pause_reading()#x1B[90m#x1B[39;49;00m
        data       = b'11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111...1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111'
        data_len   = 65536
        self       = <StreamReader 196445 bytes e=ClientPayloadError("'aiohttp._http_parser.HttpResponseParser' object has no attribute 'pause_reading'")>
        waiter     = None
#x1B[1m#x1B[31maiohttp\client_proto.py#x1B[0m:189: in pause_reading
    #x1B[0m#x1B[96msuper#x1B[39;49;00m().pause_reading()#x1B[90m#x1B[39;49;00m
        __class__  = <class 'aiohttp.client_proto.ResponseHandler'>
        self       = <aiohttp.client_proto.ResponseHandler object at 0x00000113AF3D7820>
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <aiohttp.client_proto.ResponseHandler object at 0x00000113AF3D7820>

    #x1B[0m#x1B[94mdef#x1B[39;49;00m#x1B[90m #x1B[39;49;00m#x1B[92mpause_reading#x1B[39;49;00m(#x1B[96mself#x1B[39;49;00m) -> #x1B[94mNone#x1B[39;49;00m:#x1B[90m#x1B[39;49;00m
        #x1B[96mself#x1B[39;49;00m._reading_paused = #x1B[94mTrue#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
>       #x1B[96mself#x1B[39;49;00m._parser.pause_reading()#x1B[90m#x1B[39;49;00m
        ^^^^^^^^^^^^^^^^^^^^^^^^^^#x1B[90m#x1B[39;49;00m
#x1B[1m#x1B[31mE       AttributeError: 'aiohttp._http_parser.HttpResponseParser' object has no attribute 'pause_reading'#x1B[0m

self       = <aiohttp.client_proto.ResponseHandler object at 0x00000113AF3D7820>

#x1B[1m#x1B[31maiohttp\base_protocol.py#x1B[0m:59: AttributeError

#x1B[33mThe above exception was the direct cause of the following exception:#x1B[0m

aiohttp_server = <function aiohttp_server.<locals>.go at 0x00000113AF0A37F0>

    #x1B[0m#x1B[94masync#x1B[39;49;00m #x1B[94mdef#x1B[39;49;00m#x1B[90m #x1B[39;49;00m#x1B[92mtest_exception_when_read_outside_of_session#x1B[39;49;00m(#x1B[90m#x1B[39;49;00m
        aiohttp_server: AiohttpServer,#x1B[90m#x1B[39;49;00m
    ) -> #x1B[94mNone#x1B[39;49;00m:#x1B[90m#x1B[39;49;00m
        #x1B[94masync#x1B[39;49;00m #x1B[94mdef#x1B[39;49;00m#x1B[90m #x1B[39;49;00m#x1B[92mhandler#x1B[39;49;00m(request: web.Request) -> web.Response:#x1B[90m#x1B[39;49;00m
            #x1B[94mreturn#x1B[39;49;00m web.Response(body=#x1B[33mb#x1B[39;49;00m#x1B[33m"#x1B[39;49;00m#x1B[33m1#x1B[39;49;00m#x1B[33m"#x1B[39;49;00m * #x1B[94m1000000#x1B[39;49;00m)#x1B[90m#x1B[39;49;00m
    #x1B[90m#x1B[39;49;00m
        app = web.Application()#x1B[90m#x1B[39;49;00m
        app.router.add_get(#x1B[33m"#x1B[39;49;00m#x1B[33m/#x1B[39;49;00m#x1B[33m"#x1B[39;49;00m, handler)#x1B[90m#x1B[39;49;00m
    #x1B[90m#x1B[39;49;00m
        server = #x1B[94mawait#x1B[39;49;00m aiohttp_server(app)#x1B[90m#x1B[39;49;00m
        #x1B[94masync#x1B[39;49;00m #x1B[94mwith#x1B[39;49;00m aiohttp.ClientSession() #x1B[94mas#x1B[39;49;00m sess:#x1B[90m#x1B[39;49;00m
            resp = #x1B[94mawait#x1B[39;49;00m sess.get(server.make_url(#x1B[33m"#x1B[39;49;00m#x1B[33m/#x1B[39;49;00m#x1B[33m"#x1B[39;49;00m))#x1B[90m#x1B[39;49;00m
    #x1B[90m#x1B[39;49;00m
        #x1B[94mwith#x1B[39;49;00m pytest.raises(#x1B[96mRuntimeError#x1B[39;49;00m, match=#x1B[33m"#x1B[39;49;00m#x1B[33mConnection closed#x1B[39;49;00m#x1B[33m"#x1B[39;49;00m):#x1B[90m#x1B[39;49;00m
>           #x1B[94mawait#x1B[39;49;00m resp.read()#x1B[90m#x1B[39;49;00m

aiohttp_server = <function aiohttp_server.<locals>.go at 0x00000113AF0A37F0>
app        = <Application 0x113af0a12d0>
handler    = <function test_exception_when_read_outside_of_session.<locals>.handler at 0x00000113AF0A14E0>
resp       = <ClientResponse(http://127.0.0.1:62582/) [200 OK]>
<CIMultiDictProxy('Content-Length': '1000000', 'Content-Type': 'application/octet-stream', 'Date': 'Fri, 16 Jan 2026 01:24:17 GMT', 'Server': 'Python/3.14 aiohttp/4.0.0a2.dev0')>

server     = <aiohttp.test_utils.TestServer object at 0x00000113AD8B0B90>
sess       = <aiohttp.client.ClientSession object at 0x00000113AF98A680>

#x1B[1m#x1B[31mtests\test_client_functional.py#x1B[0m:4675: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
#x1B[1m#x1B[31maiohttp\client_reqrep.py#x1B[0m:592: in read
    #x1B[0m#x1B[96mself#x1B[39;49;00m._body = #x1B[94mawait#x1B[39;49;00m #x1B[96mself#x1B[39;49;00m.content.read()#x1B[90m#x1B[39;49;00m
                 ^^^^^^^^^^^^^^^^^^^^^^^^^#x1B[90m#x1B[39;49;00m
        self       = <ClientResponse(http://127.0.0.1:62582/) [200 OK]>
<CIMultiDictProxy('Content-Length': '1000000', 'Content-Type': 'application/octet-stream', 'Date': 'Fri, 16 Jan 2026 01:24:17 GMT', 'Server': 'Python/3.14 aiohttp/4.0.0a2.dev0')>

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <StreamReader 196445 bytes e=ClientPayloadError("'aiohttp._http_parser.HttpResponseParser' object has no attribute 'pause_reading'")>
n = -1

    #x1B[0m#x1B[94masync#x1B[39;49;00m #x1B[94mdef#x1B[39;49;00m#x1B[90m #x1B[39;49;00m#x1B[92mread#x1B[39;49;00m(#x1B[96mself#x1B[39;49;00m, n: #x1B[96mint#x1B[39;49;00m = -#x1B[94m1#x1B[39;49;00m) -> #x1B[96mbytes#x1B[39;49;00m:#x1B[90m#x1B[39;49;00m
        #x1B[94mif#x1B[39;49;00m #x1B[96mself#x1B[39;49;00m._exception #x1B[95mis#x1B[39;49;00m #x1B[95mnot#x1B[39;49;00m #x1B[94mNone#x1B[39;49;00m:#x1B[90m#x1B[39;49;00m
>           #x1B[94mraise#x1B[39;49;00m #x1B[96mself#x1B[39;49;00m._exception#x1B[90m#x1B[39;49;00m
#x1B[1m#x1B[31mE           aiohttp.client_exceptions.ClientPayloadError: 'aiohttp._http_parser.HttpResponseParser' object has no attribute 'pause_reading'#x1B[0m

n          = -1
self       = <StreamReader 196445 bytes e=ClientPayloadError("'aiohttp._http_parser.HttpResponseParser' object has no attribute 'pause_reading'")>

#x1B[1m#x1B[31maiohttp\streams.py#x1B[0m:405: ClientPayloadError
tests.test_client_functional::test_payload_decompress_size_limit[pyloop]

Flake rate in main: 10.00% (Passed 9 times, Failed 1 times)

Stack Traces | 0.372s run time
aiohttp_client = <function aiohttp_client.<locals>.go at 0x00000113AF0A0F60>

    #x1B[0m#x1B[94masync#x1B[39;49;00m #x1B[94mdef#x1B[39;49;00m#x1B[90m #x1B[39;49;00m#x1B[92mtest_payload_decompress_size_limit#x1B[39;49;00m(aiohttp_client: AiohttpClient) -> #x1B[94mNone#x1B[39;49;00m:#x1B[90m#x1B[39;49;00m
    #x1B[90m    #x1B[39;49;00m#x1B[33m"""Test that decompression size limit triggers DecompressSizeError.#x1B[39;49;00m
    #x1B[33m#x1B[39;49;00m
    #x1B[33m    When a compressed payload expands beyond the configured limit,#x1B[39;49;00m
    #x1B[33m    we raise DecompressSizeError.#x1B[39;49;00m
    #x1B[33m    """#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
        #x1B[90m# Create a highly compressible payload that exceeds the decompression limit.#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
        #x1B[90m# 64MiB of repeated bytes compresses to ~32KB but expands beyond the#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
        #x1B[90m# 32MiB per-call limit.#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
        original = #x1B[33mb#x1B[39;49;00m#x1B[33m"#x1B[39;49;00m#x1B[33mA#x1B[39;49;00m#x1B[33m"#x1B[39;49;00m * (#x1B[94m64#x1B[39;49;00m * #x1B[94m2#x1B[39;49;00m**#x1B[94m20#x1B[39;49;00m)#x1B[90m#x1B[39;49;00m
        compressed = zlib.compress(original)#x1B[90m#x1B[39;49;00m
        #x1B[94massert#x1B[39;49;00m #x1B[96mlen#x1B[39;49;00m(original) > DEFAULT_MAX_DECOMPRESS_SIZE#x1B[90m#x1B[39;49;00m
    #x1B[90m#x1B[39;49;00m
        #x1B[94masync#x1B[39;49;00m #x1B[94mdef#x1B[39;49;00m#x1B[90m #x1B[39;49;00m#x1B[92mhandler#x1B[39;49;00m(request: web.Request) -> web.Response:#x1B[90m#x1B[39;49;00m
            #x1B[90m# Send compressed data with Content-Encoding header#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
            resp = web.Response(body=compressed)#x1B[90m#x1B[39;49;00m
            resp.headers[#x1B[33m"#x1B[39;49;00m#x1B[33mContent-Encoding#x1B[39;49;00m#x1B[33m"#x1B[39;49;00m] = #x1B[33m"#x1B[39;49;00m#x1B[33mdeflate#x1B[39;49;00m#x1B[33m"#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
            #x1B[94mreturn#x1B[39;49;00m resp#x1B[90m#x1B[39;49;00m
    #x1B[90m#x1B[39;49;00m
        app = web.Application()#x1B[90m#x1B[39;49;00m
        app.router.add_get(#x1B[33m"#x1B[39;49;00m#x1B[33m/#x1B[39;49;00m#x1B[33m"#x1B[39;49;00m, handler)#x1B[90m#x1B[39;49;00m
        client = #x1B[94mawait#x1B[39;49;00m aiohttp_client(app)#x1B[90m#x1B[39;49;00m
    #x1B[90m#x1B[39;49;00m
        #x1B[94masync#x1B[39;49;00m #x1B[94mwith#x1B[39;49;00m client.get(#x1B[33m"#x1B[39;49;00m#x1B[33m/#x1B[39;49;00m#x1B[33m"#x1B[39;49;00m) #x1B[94mas#x1B[39;49;00m resp:#x1B[90m#x1B[39;49;00m
            #x1B[94massert#x1B[39;49;00m resp.status == #x1B[94m200#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
    #x1B[90m#x1B[39;49;00m
            #x1B[94mwith#x1B[39;49;00m pytest.raises(aiohttp.ClientPayloadError) #x1B[94mas#x1B[39;49;00m exc_info:  #x1B[90m# TODO#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
                #x1B[94mawait#x1B[39;49;00m resp.read()#x1B[90m#x1B[39;49;00m
    #x1B[90m#x1B[39;49;00m
>           #x1B[94massert#x1B[39;49;00m #x1B[96misinstance#x1B[39;49;00m(exc_info.value.__cause__, DecompressSizeError)#x1B[90m#x1B[39;49;00m
#x1B[1m#x1B[31mE           assert False#x1B[0m
#x1B[1m#x1B[31mE            +  where False = isinstance(AttributeError("'aiohttp._http_parser.HttpResponseParser' object has no attribute 'pause_reading'"), DecompressSizeError)#x1B[0m
#x1B[1m#x1B[31mE            +    where AttributeError("'aiohttp._http_parser.HttpResponseParser' object has no attribute 'pause_reading'") = ClientPayloadError("'aiohttp._http_parser.HttpResponseParser' object has no attribute 'pause_reading'").__cause__#x1B[0m
#x1B[1m#x1B[31mE            +      where ClientPayloadError("'aiohttp._http_parser.HttpResponseParser' object has no attribute 'pause_reading'") = <ExceptionInfo ClientPayloadError("'aiohttp._http_parser.HttpResponseParser' object has no attribute 'pause_reading'") tblen=3>.value#x1B[0m

aiohttp_client = <function aiohttp_client.<locals>.go at 0x00000113AF0A0F60>
app        = <Application 0x113adb9e400>
client     = <aiohttp.test_utils.TestClient object at 0x00000113AC4764A0>
compressed = b'x\x9c\xec\xc1\x81\x00\x00\x00\x00\x80 \xb6\xfd\xa5\x16\xa9\n\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00...x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x000\x17\xa3v<\xe2'
exc_info   = <ExceptionInfo ClientPayloadError("'aiohttp._http_parser.HttpResponseParser' object has no attribute 'pause_reading'") tblen=3>
handler    = <function test_payload_decompress_size_limit.<locals>.handler at 0x00000113ADB9D900>
original   = b'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA...AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA'
resp       = <ClientResponse(http://127.0.0.1:61073/) [200 OK]>
<CIMultiDictProxy('Content-Encoding': 'deflate', 'Content-Length': ...': 'application/octet-stream', 'Date': 'Fri, 16 Jan 2026 01:23:45 GMT', 'Server': 'Python/3.14 aiohttp/4.0.0a2.dev0')>


#x1B[1m#x1B[31mtests\test_client_functional.py#x1B[0m:2412: AssertionError
tests.test_client_proto::test_pause_resume_on_error[pyloop]

Flake rate in main: 5.18% (Passed 494 times, Failed 27 times)

Stack Traces | 0.128s run time
loop = <ProactorEventLoop running=False closed=False debug=False>

    #x1B[0m#x1B[94masync#x1B[39;49;00m #x1B[94mdef#x1B[39;49;00m#x1B[90m #x1B[39;49;00m#x1B[92mtest_pause_resume_on_error#x1B[39;49;00m(loop: asyncio.AbstractEventLoop) -> #x1B[94mNone#x1B[39;49;00m:#x1B[90m#x1B[39;49;00m
        proto = ResponseHandler(loop=loop)#x1B[90m#x1B[39;49;00m
        transport = mock.Mock()#x1B[90m#x1B[39;49;00m
        proto.connection_made(transport)#x1B[90m#x1B[39;49;00m
    #x1B[90m#x1B[39;49;00m
>       proto.pause_reading()#x1B[90m#x1B[39;49;00m

loop       = <ProactorEventLoop running=False closed=False debug=False>
proto      = <aiohttp.client_proto.ResponseHandler object at 0x000001CFA25EF360>
transport  = <Mock id='1991285106272'>

#x1B[1m#x1B[31mtests\test_client_proto.py#x1B[0m:42: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
#x1B[1m#x1B[31maiohttp\client_proto.py#x1B[0m:189: in pause_reading
    #x1B[0m#x1B[96msuper#x1B[39;49;00m().pause_reading()#x1B[90m#x1B[39;49;00m
        __class__  = <class 'aiohttp.client_proto.ResponseHandler'>
        self       = <aiohttp.client_proto.ResponseHandler object at 0x000001CFA25EF360>
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <aiohttp.client_proto.ResponseHandler object at 0x000001CFA25EF360>

    #x1B[0m#x1B[94mdef#x1B[39;49;00m#x1B[90m #x1B[39;49;00m#x1B[92mpause_reading#x1B[39;49;00m(#x1B[96mself#x1B[39;49;00m) -> #x1B[94mNone#x1B[39;49;00m:#x1B[90m#x1B[39;49;00m
        #x1B[96mself#x1B[39;49;00m._reading_paused = #x1B[94mTrue#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
>       #x1B[96mself#x1B[39;49;00m._parser.pause_reading()#x1B[90m#x1B[39;49;00m
        ^^^^^^^^^^^^^^^^^^^^^^^^^^#x1B[90m#x1B[39;49;00m
#x1B[1m#x1B[31mE       AttributeError: 'NoneType' object has no attribute 'pause_reading'#x1B[0m

self       = <aiohttp.client_proto.ResponseHandler object at 0x000001CFA25EF360>

#x1B[1m#x1B[31maiohttp\base_protocol.py#x1B[0m:59: AttributeError
tests.test_flowcontrol_streams::test_stream_reader_eof_when_full

Flake rate in main: 8.33% (Passed 11 times, Failed 1 times)

Stack Traces | 0.006s run time
#x1B[0m#x1B[94masync#x1B[39;49;00m #x1B[94mdef#x1B[39;49;00m#x1B[90m #x1B[39;49;00m#x1B[92mtest_stream_reader_eof_when_full#x1B[39;49;00m() -> #x1B[94mNone#x1B[39;49;00m:#x1B[90m#x1B[39;49;00m
        loop = asyncio.get_event_loop()#x1B[90m#x1B[39;49;00m
>       protocol = BaseProtocol(loop=loop)#x1B[90m#x1B[39;49;00m
                   ^^^^^^^^^^^^^^^^^^^^^^^#x1B[90m#x1B[39;49;00m
#x1B[1m#x1B[31mE       TypeError: BaseProtocol.__init__() missing 1 required positional argument: 'parser'#x1B[0m

loop       = <ProactorEventLoop running=False closed=False debug=False>

#x1B[1m#x1B[31mtests\test_flowcontrol_streams.py#x1B[0m:123: TypeError
tests.test_formdata::test_formdata_textio_charset

Flake rate in main: 8.33% (Passed 11 times, Failed 1 times)

Stack Traces | 0.211s run time
+ Exception Group Traceback (most recent call last):
  |   File "C:\hostedtoolcache\windows\Python\3.14.2\x64\Lib\site-packages\_pytest\runner.py", line 353, in from_call
  |     result: TResult | None = func()
  |                              ~~~~^^
  |   File "C:\hostedtoolcache\windows\Python\3.14.2\x64\Lib\site-packages\_pytest\runner.py", line 245, in <lambda>
  |     lambda: runtest_hook(item=item, **kwds),
  |             ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^
  |   File "C:\hostedtoolcache\windows\Python\3.14.2\x64\Lib\site-packages\pluggy\_hooks.py", line 512, in __call__
  |     return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
  |            ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  |   File "C:\hostedtoolcache\windows\Python\3.14.2\x64\Lib\site-packages\pluggy\_manager.py", line 120, in _hookexec
  |     return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
  |            ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  |   File "C:\hostedtoolcache\windows\Python\3.14.2\x64\Lib\site-packages\pluggy\_callers.py", line 167, in _multicall
  |     raise exception
  |   File "C:\hostedtoolcache\windows\Python\3.14.2\x64\Lib\site-packages\pluggy\_callers.py", line 139, in _multicall
  |     teardown.throw(exception)
  |     ~~~~~~~~~~~~~~^^^^^^^^^^^
  |   File "C:\hostedtoolcache\windows\Python\3.14.2\x64\Lib\site-packages\_pytest\logging.py", line 850, in pytest_runtest_call
  |     yield
  |   File "C:\hostedtoolcache\windows\Python\3.14.2\x64\Lib\site-packages\pluggy\_callers.py", line 139, in _multicall
  |     teardown.throw(exception)
  |     ~~~~~~~~~~~~~~^^^^^^^^^^^
  |   File "C:\hostedtoolcache\windows\Python\3.14.2\x64\Lib\site-packages\pluggy\_callers.py", line 53, in run_old_style_hookwrapper
  |     return result.get_result()
  |            ~~~~~~~~~~~~~~~~~^^
  |   File "C:\hostedtoolcache\windows\Python\3.14.2\x64\Lib\site-packages\pluggy\_result.py", line 103, in get_result
  |     raise exc.with_traceback(tb)
  |   File "C:\hostedtoolcache\windows\Python\3.14.2\x64\Lib\site-packages\pluggy\_callers.py", line 38, in run_old_style_hookwrapper
  |     res = yield
  |           ^^^^^
  |   File "C:\hostedtoolcache\windows\Python\3.14.2\x64\Lib\site-packages\pluggy\_callers.py", line 139, in _multicall
  |     teardown.throw(exception)
  |     ~~~~~~~~~~~~~~^^^^^^^^^^^
  |   File "C:\hostedtoolcache\windows\Python\3.14.2\x64\Lib\site-packages\_pytest\capture.py", line 900, in pytest_runtest_call
  |     return (yield)
  |             ^^^^^
  |   File "C:\hostedtoolcache\windows\Python\3.14.2\x64\Lib\site-packages\pluggy\_callers.py", line 139, in _multicall
  |     teardown.throw(exception)
  |     ~~~~~~~~~~~~~~^^^^^^^^^^^
  |   File "C:\hostedtoolcache\windows\Python\3.14.2\x64\Lib\site-packages\_pytest\skipping.py", line 268, in pytest_runtest_call
  |     return (yield)
  |             ^^^^^
  |   File "C:\hostedtoolcache\windows\Python\3.14.2\x64\Lib\site-packages\pluggy\_callers.py", line 121, in _multicall
  |     res = hook_impl.function(*args)
  |   File "C:\hostedtoolcache\windows\Python\3.14.2\x64\Lib\site-packages\_pytest\unraisableexception.py", line 158, in pytest_runtest_call
  |     collect_unraisable(item.config)
  |     ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^
  |   File "C:\hostedtoolcache\windows\Python\3.14.2\x64\Lib\site-packages\_pytest\unraisableexception.py", line 81, in collect_unraisable
  |     raise ExceptionGroup("multiple unraisable exception warnings", errors)
  | ExceptionGroup: multiple unraisable exception warnings (3 sub-exceptions)
  +-+---------------- 1 ----------------
    | Traceback (most recent call last):
    |   File "D:\a\aiohttp\aiohttp\aiohttp\test_utils.py", line 596, in teardown_test_loop
    |     gc.collect()
    |     ~~~~~~~~~~^^
    | ResourceWarning: unclosed <socket.socket fd=1548, family=2, type=1, proto=0, laddr=('127.0.0.1', 63507), raddr=('127.0.0.1', 63506)>
    | 
    | The above exception was the direct cause of the following exception:
    | 
    | Traceback (most recent call last):
    |   File "C:\hostedtoolcache\windows\Python\3.14.2\x64\Lib\site-packages\_pytest\unraisableexception.py", line 67, in collect_unraisable
    |     warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))
    |     ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    | pytest.PytestUnraisableExceptionWarning: Exception ignored while finalizing socket <socket.socket fd=1548, family=2, type=1, proto=0, laddr=('127.0.0.1', 63507), raddr=('127.0.0.1', 63506)>: None
    | 
    +---------------- 2 ----------------
    | Traceback (most recent call last):
    |   File "D:\a\aiohttp\aiohttp\aiohttp\test_utils.py", line 596, in teardown_test_loop
    |     gc.collect()
    |     ~~~~~~~~~~^^
    | ResourceWarning: unclosed <socket.socket fd=2032, family=2, type=1, proto=0, laddr=('127.0.0.1', 63506), raddr=('127.0.0.1', 63507)>
    | 
    | The above exception was the direct cause of the following exception:
    | 
    | Traceback (most recent call last):
    |   File "C:\hostedtoolcache\windows\Python\3.14.2\x64\Lib\site-packages\_pytest\unraisableexception.py", line 67, in collect_unraisable
    |     warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))
    |     ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    | pytest.PytestUnraisableExceptionWarning: Exception ignored while finalizing socket <socket.socket fd=2032, family=2, type=1, proto=0, laddr=('127.0.0.1', 63506), raddr=('127.0.0.1', 63507)>: None
    | 
    +---------------- 3 ----------------
    | Traceback (most recent call last):
    |   File "C:\hostedtoolcache\windows\Python\3.14.2\x64\Lib\asyncio\base_events.py", line 758, in __del__
    |     _warn(f"unclosed event loop {self!r}", ResourceWarning, source=self)
    |     ~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    | ResourceWarning: unclosed event loop <ProactorEventLoop running=False closed=False debug=False>
    | 
    | The above exception was the direct cause of the following exception:
    | 
    | Traceback (most recent call last):
    |   File "C:\hostedtoolcache\windows\Python\3.14.2\x64\Lib\site-packages\_pytest\unraisableexception.py", line 67, in collect_unraisable
    |     warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))
    |     ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    | pytest.PytestUnraisableExceptionWarning: Exception ignored while calling deallocator <function BaseEventLoop.__del__ at 0x000001CF9C67D850>: None
    | 
    +------------------------------------
tests.test_http_parser.TestParsePayload::test_http_payload_parser_deflate

Flake rate in main: 8.33% (Passed 11 times, Failed 1 times)

Stack Traces | 0.154s run time
+ Exception Group Traceback (most recent call last):
  |   File "C:\hostedtoolcache\windows\Python\3.14.2\x64\Lib\site-packages\_pytest\runner.py", line 353, in from_call
  |     result: TResult | None = func()
  |                              ~~~~^^
  |   File "C:\hostedtoolcache\windows\Python\3.14.2\x64\Lib\site-packages\_pytest\runner.py", line 245, in <lambda>
  |     lambda: runtest_hook(item=item, **kwds),
  |             ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^
  |   File "C:\hostedtoolcache\windows\Python\3.14.2\x64\Lib\site-packages\pluggy\_hooks.py", line 512, in __call__
  |     return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
  |            ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  |   File "C:\hostedtoolcache\windows\Python\3.14.2\x64\Lib\site-packages\pluggy\_manager.py", line 120, in _hookexec
  |     return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
  |            ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  |   File "C:\hostedtoolcache\windows\Python\3.14.2\x64\Lib\site-packages\pluggy\_callers.py", line 167, in _multicall
  |     raise exception
  |   File "C:\hostedtoolcache\windows\Python\3.14.2\x64\Lib\site-packages\pluggy\_callers.py", line 139, in _multicall
  |     teardown.throw(exception)
  |     ~~~~~~~~~~~~~~^^^^^^^^^^^
  |   File "C:\hostedtoolcache\windows\Python\3.14.2\x64\Lib\site-packages\_pytest\logging.py", line 850, in pytest_runtest_call
  |     yield
  |   File "C:\hostedtoolcache\windows\Python\3.14.2\x64\Lib\site-packages\pluggy\_callers.py", line 139, in _multicall
  |     teardown.throw(exception)
  |     ~~~~~~~~~~~~~~^^^^^^^^^^^
  |   File "C:\hostedtoolcache\windows\Python\3.14.2\x64\Lib\site-packages\pluggy\_callers.py", line 53, in run_old_style_hookwrapper
  |     return result.get_result()
  |            ~~~~~~~~~~~~~~~~~^^
  |   File "C:\hostedtoolcache\windows\Python\3.14.2\x64\Lib\site-packages\pluggy\_result.py", line 103, in get_result
  |     raise exc.with_traceback(tb)
  |   File "C:\hostedtoolcache\windows\Python\3.14.2\x64\Lib\site-packages\pluggy\_callers.py", line 38, in run_old_style_hookwrapper
  |     res = yield
  |           ^^^^^
  |   File "C:\hostedtoolcache\windows\Python\3.14.2\x64\Lib\site-packages\pluggy\_callers.py", line 139, in _multicall
  |     teardown.throw(exception)
  |     ~~~~~~~~~~~~~~^^^^^^^^^^^
  |   File "C:\hostedtoolcache\windows\Python\3.14.2\x64\Lib\site-packages\_pytest\capture.py", line 900, in pytest_runtest_call
  |     return (yield)
  |             ^^^^^
  |   File "C:\hostedtoolcache\windows\Python\3.14.2\x64\Lib\site-packages\pluggy\_callers.py", line 139, in _multicall
  |     teardown.throw(exception)
  |     ~~~~~~~~~~~~~~^^^^^^^^^^^
  |   File "C:\hostedtoolcache\windows\Python\3.14.2\x64\Lib\site-packages\_pytest\skipping.py", line 268, in pytest_runtest_call
  |     return (yield)
  |             ^^^^^
  |   File "C:\hostedtoolcache\windows\Python\3.14.2\x64\Lib\site-packages\pluggy\_callers.py", line 121, in _multicall
  |     res = hook_impl.function(*args)
  |   File "C:\hostedtoolcache\windows\Python\3.14.2\x64\Lib\site-packages\_pytest\unraisableexception.py", line 158, in pytest_runtest_call
  |     collect_unraisable(item.config)
  |     ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^
  |   File "C:\hostedtoolcache\windows\Python\3.14.2\x64\Lib\site-packages\_pytest\unraisableexception.py", line 81, in collect_unraisable
  |     raise ExceptionGroup("multiple unraisable exception warnings", errors)
  | ExceptionGroup: multiple unraisable exception warnings (3 sub-exceptions)
  +-+---------------- 1 ----------------
    | Traceback (most recent call last):
    |   File "D:\a\aiohttp\aiohttp\aiohttp\test_utils.py", line 596, in teardown_test_loop
    |     gc.collect()
    |     ~~~~~~~~~~^^
    | ResourceWarning: unclosed <socket.socket fd=2328, family=2, type=1, proto=0, laddr=('127.0.0.1', 65390), raddr=('127.0.0.1', 65389)>
    | 
    | The above exception was the direct cause of the following exception:
    | 
    | Traceback (most recent call last):
    |   File "C:\hostedtoolcache\windows\Python\3.14.2\x64\Lib\site-packages\_pytest\unraisableexception.py", line 67, in collect_unraisable
    |     warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))
    |     ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    | pytest.PytestUnraisableExceptionWarning: Exception ignored while finalizing socket <socket.socket fd=2328, family=2, type=1, proto=0, laddr=('127.0.0.1', 65390), raddr=('127.0.0.1', 65389)>: None
    | 
    +---------------- 2 ----------------
    | Traceback (most recent call last):
    |   File "D:\a\aiohttp\aiohttp\aiohttp\test_utils.py", line 596, in teardown_test_loop
    |     gc.collect()
    |     ~~~~~~~~~~^^
    | ResourceWarning: unclosed <socket.socket fd=1028, family=2, type=1, proto=0, laddr=('127.0.0.1', 65389), raddr=('127.0.0.1', 65390)>
    | 
    | The above exception was the direct cause of the following exception:
    | 
    | Traceback (most recent call last):
    |   File "C:\hostedtoolcache\windows\Python\3.14.2\x64\Lib\site-packages\_pytest\unraisableexception.py", line 67, in collect_unraisable
    |     warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))
    |     ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    | pytest.PytestUnraisableExceptionWarning: Exception ignored while finalizing socket <socket.socket fd=1028, family=2, type=1, proto=0, laddr=('127.0.0.1', 65389), raddr=('127.0.0.1', 65390)>: None
    | 
    +---------------- 3 ----------------
    | Traceback (most recent call last):
    |   File "C:\hostedtoolcache\windows\Python\3.14.2\x64\Lib\asyncio\base_events.py", line 758, in __del__
    |     _warn(f"unclosed event loop {self!r}", ResourceWarning, source=self)
    |     ~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    | ResourceWarning: unclosed event loop <ProactorEventLoop running=False closed=False debug=False>
    | 
    | The above exception was the direct cause of the following exception:
    | 
    | Traceback (most recent call last):
    |   File "C:\hostedtoolcache\windows\Python\3.14.2\x64\Lib\site-packages\_pytest\unraisableexception.py", line 67, in collect_unraisable
    |     warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))
    |     ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    | pytest.PytestUnraisableExceptionWarning: Exception ignored while calling deallocator <function BaseEventLoop.__del__ at 0x000001706D20D850>: None
    | 
    +------------------------------------
tests.test_http_parser.TestParsePayload::test_http_payload_parser_length

Flake rate in main: 8.33% (Passed 11 times, Failed 1 times)

Stack Traces | 0.09s run time
self = <test_http_parser.TestParsePayload object at 0x000001707054F890>
protocol = <NonCallableMagicMock spec_set='BaseProtocol' id='1582382447120'>

    #x1B[0m#x1B[94masync#x1B[39;49;00m #x1B[94mdef#x1B[39;49;00m#x1B[90m #x1B[39;49;00m#x1B[92mtest_http_payload_parser_length#x1B[39;49;00m(#x1B[96mself#x1B[39;49;00m, protocol: BaseProtocol) -> #x1B[94mNone#x1B[39;49;00m:#x1B[90m#x1B[39;49;00m
        out = aiohttp.StreamReader(protocol, #x1B[94m2#x1B[39;49;00m**#x1B[94m16#x1B[39;49;00m, loop=asyncio.get_running_loop())#x1B[90m#x1B[39;49;00m
        p = HttpPayloadParser(out, length=#x1B[94m2#x1B[39;49;00m, headers_parser=HeadersParser())#x1B[90m#x1B[39;49;00m
        eof, tail = p.feed_data(#x1B[33mb#x1B[39;49;00m#x1B[33m"#x1B[39;49;00m#x1B[33m1245#x1B[39;49;00m#x1B[33m"#x1B[39;49;00m)#x1B[90m#x1B[39;49;00m
>       #x1B[94massert#x1B[39;49;00m eof#x1B[90m#x1B[39;49;00m
#x1B[1m#x1B[31mE       assert <PayloadState.PAYLOAD_COMPLETE: 0>#x1B[0m

eof        = <PayloadState.PAYLOAD_COMPLETE: 0>
out        = <StreamReader 2 bytes eof>
p          = <aiohttp.http_parser.HttpPayloadParser object at 0x0000017071D94530>
protocol   = <NonCallableMagicMock spec_set='BaseProtocol' id='1582382447120'>
self       = <test_http_parser.TestParsePayload object at 0x000001707054F890>
tail       = b'45'

#x1B[1m#x1B[31mtests\test_http_parser.py#x1B[0m:1850: AssertionError
tests.test_websocket_parser::test_flow_control_binary[pyloop]

Flake rate in main: 10.00% (Passed 9 times, Failed 1 times)

Stack Traces | 0.149s run time
loop = <ProactorEventLoop running=False closed=False debug=False>

    #x1B[0m#x1B[37m@pytest#x1B[39;49;00m.fixture()#x1B[90m#x1B[39;49;00m
    #x1B[94mdef#x1B[39;49;00m#x1B[90m #x1B[39;49;00m#x1B[92mprotocol#x1B[39;49;00m(loop: asyncio.AbstractEventLoop) -> BaseProtocol:#x1B[90m#x1B[39;49;00m
        transport = mock.Mock(spec_set=asyncio.Transport)#x1B[90m#x1B[39;49;00m
>       protocol = BaseProtocol(loop)#x1B[90m#x1B[39;49;00m
                   ^^^^^^^^^^^^^^^^^^#x1B[90m#x1B[39;49;00m
#x1B[1m#x1B[31mE       TypeError: BaseProtocol.__init__() missing 1 required positional argument: 'parser'#x1B[0m

loop       = <ProactorEventLoop running=False closed=False debug=False>
transport  = <Mock spec_set='Transport' id='1991296721520'>

#x1B[1m#x1B[31mtests\test_websocket_parser.py#x1B[0m:117: TypeError
tests.test_websocket_parser::test_flow_control_multi_byte_text[pyloop]

Flake rate in main: 3.70% (Passed 26 times, Failed 1 times)

Stack Traces | 0.151s run time
loop = <ProactorEventLoop running=False closed=False debug=False>

    #x1B[0m#x1B[37m@pytest#x1B[39;49;00m.fixture()#x1B[90m#x1B[39;49;00m
    #x1B[94mdef#x1B[39;49;00m#x1B[90m #x1B[39;49;00m#x1B[92mprotocol#x1B[39;49;00m(loop: asyncio.AbstractEventLoop) -> BaseProtocol:#x1B[90m#x1B[39;49;00m
        transport = mock.Mock(spec_set=asyncio.Transport)#x1B[90m#x1B[39;49;00m
>       protocol = BaseProtocol(loop)#x1B[90m#x1B[39;49;00m
                   ^^^^^^^^^^^^^^^^^^#x1B[90m#x1B[39;49;00m
#x1B[1m#x1B[31mE       TypeError: BaseProtocol.__init__() missing 1 required positional argument: 'parser'#x1B[0m

loop       = <ProactorEventLoop running=False closed=False debug=False>
transport  = <Mock spec_set='Transport' id='1991296723872'>

#x1B[1m#x1B[31mtests\test_websocket_parser.py#x1B[0m:117: TypeError

To view more test analytics, go to the Test Analytics Dashboard
📋 Got 3 mins? Take this short survey to help us improve Test Analytics.

@codspeed-hq
Copy link

codspeed-hq bot commented Jan 15, 2026

CodSpeed Performance Report

Merging this PR will not alter performance

Comparing Dreamsorcerer-patch-5 (83fc87c) with master (8953ff7)1

Summary

✅ 59 untouched benchmarks

Footnotes

  1. No successful run was found on master (e6c565a) during the generation of this report, so 8953ff7 was used instead as the comparison base. There might be some changes unrelated to this pull request in this report.

@Dreamsorcerer Dreamsorcerer changed the title Test chunk splits after pause Allow decompression to continue after exceeding max_length Jan 15, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

backport-3.13 Trigger automatic backporting to the 3.13 release branch by Patchback robot backport-3.14 Trigger automatic backporting to the 3.14 release branch by Patchback robot bot:chronographer:skip This PR does not need to include a change note

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants