Hydra doesn’t try to build the package.
error: Cannot build '/nix/store/1f883a7zbngdx76xbh21brz2jr64l1mi-python3.13-aiohttp-3.13.5.drv'.
Reason: builder failed with exit code 1.
Output paths:
/nix/store/4hgyasqpnizx4fqgi9jz2ygg7yylz7hl-python3.13-aiohttp-3.13.5
/nix/store/rgcrhfpgxlqndbnmccgc4cqypvhxh676-python3.13-aiohttp-3.13.5-dist
Last 1000 log lines:
> [gw2] [ 99%] PASSED tests/test_worker.py::test__get_valid_log_format_ok[AsyncioWorker-pyloop-%(h)s %(l)s %(u)s %(t)s "%(r)s" %(s)s %(b)s "%(f)s" "%(a)s"-%a %t "%r" %s %b "%{Referer}i" "%{User-Agent}i"]
> tests/test_worker.py::test__get_valid_log_format_ok[AsyncioWorker-pyloop-%a "%{Referrer}i" %s-%a "%{Referrer}i" %s]
> [gw3] [ 99%] PASSED tests/test_worker.py::test__get_valid_log_format_ok[AsyncioWorker-pyloop-%a "%{Referrer}i" %s-%a "%{Referrer}i" %s]
> tests/test_worker.py::test__get_valid_log_format_exc[AsyncioWorker-pyloop]
> [gw0] [ 99%] PASSED tests/test_worker.py::test__get_valid_log_format_exc[AsyncioWorker-pyloop]
> tests/test_worker.py::test__run_exc[AsyncioWorker-pyloop]
> tests/test_worker.py::test__run_ok_parent_changed[AsyncioWorker-pyloop]
> [gw1] [ 99%] PASSED tests/test_worker.py::test__run_ok_parent_changed[AsyncioWorker-pyloop]
> tests/test_worker.py::test__create_ssl_context_without_certs_and_ciphers[AsyncioWorker-pyloop]
> [gw3] [ 99%] PASSED tests/test_worker.py::test__create_ssl_context_without_certs_and_ciphers[AsyncioWorker-pyloop]
> tests/test_worker.py::test__create_ssl_context_with_ciphers[AsyncioWorker-pyloop]
> [gw2] [ 99%] PASSED tests/test_worker.py::test__run_exc[AsyncioWorker-pyloop]
> [gw0] [ 99%] PASSED tests/test_worker.py::test__create_ssl_context_with_ciphers[AsyncioWorker-pyloop]
> tests/test_worker.py::test__create_ssl_context_with_ca_certs[AsyncioWorker-pyloop]
> [gw2] [100%] PASSED tests/test_worker.py::test__create_ssl_context_with_ca_certs[AsyncioWorker-pyloop]
>
> =================================== FAILURES ===================================
> _ test_parse_set_cookie_headers_uses_unquote_with_octal[name="\\012newline\\012"-name-\nnewline\n-"\\012newline\\012"] _
> [gw3] linux -- Python 3.13.13 /nix/store/wb047aczsfjjcknxardf9b0b32zdmkys-python3-3.13.13/bin/python3.13
>
> header = 'name="\\012newline\\012"', expected_name = 'name'
> expected_value = '\nnewline\n', expected_coded = '"\\012newline\\012"'
>
> @pytest.mark.parametrize(
> ("header", "expected_name", "expected_value", "expected_coded"),
> [
> # Test cookie values with octal escape sequences
> (r'name="\012newline\012"', "name", "\nnewline\n", r'"\012newline\012"'),
> (
> r'tab="\011separated\011values"',
> "tab",
> "\tseparated\tvalues",
> r'"\011separated\011values"',
> ),
> (
> r'mixed="hello\040world\041"',
> "mixed",
> "hello world!",
> r'"hello\040world\041"',
> ),
> (
> r'complex="\042quoted\042 text with \012 newline"',
> "complex",
> '"quoted" text with \n newline',
> r'"\042quoted\042 text with \012 newline"',
> ),
> ],
> )
> def test_parse_set_cookie_headers_uses_unquote_with_octal(
> header: str, expected_name: str, expected_value: str, expected_coded: str
> ) -> None:
> """Test that parse_set_cookie_headers correctly unquotes values with octal sequences and preserves coded_value."""
> > result = parse_set_cookie_headers([header])
> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>
> expected_coded = '"\\012newline\\012"'
> expected_name = 'name'
> expected_value = '\nnewline\n'
> header = 'name="\\012newline\\012"'
>
> tests/test_cookie_helpers.py:1124:
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
> /nix/store/4hgyasqpnizx4fqgi9jz2ygg7yylz7hl-python3.13-aiohttp-3.13.5/lib/python3.13/site-packages/aiohttp/_cookie_helpers.py:329: in parse_set_cookie_headers
> current_morsel.__setstate__( # type: ignore[attr-defined]
> current_morsel = <Morsel: None=None>
> header = 'name="\\012newline\\012"'
> headers = ['name="\\012newline\\012"']
> i = 22
> key = 'name'
> lower_key = 'name'
> match = <re.Match object; span=(0, 22), match='name="\\012newline\\012"'>
> morsel_seen = False
> n = 22
> parsed_cookies = []
> value = '"\\012newline\\012"'
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
>
> self = <Morsel: None=None>
> state = {'coded_value': '"\\012newline\\012"', 'key': 'name', 'value': '\nnewline\n'}
>
> def __setstate__(self, state):
> key = state['key']
> value = state['value']
> coded_value = state['coded_value']
> if _has_control_character(key, value, coded_value):
> > raise CookieError("Control characters are not allowed in cookies "
> f"{key!r} {value!r} {coded_value!r}")
> E http.cookies.CookieError: Control characters are not allowed in cookies 'name' '\nnewline\n' '"\\012newline\\012"'
>
> coded_value = '"\\012newline\\012"'
> key = 'name'
> self = <Morsel: None=None>
> state = {'coded_value': '"\\012newline\\012"', 'key': 'name', 'value': '\nnewline\n'}
> value = '\nnewline\n'
>
> /nix/store/wb047aczsfjjcknxardf9b0b32zdmkys-python3-3.13.13/lib/python3.13/http/cookies.py:377: CookieError
> _ test_parse_set_cookie_headers_uses_unquote_with_octal[tab="\\011separated\\011values"-tab-\tseparated\tvalues-"\\011separated\\011values"] _
> [gw3] linux -- Python 3.13.13 /nix/store/wb047aczsfjjcknxardf9b0b32zdmkys-python3-3.13.13/bin/python3.13
>
> header = 'tab="\\011separated\\011values"', expected_name = 'tab'
> expected_value = '\tseparated\tvalues'
> expected_coded = '"\\011separated\\011values"'
>
> @pytest.mark.parametrize(
> ("header", "expected_name", "expected_value", "expected_coded"),
> [
> # Test cookie values with octal escape sequences
> (r'name="\012newline\012"', "name", "\nnewline\n", r'"\012newline\012"'),
> (
> r'tab="\011separated\011values"',
> "tab",
> "\tseparated\tvalues",
> r'"\011separated\011values"',
> ),
> (
> r'mixed="hello\040world\041"',
> "mixed",
> "hello world!",
> r'"hello\040world\041"',
> ),
> (
> r'complex="\042quoted\042 text with \012 newline"',
> "complex",
> '"quoted" text with \n newline',
> r'"\042quoted\042 text with \012 newline"',
> ),
> ],
> )
> def test_parse_set_cookie_headers_uses_unquote_with_octal(
> header: str, expected_name: str, expected_value: str, expected_coded: str
> ) -> None:
> """Test that parse_set_cookie_headers correctly unquotes values with octal sequences and preserves coded_value."""
> > result = parse_set_cookie_headers([header])
> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>
> expected_coded = '"\\011separated\\011values"'
> expected_name = 'tab'
> expected_value = '\tseparated\tvalues'
> header = 'tab="\\011separated\\011values"'
>
> tests/test_cookie_helpers.py:1124:
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
> /nix/store/4hgyasqpnizx4fqgi9jz2ygg7yylz7hl-python3.13-aiohttp-3.13.5/lib/python3.13/site-packages/aiohttp/_cookie_helpers.py:329: in parse_set_cookie_headers
> current_morsel.__setstate__( # type: ignore[attr-defined]
> current_morsel = <Morsel: None=None>
> header = 'tab="\\011separated\\011values"'
> headers = ['tab="\\011separated\\011values"']
> i = 29
> key = 'tab'
> lower_key = 'tab'
> match = <re.Match object; span=(0, 29), match='tab="\\011separated\\011values"'>
> morsel_seen = False
> n = 29
> parsed_cookies = []
> value = '"\\011separated\\011values"'
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
>
> self = <Morsel: None=None>
> state = {'coded_value': '"\\011separated\\011values"', 'key': 'tab', 'value': '\tseparated\tvalues'}
>
> def __setstate__(self, state):
> key = state['key']
> value = state['value']
> coded_value = state['coded_value']
> if _has_control_character(key, value, coded_value):
> > raise CookieError("Control characters are not allowed in cookies "
> f"{key!r} {value!r} {coded_value!r}")
> E http.cookies.CookieError: Control characters are not allowed in cookies 'tab' '\tseparated\tvalues' '"\\011separated\\011values"'
>
> coded_value = '"\\011separated\\011values"'
> key = 'tab'
> self = <Morsel: None=None>
> state = {'coded_value': '"\\011separated\\011values"', 'key': 'tab', 'value': '\tseparated\tvalues'}
> value = '\tseparated\tvalues'
>
> /nix/store/wb047aczsfjjcknxardf9b0b32zdmkys-python3-3.13.13/lib/python3.13/http/cookies.py:377: CookieError
> _ test_parse_set_cookie_headers_uses_unquote_with_octal[complex="\\042quoted\\042 text with \\012 newline"-complex-"quoted" text with \n newline-"\\042quoted\\042 text with \\012 newline"] _
> [gw3] linux -- Python 3.13.13 /nix/store/wb047aczsfjjcknxardf9b0b32zdmkys-python3-3.13.13/bin/python3.13
>
> header = 'complex="\\042quoted\\042 text with \\012 newline"'
> expected_name = 'complex', expected_value = '"quoted" text with \n newline'
> expected_coded = '"\\042quoted\\042 text with \\012 newline"'
>
> @pytest.mark.parametrize(
> ("header", "expected_name", "expected_value", "expected_coded"),
> [
> # Test cookie values with octal escape sequences
> (r'name="\012newline\012"', "name", "\nnewline\n", r'"\012newline\012"'),
> (
> r'tab="\011separated\011values"',
> "tab",
> "\tseparated\tvalues",
> r'"\011separated\011values"',
> ),
> (
> r'mixed="hello\040world\041"',
> "mixed",
> "hello world!",
> r'"hello\040world\041"',
> ),
> (
> r'complex="\042quoted\042 text with \012 newline"',
> "complex",
> '"quoted" text with \n newline',
> r'"\042quoted\042 text with \012 newline"',
> ),
> ],
> )
> def test_parse_set_cookie_headers_uses_unquote_with_octal(
> header: str, expected_name: str, expected_value: str, expected_coded: str
> ) -> None:
> """Test that parse_set_cookie_headers correctly unquotes values with octal sequences and preserves coded_value."""
> > result = parse_set_cookie_headers([header])
> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>
> expected_coded = '"\\042quoted\\042 text with \\012 newline"'
> expected_name = 'complex'
> expected_value = '"quoted" text with \n newline'
> header = 'complex="\\042quoted\\042 text with \\012 newline"'
>
> tests/test_cookie_helpers.py:1124:
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
> /nix/store/4hgyasqpnizx4fqgi9jz2ygg7yylz7hl-python3.13-aiohttp-3.13.5/lib/python3.13/site-packages/aiohttp/_cookie_helpers.py:329: in parse_set_cookie_headers
> current_morsel.__setstate__( # type: ignore[attr-defined]
> current_morsel = <Morsel: None=None>
> header = 'complex="\\042quoted\\042 text with \\012 newline"'
> headers = ['complex="\\042quoted\\042 text with \\012 newline"']
> i = 47
> key = 'complex'
> lower_key = 'complex'
> match = <re.Match object; span=(0, 47), match='complex="\\042quoted\\042 text with \\012 newline>
> morsel_seen = False
> n = 47
> parsed_cookies = []
> value = '"\\042quoted\\042 text with \\012 newline"'
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
>
> self = <Morsel: None=None>
> state = {'coded_value': '"\\042quoted\\042 text with \\012 newline"', 'key': 'complex', 'value': '"quoted" text with \n newline'}
>
> def __setstate__(self, state):
> key = state['key']
> value = state['value']
> coded_value = state['coded_value']
> if _has_control_character(key, value, coded_value):
> > raise CookieError("Control characters are not allowed in cookies "
> f"{key!r} {value!r} {coded_value!r}")
> E http.cookies.CookieError: Control characters are not allowed in cookies 'complex' '"quoted" text with \n newline' '"\\042quoted\\042 text with \\012 newline"'
>
> coded_value = '"\\042quoted\\042 text with \\012 newline"'
> key = 'complex'
> self = <Morsel: None=None>
> state = {'coded_value': '"\\042quoted\\042 text with \\012 newline"', 'key': 'complex', 'value': '"quoted" text with \n newline'}
> value = '"quoted" text with \n newline'
>
> /nix/store/wb047aczsfjjcknxardf9b0b32zdmkys-python3-3.13.13/lib/python3.13/http/cookies.py:377: CookieError
> ============================= slowest 10 durations =============================
> 9.51s call tests/test_run_app.py::TestShutdown::test_shutdown_new_conn_rejected
> 4.01s call tests/test_run_app.py::TestShutdown::test_shutdown_pending_handler_responds
> 2.51s call tests/test_run_app.py::TestShutdown::test_shutdown_wait_for_handler
> 2.41s call tests/test_run_app.py::TestShutdown::test_shutdown_handler_cancellation_suppressed
> 2.32s call tests/test_client_functional.py::test_payload_decompress_size_limit_brotli[pyloop]
> 2.01s call tests/test_client_functional.py::test_read_timeout_between_chunks[pyloop]
> 2.01s call tests/test_client_functional.py::test_set_cookies_max_age[pyloop]
> 1.61s call tests/test_run_app.py::TestShutdown::test_shutdown_timeout_handler
> 1.51s call tests/test_run_app.py::TestShutdown::test_shutdown_timeout_not_reached
> 1.34s call tests/test_pytest_plugin.py::test_aiohttp_plugin
> =========================== short test summary info ============================
> SKIPPED [1] tests/autobahn/test_autobahn.py:13: could not import 'python_on_whales': No module named 'python_on_whales'
> SKIPPED [1] tests/test_client_session.py:377: This test is for Python < 3.11 runtime warning behavior
> SKIPPED [1] tests/test_client_session.py:1144: The check is applied in DEBUG mode only
> SKIPPED [1] tests/test_connector.py:3786: Proactor Event loop present only in Windows
> SKIPPED [1] tests/test_connector.py:3794: Proactor Event loop present only in Windows
> SKIPPED [1] tests/test_connector.py:3805: Proactor Event loop present only in Windows
> SKIPPED [1] tests/test_connector.py:4005: Proactor Event loop present only in Windows
> SKIPPED [1] tests/test_cookie_helpers.py:433: Partitioned cookies support requires Python 3.14+
> SKIPPED [1] tests/test_cookie_helpers.py:492: Partitioned cookies support requires Python 3.14+
> SKIPPED [1] tests/test_cookie_helpers.py:532: Partitioned cookies support requires Python 3.14+
> SKIPPED [1] tests/test_connector.py:2081: This test is for Python < 3.11 runtime warning behavior
> SKIPPED [1] tests/test_connector.py:2164: Test for Python < 3.11
> SKIPPED [1] tests/test_connector.py:2491: This test is for Python < 3.11 runtime warning behavior
> SKIPPED [1] tests/test_multipart_helpers.py:99: need more smart parser which respects quoted text
> SKIPPED [1] tests/test_multipart_helpers.py:446: should raise decoding error: %82 is invalid for latin1
> SKIPPED [1] tests/test_multipart_helpers.py:455: should raise decoding error: %E4 is invalid for utf-8
> SKIPPED [1] tests/test_multipart_helpers.py:510: urllib.parse.unquote is tolerate to standalone % chars
> SKIPPED [1] tests/test_multipart_helpers.py:519: urllib.parse.unquote is tolerate to standalone % chars
> SKIPPED [1] tests/test_resolver.py:467: aiodns <3.2.0 required
> SKIPPED [1] tests/test_proxy_functional.py:134: asyncio on this python supports TLS in TLS
> SKIPPED [1] tests/test_proxy_functional.py:437: we need to reconsider how we test this
> SKIPPED [1] tests/test_proxy_functional.py:459: we need to reconsider how we test this
> SKIPPED [1] tests/test_urldispatch.py:1022: aiohttp folder is not placed in user's HOME
> SKIPPED [1] tests/test_web_app.py:378: The check is applied in DEBUG mode only
> SKIPPED [1] tests/test_web_runner.py:139: Proactor Event loop present only in Windows
> SKIPPED [1] tests/test_web_runner.py:151: Proactor Event loop present only in Windows
> SKIPPED [1] tests/test_web_response.py:925: No partitioned support
> XFAIL tests/test_client_functional.py::test_broken_connection[pyloop]
> XFAIL tests/test_connector.py::test_del_with_scheduled_cleanup[pyloop]
> XFAIL tests/test_http_parser.py::test_parse_unusual_request_line[c-parser-pyloop] - Regression test for Py parser. May match C behaviour later.
> XFAIL tests/test_http_parser.py::test_http_request_parser_utf8_request_line[c-parser-pyloop] - Regression test for Py parser. May match C behaviour later.
> XFAIL tests/test_http_parser.py::test_parse_uri_utf8[c-parser-pyloop] - Not valid HTTP. Maybe update py-parser to reject later.
> FAILED tests/test_cookie_helpers.py::test_parse_set_cookie_headers_uses_unquote_with_octal[name="\\012newline\\012"-name-\nnewline\n-"\\012newline\\012"] - http.cookies.CookieError: Control characters are not allowed in cookies 'na...
> FAILED tests/test_cookie_helpers.py::test_parse_set_cookie_headers_uses_unquote_with_octal[tab="\\011separated\\011values"-tab-\tseparated\tvalues-"\\011separated\\011values"] - http.cookies.CookieError: Control characters are not allowed in cookies 'ta...
> FAILED tests/test_cookie_helpers.py::test_parse_set_cookie_headers_uses_unquote_with_octal[complex="\\042quoted\\042 text with \\012 newline"-complex-"quoted" text with \n newline-"\\042quoted\\042 text with \\012 newline"] - http.cookies.CookieError: Control characters are not allowed in cookies 'co...
> = 3 failed, 4394 passed, 27 skipped, 5 xfailed, 2 subtests passed in 132.18s (0:02:12) =
For full logs, run:
nix log /nix/store/1f883a7zbngdx76xbh21brz2jr64l1mi-python3.13-aiohttp-3.13.5.drv
Nixpkgs version
Steps to reproduce
building locally from staging branch
Can Hydra reproduce this build failure?
Hydra doesn’t try to build the package.
Link to Hydra build job
No response
Relevant log output
Additional context
No response
System metadata
"x86_64-linux"Linux 5.15.167.4-microsoft-standard-WSL2noyesnix-env (Nix) 2.32.6not foundNotify maintainers
@dotlambda
Note for maintainers: Please tag this issue in your pull request description. (i.e.
Resolves #ISSUE.)I assert that this issue is relevant for Nixpkgs
Is this issue important to you?
Add a 👍 reaction to issues you find important.