#1139423 vcr.py: FTBFS with aiohttp 3.14

Package:
src:vcr.py
Source:
src:vcr.py
Submitter:
Santiago Vila
Date:
2026-06-11 12:37:03 UTC
Severity:
normal
Tags:
#1139423#5
Date:
2026-06-08 23:15:06 UTC
From:
To:
Dear maintainer:

During a rebuild of all packages in unstable, this package failed to build.

Below you will find the last part of the build log (probably the most
relevant part, but not necessarily). If required, the full build log
is available here:

https://people.debian.org/~sanvila/build-logs/202606/

About the archive rebuild: The build was made on virtual machines from AWS,
using sbuild and a reduced chroot with only build-essential packages.

If you cannot reproduce the bug please contact me privately, as I
am willing to provide ssh access to a virtual machine where the bug is
fully reproducible.

If this is really a bug in one of the build-depends, please use
reassign and add an affects on src:vcr.py, so that this is still
visible in the BTS web page for this package.

Thanks.
--------------------------------------------------------------------------------
[...]
 debian/rules clean
dh clean --buildsystem=pybuild
   dh_auto_clean -O--buildsystem=pybuild
   dh_autoreconf_clean -O--buildsystem=pybuild
   dh_clean -O--buildsystem=pybuild
 debian/rules binary
dh binary --buildsystem=pybuild
   dh_update_autotools_config -O--buildsystem=pybuild
   dh_autoreconf -O--buildsystem=pybuild
   dh_auto_configure -O--buildsystem=pybuild
   dh_auto_build -O--buildsystem=pybuild
I: pybuild plugin_pyproject:142: Building wheel for python3.14 with "build" module
I: pybuild base:385: python3.14 -m build --skip-dependency-check --no-isolation --wheel --outdir /<<PKGBUILDDIR>>/.pybuild/cpython3_3.14_vcr

[... snipped ...]

    from multidict import CIMultiDict, CIMultiDictProxy, MultiDict
    from yarl import URL

    from vcr.errors import CannotOverwriteExistingCassetteException
    from vcr.request import Request

    log = logging.getLogger(__name__)
vcr/stubs/aiohttp_stubs.py:21: AttributeError
             ^^^^^^^^^^^^^^^^^^

tests/unit/test_vcr.py:373:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
vcr/cassette.py:84: in __enter__
    return next(self.__finish)
           ^^^^^^^^^^^^^^^^^^^
vcr/cassette.py:58: in _patch_generator
    for patcher in CassettePatcherBuilder(cassette).build():
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
vcr/patch.py:129: in _build_patchers_from_mock_triples
    for args in mock_triples:
                ^^^^^^^^^^^^
vcr/patch.py:301: in _aiohttp
    from .stubs.aiohttp_stubs import vcr_request
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

    """Stubs for aiohttp HTTP clients"""

    import asyncio
    import functools
    import json
    import logging
    from collections.abc import Mapping
    from http.cookies import CookieError, Morsel, SimpleCookie

    from aiohttp import ClientConnectionError, ClientResponse, CookieJar, RequestInfo, hdrs, streams
    from aiohttp.helpers import strip_auth_from_url
    from multidict import CIMultiDict, CIMultiDictProxy, MultiDict
    from yarl import URL

    from vcr.errors import CannotOverwriteExistingCassetteException
    from vcr.request import Request

    log = logging.getLogger(__name__)
vcr/stubs/aiohttp_stubs.py:21: AttributeError

tests/unit/test_vcr.py:388:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
vcr/cassette.py:127: in _handle_generator
    with self as cassette:
         ^^^^
vcr/cassette.py:84: in __enter__
    return next(self.__finish)
           ^^^^^^^^^^^^^^^^^^^
vcr/cassette.py:58: in _patch_generator
    for patcher in CassettePatcherBuilder(cassette).build():
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
vcr/patch.py:129: in _build_patchers_from_mock_triples
    for args in mock_triples:
                ^^^^^^^^^^^^
vcr/patch.py:301: in _aiohttp
    from .stubs.aiohttp_stubs import vcr_request
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

    """Stubs for aiohttp HTTP clients"""

    import asyncio
    import functools
    import json
    import logging
    from collections.abc import Mapping
    from http.cookies import CookieError, Morsel, SimpleCookie

    from aiohttp import ClientConnectionError, ClientResponse, CookieJar, RequestInfo, hdrs, streams
    from aiohttp.helpers import strip_auth_from_url
    from multidict import CIMultiDict, CIMultiDictProxy, MultiDict
    from yarl import URL

    from vcr.errors import CannotOverwriteExistingCassetteException
    from vcr.request import Request

    log = logging.getLogger(__name__)
vcr/stubs/aiohttp_stubs.py:21: AttributeError
=============================== warnings summary ===============================
../../../../../../usr/lib/python3/dist-packages/_pytest/config/__init__.py:1434
  /usr/lib/python3/dist-packages/_pytest/config/__init__.py:1434: PytestConfigWarning: Unknown config option: asyncio_default_fixture_loop_scope

    self._warn_or_fail_if_strict(f"Unknown config option: {key}\n")

../../../../../../usr/lib/python3/dist-packages/_pytest/config/__init__.py:1434
  /usr/lib/python3/dist-packages/_pytest/config/__init__.py:1434: PytestConfigWarning: Unknown config option: asyncio_default_test_loop_scope

    self._warn_or_fail_if_strict(f"Unknown config option: {key}\n")

.pybuild/cpython3_3.13_vcr/build/tests/integration/test_wild.py::test_xmlrpclib
  /usr/lib/python3.13/multiprocessing/popen_fork.py:67: DeprecationWarning: This process (pid=114) is multi-threaded, use of fork() may lead to deadlocks in the child.
    self.pid = os.fork()

#1139423#10
Date:
2026-06-09 01:48:11 UTC
From:
To:

#1139423#29
Date:
2026-06-10 13:01:43 UTC
From:
To:
Hello,

Bug #1139423 in vcr.py reported by you has been fixed in the
Git repository and is awaiting an upload. You can see the commit
message below and you can check the diff of the fix at:

https://salsa.debian.org/python-team/packages/vcr.py/-/commit/96b06a701dcb7a62b002292155f7fba0f24d21c1

(this message was generated automatically)
-- 
Greetings

https://bugs.debian.org/1139423

#1139423#38
Date:
2026-06-11 12:34:18 UTC
From:
To:
We believe that the bug you reported is fixed in the latest version of
vcr.py, which is due to be installed in the Debian FTP archive.

A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to 1139423@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Tianyu Chen <billchenchina2001@gmail.com> (supplier of updated vcr.py package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmaster@ftp-master.debian.org)
Format: 1.8
Date: Wed, 10 Jun 2026 23:22:45 +0800
Source: vcr.py
Architecture: source
Version: 8.1.1-3
Distribution: unstable
Urgency: medium
Maintainer: Debian Python Team <team+python@tracker.debian.org>
Changed-By: Tianyu Chen <billchenchina2001@gmail.com>
Closes: 1139423
Changes:
 vcr.py (8.1.1-3) unstable; urgency=medium
 .
   * Team upload.
   * Fix aiohttp 3.14 compatibility. (Closes: #1139423)
   * Remove redundant Priority: optional from source stanza.
   * Update standards version to 4.7.4, no changes needed.
   * Drop redundant Rules-Requires-Root: no.
   * Update watchfile to version 5.
Checksums-Sha1:
 436bad68860a6f1611c9a69b4c5fbaed7b1587b1 2924 vcr.py_8.1.1-3.dsc
 eca5208f9f8cb4d1be7b04fcc38725ffdfa7f82a 8292 vcr.py_8.1.1-3.debian.tar.xz
 a6dd032a56ccf482f186aa0b33e3ff37dc19f2ec 9721 vcr.py_8.1.1-3_source.buildinfo
Checksums-Sha256:
 9b99bb91300dff296f55593a78544216a3e0354e9762a4bf7859467e495dab16 2924 vcr.py_8.1.1-3.dsc
 84744185ba9dda0335a0a3a1fb05f780c39ea7a2e3bcd8f224ec4c3a7a557584 8292 vcr.py_8.1.1-3.debian.tar.xz
 2642e269cc949177f9b344193ea5b6e327944d7bcf5aedbc9bf23f524a1a27d0 9721 vcr.py_8.1.1-3_source.buildinfo
Files:
 287e6bb7c19594a1a55b5c3ac50e1745 2924 python optional vcr.py_8.1.1-3.dsc
 79adaced03be48edd7348036192b22ee 8292 python optional vcr.py_8.1.1-3.debian.tar.xz
 e62fbbde60f97fc6f8c16538ebf93daa 9721 python optional vcr.py_8.1.1-3_source.buildinfo
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEEiGk+iSMUlxR0m46kHr/P6QviVc0FAmoqpOwACgkQHr/P6Qvi
Vc1s1BAApaH5D6dQhm2dv3fe3FMm7cmoprNpAx6NibOsUpIsQl/D8iGqquwudG77
wF+kv8+UEsbxfoebPqYKjqk+6C9LEl4dPqX/WN7IE0FX/z5WBOggMNfrgArFrHt+
UOKiHXbq7U/PDgygmm7Fs3hdTI60MNCdvW6vN0Y3+ws6NcYRXZmSa1up+YCPeLFh
KfZVfp73FYEdeDK9oxBWfuI48N7b2S9sAH7v9RcsAsoqlyctYMjlEEUsh5tT2zXK
kXX3sqUgMcdbVCFBpD0fsHYlNsv9tu6iMd+mtjBkaCzRCTzK2dlkiod03Y/nHXqu
4qPRDu4TRLvHEvxL+kNGZOVsHbkZ/XgGE6k8xzDBPAs/Aq21aJNp2AhrXvrFiEj+
TaeWWVM0a898BPmmSywVna08XrxgPcA6zaHqgvoMA/yQgasFgDw414+P55kQe1mM
Eerh8XAHANrRzK3aS6oiiybtKX9TJdGo8C0IJaa20tqJSzLJQlY4edvmO35hsall
1Uj0OeqpYZsZE+Zo4booaeagolXUWOFP6eOX5qcLV22Ulvvb9yVrJTfCovdu3n55
bpUFd4Qtb7WboshthE94sYUDjudOp8Xtupos6QX+FESCEcc6Eau/BNuzBhwv9eac
SLlgYlhOpJZFbfasLtwdyXLvy1lCb85TsT8tfc1HLPORM1RUNrA=
=Cf9z
-----END PGP SIGNATURE-----