Your message dated Thu, 08 Jan 2026 01:33:25 +0000
with message-id <[email protected]>
and subject line Bug#1123386: fixed in fsspec 2025.12.0-1
has caused the Debian Bug report #1123386,
regarding fsspec: FTBFS: FAILED 
fsspec/implementations/tests/test_gist.py::test_gist_public_all_files[2656908684d3965b80c2-2fb2f12f332f7e242b1a2af1f41e30ddf99f24c7]
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact [email protected]
immediately.)


-- 
1123386: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1123386
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Package: src:fsspec
Version: 2025.7.0-4
Severity: serious
Tags: ftbfs forky sid

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/202512/

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:fsspec, so that this is still
visible in the BTS web page for this package.

Thanks.

--------------------------------------------------------------------------------
[...]
 debian/rules clean
dh clean --with sphinxdoc,python3 --buildsystem=pybuild
   debian/rules override_dh_auto_clean
make[1]: Entering directory '/<<PKGBUILDDIR>>'
dh_auto_clean
/usr/bin/make -C docs clean
make[2]: Entering directory '/<<PKGBUILDDIR>>/docs'
make[2]: Leaving directory '/<<PKGBUILDDIR>>/docs'
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
   dh_autoreconf_clean -O--buildsystem=pybuild
   dh_clean -O--buildsystem=pybuild
 debian/rules binary
dh binary --with sphinxdoc,python3 --buildsystem=pybuild
   dh_update_autotools_config -O--buildsystem=pybuild
   dh_autoreconf -O--buildsystem=pybuild

[... snipped ...]

            if other is not None:
                other -= 1
    
        elif response and response.get_redirect_location():
            # Redirect retry?
            if redirect is not None:
                redirect -= 1
            cause = "too many redirects"
            response_redirect_location = response.get_redirect_location()
            if response_redirect_location:
                redirect_location = response_redirect_location
            status = response.status
    
        else:
            # Incrementing because of a server error like a 500 in
            # status_forcelist and the given method is in the allowed_methods
            cause = ResponseError.GENERIC_ERROR
            if response and response.status:
                if status_count is not None:
                    status_count -= 1
                cause = 
ResponseError.SPECIFIC_ERROR.format(status_code=response.status)
                status = response.status
    
        history = self.history + (
            RequestHistory(method, url, error, status, redirect_location),
        )
    
        new_retry = self.new(
            total=total,
            connect=connect,
            read=read,
            redirect=redirect,
            status=status_count,
            other=other,
            history=history,
        )
    
        if new_retry.is_exhausted():
            reason = error or ResponseError(cause)
>           raise MaxRetryError(_pool, url, reason) from reason  # type: 
> ignore[arg-type]
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
E           urllib3.exceptions.MaxRetryError: 
HTTPSConnectionPool(host='api.github.com', port=443): Max retries exceeded with 
url: /gists/2656908684d3965b80c2/2fb2f12f332f7e242b1a2af1f41e30ddf99f24c7 
(Caused by ProxyError('Unable to connect to proxy', 
NewConnectionError('<urllib3.connection.HTTPSConnection object at 
0x7fe549511a90>: Failed to establish a new connection: [Errno 111] Connection 
refused')))

/usr/lib/python3/dist-packages/urllib3/util/retry.py:519: MaxRetryError

During handling of the above exception, another exception occurred:

gist_id = '2656908684d3965b80c2'
sha = '2fb2f12f332f7e242b1a2af1f41e30ddf99f24c7'
file = 'file-that-doesnt-exist.py'

    @pytest.mark.parametrize(
        "gist_id,sha,file",
        [
            (
                "2656908684d3965b80c2",
                "2fb2f12f332f7e242b1a2af1f41e30ddf99f24c7",
                "file-that-doesnt-exist.py",
            )
        ],
    )
    def test_gist_public_missing_file(gist_id, sha, file):
        with pytest.raises(FileNotFoundError):
>           fsspec.filesystem("gist", gist_id=gist_id, sha=sha, 
> filenames=[file])

/<<PKGBUILDDIR>>/.pybuild/cpython3_3.14_fsspec/build/fsspec/implementations/tests/test_gist.py:62:
 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.14_fsspec/build/fsspec/registry.py:322: in 
filesystem
    return cls(**storage_options)
           ^^^^^^^^^^^^^^^^^^^^^^
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.14_fsspec/build/fsspec/spec.py:81: in 
__call__
    obj = super().__call__(*args, **kwargs)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.14_fsspec/build/fsspec/implementations/gist.py:65:
 in __init__
    self.dircache[""] = self._fetch_file_list()
                        ^^^^^^^^^^^^^^^^^^^^^^^
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.14_fsspec/build/fsspec/implementations/gist.py:96:
 in _fetch_file_list
    meta = self._fetch_gist_metadata()
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.14_fsspec/build/fsspec/implementations/gist.py:83:
 in _fetch_gist_metadata
    r = requests.get(url, timeout=self.timeout, **self.kw)
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
/usr/lib/python3/dist-packages/requests/api.py:73: in get
    return request("get", url, params=params, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
/usr/lib/python3/dist-packages/requests/api.py:59: in request
    return session.request(method=method, url=url, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
/usr/lib/python3/dist-packages/requests/sessions.py:589: in request
    resp = self.send(prep, **send_kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
/usr/lib/python3/dist-packages/requests/sessions.py:703: in send
    r = adapter.send(request, **kwargs)
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <requests.adapters.HTTPAdapter object at 0x7fe5496e4770>
request = <PreparedRequest [GET]>, stream = False
timeout = Timeout(connect=60, read=60, total=None), verify = True, cert = None
proxies = OrderedDict({'no': 'localhost', 'https': 'https://127.0.0.1:9/', 
'http': 'http://127.0.9.1:9'})

    def send(
        self, request, stream=False, timeout=None, verify=True, cert=None, 
proxies=None
    ):
        """Sends PreparedRequest object. Returns Response object.
    
        :param request: The :class:`PreparedRequest <PreparedRequest>` being 
sent.
        :param stream: (optional) Whether to stream the request content.
        :param timeout: (optional) How long to wait for the server to send
            data before giving up, as a float, or a :ref:`(connect timeout,
            read timeout) <timeouts>` tuple.
        :type timeout: float or tuple or urllib3 Timeout object
        :param verify: (optional) Either a boolean, in which case it controls 
whether
            we verify the server's TLS certificate, or a string, in which case 
it
            must be a path to a CA bundle to use
        :param cert: (optional) Any user-provided SSL certificate to be trusted.
        :param proxies: (optional) The proxies dictionary to apply to the 
request.
        :rtype: requests.Response
        """
    
        try:
            conn = self.get_connection_with_tls_context(
                request, verify, proxies=proxies, cert=cert
            )
        except LocationValueError as e:
            raise InvalidURL(e, request=request)
    
        self.cert_verify(conn, request.url, verify, cert)
        url = self.request_url(request, proxies)
        self.add_headers(
            request,
            stream=stream,
            timeout=timeout,
            verify=verify,
            cert=cert,
            proxies=proxies,
        )
    
        chunked = not (request.body is None or "Content-Length" in 
request.headers)
    
        if isinstance(timeout, tuple):
            try:
                connect, read = timeout
                timeout = TimeoutSauce(connect=connect, read=read)
            except ValueError:
                raise ValueError(
                    f"Invalid timeout {timeout}. Pass a (connect, read) timeout 
tuple, "
                    f"or a single float to set both timeouts to the same value."
                )
        elif isinstance(timeout, TimeoutSauce):
            pass
        else:
            timeout = TimeoutSauce(connect=timeout, read=timeout)
    
        try:
            resp = conn.urlopen(
                method=request.method,
                url=url,
                body=request.body,
                headers=request.headers,
                redirect=False,
                assert_same_host=False,
                preload_content=False,
                decode_content=False,
                retries=self.max_retries,
                timeout=timeout,
                chunked=chunked,
            )
    
        except (ProtocolError, OSError) as err:
            raise ConnectionError(err, request=request)
    
        except MaxRetryError as e:
            if isinstance(e.reason, ConnectTimeoutError):
                # TODO: Remove this in 3.0.0: see #2811
                if not isinstance(e.reason, NewConnectionError):
                    raise ConnectTimeout(e, request=request)
    
            if isinstance(e.reason, ResponseError):
                raise RetryError(e, request=request)
    
            if isinstance(e.reason, _ProxyError):
>               raise ProxyError(e, request=request)
E               requests.exceptions.ProxyError: 
HTTPSConnectionPool(host='api.github.com', port=443): Max retries exceeded with 
url: /gists/2656908684d3965b80c2/2fb2f12f332f7e242b1a2af1f41e30ddf99f24c7 
(Caused by ProxyError('Unable to connect to proxy', 
NewConnectionError('<urllib3.connection.HTTPSConnection object at 
0x7fe549511a90>: Failed to establish a new connection: [Errno 111] Connection 
refused')))

/usr/lib/python3/dist-packages/requests/adapters.py:671: ProxyError
=============================== warnings summary ===============================
fsspec/tests/test_async.py::test_async_streamed_file_write
  /usr/lib/python3.14/functools.py:58: RuntimeWarning: coroutine 
'test_run_coros_in_chunks.<locals>.runner' was never awaited
    getattr(wrapper, attr).update(getattr(wrapped, attr, {}))
  Enable tracemalloc to get traceback where the object was allocated.
  See 
https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings
 for more info.

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
=========================== short test summary info ============================
FAILED 
fsspec/implementations/tests/test_gist.py::test_gist_public_all_files[2656908684d3965b80c2-2fb2f12f332f7e242b1a2af1f41e30ddf99f24c7]
FAILED 
fsspec/implementations/tests/test_gist.py::test_gist_public_one_file[2656908684d3965b80c2-2fb2f12f332f7e242b1a2af1f41e30ddf99f24c7-distributed_error_logs_PY3_7-3-2016]
FAILED 
fsspec/implementations/tests/test_gist.py::test_gist_public_missing_file[2656908684d3965b80c2-2fb2f12f332f7e242b1a2af1f41e30ddf99f24c7-file-that-doesnt-exist.py]
= 3 failed, 1428 passed, 339 skipped, 3 deselected, 2 xfailed, 1 warning in 
23.15s =
E: pybuild pybuild:389: test: plugin pyproject failed with: exit code=1: cd 
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.14_fsspec/build; python3.14 -m pytest 
--ignore=fsspec/implementations/tests/test_http_sync.py  
--ignore=fsspec/implementations/tests/test_github.py -k 'not 
test_dbfs_file_listing and not test_dbfs_mkdir and not test_dbfs_write_and_read 
and not test_dbfs_read_range and not test_dbfs_read_range_chunked and not 
test_find_returns_expected_result_detail_true_include_dirs and not 
test_find_returns_expected_result_detail_true and not 
test_async_cat_file_ranges' fsspec/
I: pybuild pybuild:308: cp -R /<<PKGBUILDDIR>>/fsspec/tests 
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_fsspec/build/fsspec/ ; cp -R 
/<<PKGBUILDDIR>>/fsspec/implementations/tests 
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_fsspec/build/fsspec/implementations/
I: pybuild base:317: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_fsspec/build; 
python3.13 -m pytest --ignore=fsspec/implementations/tests/test_http_sync.py  
--ignore=fsspec/implementations/tests/test_github.py -k 'not 
test_dbfs_file_listing and not test_dbfs_mkdir and not test_dbfs_write_and_read 
and not test_dbfs_read_range and not test_dbfs_read_range_chunked and not 
test_find_returns_expected_result_detail_true_include_dirs and not 
test_find_returns_expected_result_detail_true and not 
test_async_cat_file_ranges' fsspec/
============================= test session starts ==============================
platform linux -- Python 3.13.11, pytest-9.0.2, pluggy-1.6.0
rootdir: /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_fsspec/build
configfile: pyproject.toml
plugins: asyncio-1.2.0, typeguard-4.4.4, mock-3.15.1, vcr-1.0.2
asyncio: mode=Mode.STRICT, debug=False, 
asyncio_default_fixture_loop_scope=None, 
asyncio_default_test_loop_scope=function
collected 1757 items / 3 deselected / 11 skipped / 1754 selected

fsspec/implementations/tests/local/local_test.py ....................... [  1%]
........................................................................ [  5%]
........................................                                 [  7%]
fsspec/implementations/tests/memory/memory_test.py ..................... [  8%]
........................................................................ [ 12%]
............................................                             [ 15%]
fsspec/implementations/tests/test_archive.py ........................... [ 17%]
.................................ssssssss.s.s...................s.s.s..s [ 21%]
sss                                                                      [ 21%]
fsspec/implementations/tests/test_asyn_wrapper.py .........              [ 21%]
fsspec/implementations/tests/test_cached.py ..........ssssssss......sss. [ 23%]
.................ssssssssssssssss.s........ssss.....................     [ 27%]
fsspec/implementations/tests/test_common.py ssss                         [ 27%]
fsspec/implementations/tests/test_data.py ..                             [ 27%]
fsspec/implementations/tests/test_dirfs.py ............................. [ 29%]
........................................................................ [ 33%]
.................................                                        [ 35%]
fsspec/implementations/tests/test_ftp.py sssssssssssssssssss             [ 36%]
fsspec/implementations/tests/test_http.py .............................. [ 38%]
...........................                                              [ 39%]
fsspec/implementations/tests/test_libarchive.py s                        [ 39%]
fsspec/implementations/tests/test_local.py .s........................s.. [ 41%]
.................................................................ss..... [ 45%]
...ss.sssss.......sss....s..........................                     [ 48%]
fsspec/implementations/tests/test_memory.py ............................ [ 50%]
..                                                                       [ 50%]
fsspec/implementations/tests/test_reference.py ..................s.....s [ 51%]
s..sssss                                                                 [ 51%]
fsspec/implementations/tests/test_tar.py .........................       [ 53%]
fsspec/implementations/tests/test_webhdfs.py ssssssssssss                [ 54%]
fsspec/implementations/tests/test_zip.py ...............                 [ 54%]
fsspec/tests/test_api.py ...............x......                          [ 56%]
fsspec/tests/test_async.py ............                                  [ 56%]
fsspec/tests/test_caches.py ............................................ [ 59%]
........................................................................ [ 63%]
..............................                                           [ 65%]
fsspec/tests/test_callbacks.py ........                                  [ 65%]
fsspec/tests/test_compression.py ...sss                                  [ 66%]
fsspec/tests/test_config.py .......                                      [ 66%]
fsspec/tests/test_core.py .............................................. [ 69%]
...ss..sss.s                                                             [ 69%]
fsspec/tests/test_file.py sssssssss.s                                    [ 70%]
fsspec/tests/test_generic.py .......                                     [ 70%]
fsspec/tests/test_mapping.py .................                           [ 71%]
fsspec/tests/test_parquet.py sssssssssssssssssssssssssssssssssssssssssss [ 74%]
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 78%]
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 82%]
sssss                                                                    [ 82%]
fsspec/tests/test_registry.py ......s                                    [ 83%]
fsspec/tests/test_spec.py ....................x......................... [ 85%]
............ssssssssss.................................................. [ 89%]
........................................................................ [ 93%]
........................................                                 [ 96%]
fsspec/tests/test_utils.py ............................................. [ 98%]
......................                                                   [100%]

=============================== warnings summary ===============================
fsspec/tests/test_caches.py::test_cache_getitem[background]
  /usr/lib/python3.13/inspect.py:764: RuntimeWarning: coroutine 
'test_run_coros_in_chunks.<locals>.runner' was never awaited
    def unwrap(func, *, stop=None):
  Enable tracemalloc to get traceback where the object was allocated.
  See 
https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings
 for more info.

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
==== 1422 passed, 341 skipped, 3 deselected, 2 xfailed, 1 warning in 23.00s ====
dh_auto_test: error: pybuild --test --test-pytest -i python{version} -p "3.14 
3.13" returned exit code 13
make: *** [debian/rules:20: binary] Error 25
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2
--------------------------------------------------------------------------------

--- End Message ---
--- Begin Message ---
Source: fsspec
Source-Version: 2025.12.0-1
Done: Colin Watson <[email protected]>

We believe that the bug you reported is fixed in the latest version of
fsspec, 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 [email protected],
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Colin Watson <[email protected]> (supplier of updated fsspec 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 [email protected])


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

Format: 1.8
Date: Thu, 08 Jan 2026 01:12:55 +0000
Source: fsspec
Architecture: source
Version: 2025.12.0-1
Distribution: unstable
Urgency: medium
Maintainer: Debian Python Team <[email protected]>
Changed-By: Colin Watson <[email protected]>
Closes: 1123386
Changes:
 fsspec (2025.12.0-1) unstable; urgency=medium
 .
   * Team upload.
   * New upstream release:
     - More restrictions on gist tests (closes: #1123386).
   * Drop "Rules-Requires-Root: no", default as of dpkg-dev 1.22.13.
Checksums-Sha1:
 e6dad37a441297c40f26464ebcaec5d99b512e8a 2678 fsspec_2025.12.0-1.dsc
 474571a9ed467209f762393b2b88085a739e3ed8 449477 fsspec_2025.12.0.orig.tar.gz
 50faaa90b88696a57b9353687db870989144d493 7864 fsspec_2025.12.0-1.debian.tar.xz
Checksums-Sha256:
 5ea1aed510d5020aa895f3ac2f3a57207d3376b5ddbefc65afb40732b366cf56 2678 
fsspec_2025.12.0-1.dsc
 4bb9e82dd5b95db6bc2a21b85629dc9e30b949c615e70163d709e5e00746e342 449477 
fsspec_2025.12.0.orig.tar.gz
 7d00dd9213190dc35cd998c1a1c9ceb38352b4e32d86829cc7a3ca92ab01142a 7864 
fsspec_2025.12.0-1.debian.tar.xz
Files:
 b4eb14c5f1987e8013eee8e046fb7411 2678 python optional fsspec_2025.12.0-1.dsc
 c8fcb238eaea5e5dc0f6a09207bf2f3f 449477 python optional 
fsspec_2025.12.0.orig.tar.gz
 a59a213382bdaa6e389aeb9ced7ae630 7864 python optional 
fsspec_2025.12.0-1.debian.tar.xz

-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEErApP8SYRtvzPAcEROTWH2X2GUAsFAmlfBPYACgkQOTWH2X2G
UAtiMBAAgk8rrKEkCafJYyZqtx+BX0clTVFIYrB9BivQyd38R6SWOTcAmyqNIY5/
s/HeRvnWkxPo3b3bqA7iifdvUHc0xPwNkqWtQugEJ0zW4bt3B5dUt0cIpKIL574x
swBwQa6z+0Anxhy/dXS3T4fZzIKUB1OmBGpRp8CiFr+q3aIjTqFMdWr0byEK+9mo
mXZ1Qbcr2VJRQyDfdJHAItykI8aQa+Nqh253PeS5KGTJ4Yq4HiOjlICdyvaMrzSr
vdeUdsFQvtgA1Qlqyrwlwf8dqa4miyhBLfN/LQL/Z/k7hSxneChnlcFQ4y12e8jd
ew7KynglT/OS/Ibo3g58NDXUu0eUP57GJZF/LaRpdX9ckJImTWRSmijIaR1NR3z5
cqv2ylfOkCQKho0swBn6VDECCGSJJ4V888lH3/jOMBGHyY2nQ1WojPySqTLy1VRZ
iuWZA2sqeNDl+piZUaa7liSVm5m7LHRNfjT1l7UoUp8Yb0DpRuKRem7OEMMOYcDi
1PkzJq/wbF//V80GV16fi9YLPym1By523Js/GF6gjDV55xpa/V+CFtaytUvVkHsr
iUqf0AcKOE1XwwSnWi9euqdtE5oKfJHoVun72YZql15JneeQEQ6l89HkUA5mOngO
R1s5VJ1PoCuVBFGiiu5DZTVmduLbPNhtZdBOVrtCQlJVBZ3mgBE=
=3wVt
-----END PGP SIGNATURE-----

Attachment: pgp01mcl6CgGg.pgp
Description: PGP signature


--- End Message ---

Reply via email to