Source: pyrate-limiter
Version: 3.9.0-1
Severity: serious
Justification: FTBFS
Tags: forky sid ftbfs
User: [email protected]
Usertags: ftbfs-20250919 ftbfs-forky

Hi,

During a rebuild of all packages in sid, your package failed to build
on amd64.

The full build log is available from:
http://qa-logs.debian.net/2025/09/19/pyrate-limiter_3.9.0-1_unstable.log

All bugs filed during this archive rebuild are listed at:
https://bugs.debian.org/cgi-bin/pkgreport.cgi?tag=ftbfs-20250919;[email protected]
or:
https://udd.debian.org/bugs/?release=na&merged=ign&fnewerval=7&flastmodval=7&fusertag=only&fusertagtag=ftbfs-20250919&[email protected]&allbugs=1&cseverity=1&ctags=1&caffected=1#results

A list of current common problems and possible solutions is available at
http://wiki.debian.org/qa.debian.org/FTBFS . You're welcome to contribute!

If you reassign this bug to another package, please mark it as 'affects'-ing
this package. See https://www.debian.org/Bugs/server-control#affects

If you fail to reproduce this, please provide a build log and diff it with mine
so that we can identify if something relevant changed in the meantime.

-- 
Relevant part of the build log (hopefully):
> make[1]: Entering directory '/build/reproducible-path/pyrate-limiter-3.9.0'
> dh_auto_build override_dh_auto_build --buildsystem=pybuild
> I: pybuild plugin_pyproject:129: Building wheel for python3.13 with "build" 
> module
> I: pybuild base:311: python3.13 -m build --skip-dependency-check 
> --no-isolation --wheel --outdir 
> /build/reproducible-path/pyrate-limiter-3.9.0/.pybuild/cpython3_3.13  
> * Building wheel...
> Successfully built pyrate_limiter-3.9.0-py3-none-any.whl
> I: pybuild plugin_pyproject:144: Unpacking wheel built for python3.13 with 
> "installer" module
> cd docs; PYTHONPATH=/build/reproducible-path/pyrate-limiter-3.9.0 
> LC_ALL=C.UTF-8 LANGUAGE=C.UTF-8 sphinx-build -bhtml -d _build/doctrees . 
> _build/html
> Running Sphinx v8.2.3
> loading translations [en]... done
> WARNING: while setting up extension sphinxcontrib.apidoc: Failed to convert 
> [[<class 'str'>]] to a frozenset
> making output directory... done
> Converting `source_suffix = ['.rst', '.md']` to `source_suffix = {'.rst': 
> 'restructuredtext', '.md': 'restructuredtext'}`.
> [autosummary] generating autosummary for: changelog.md, contributing.md, 
> index.md, reference.md
> loading intersphinx inventory 'python' from 
> https://docs.python.org/3/objects.inv ...
> WARNING: failed to reach any of the inventories with the following issues:
> intersphinx inventory 'https://docs.python.org/3/objects.inv' not fetchable 
> due to <class 'requests.exceptions.ConnectionError'>: 
> HTTPSConnectionPool(host='docs.python.org', port=443): Max retries exceeded 
> with url: /3/objects.inv (Caused by 
> NameResolutionError("<urllib3.connection.HTTPSConnection object at 
> 0x7f4b96584440>: Failed to resolve 'docs.python.org' ([Errno -3] Temporary 
> failure in name resolution)"))
> Creating file 
> /build/reproducible-path/pyrate-limiter-3.9.0/docs/modules/pyrate_limiter.rst.
> Creating file 
> /build/reproducible-path/pyrate-limiter-3.9.0/docs/modules/pyrate_limiter.clocks.rst.
> Creating file 
> /build/reproducible-path/pyrate-limiter-3.9.0/docs/modules/pyrate_limiter.exceptions.rst.
> Creating file 
> /build/reproducible-path/pyrate-limiter-3.9.0/docs/modules/pyrate_limiter.limiter.rst.
> Creating file 
> /build/reproducible-path/pyrate-limiter-3.9.0/docs/modules/pyrate_limiter.limiter_factory.rst.
> Creating file 
> /build/reproducible-path/pyrate-limiter-3.9.0/docs/modules/pyrate_limiter.utils.rst.
> Creating file 
> /build/reproducible-path/pyrate-limiter-3.9.0/docs/modules/pyrate_limiter.abstracts.rst.
> Creating file 
> /build/reproducible-path/pyrate-limiter-3.9.0/docs/modules/pyrate_limiter.abstracts.bucket.rst.
> Creating file 
> /build/reproducible-path/pyrate-limiter-3.9.0/docs/modules/pyrate_limiter.abstracts.clock.rst.
> Creating file 
> /build/reproducible-path/pyrate-limiter-3.9.0/docs/modules/pyrate_limiter.abstracts.rate.rst.
> Creating file 
> /build/reproducible-path/pyrate-limiter-3.9.0/docs/modules/pyrate_limiter.abstracts.wrappers.rst.
> Creating file 
> /build/reproducible-path/pyrate-limiter-3.9.0/docs/modules/pyrate_limiter.buckets.rst.
> Creating file 
> /build/reproducible-path/pyrate-limiter-3.9.0/docs/modules/pyrate_limiter.buckets.in_memory_bucket.rst.
> Creating file 
> /build/reproducible-path/pyrate-limiter-3.9.0/docs/modules/pyrate_limiter.buckets.mp_bucket.rst.
> Creating file 
> /build/reproducible-path/pyrate-limiter-3.9.0/docs/modules/pyrate_limiter.buckets.postgres.rst.
> Creating file 
> /build/reproducible-path/pyrate-limiter-3.9.0/docs/modules/pyrate_limiter.buckets.redis_bucket.rst.
> Creating file 
> /build/reproducible-path/pyrate-limiter-3.9.0/docs/modules/pyrate_limiter.buckets.sqlite_bucket.rst.
> myst v4.0.1: MdParserConfig(commonmark_only=False, gfm_only=False, 
> enable_extensions={'html_image'}, disable_syntax=[], 
> all_links_external=False, links_external_new_tab=False, url_schemes=('http', 
> 'https', 'mailto', 'ftp'), ref_domains=None, fence_as_directive=set(), 
> number_code_blocks=[], title_to_header=False, heading_anchors=0, 
> heading_slug_func=None, html_meta={}, footnote_sort=True, 
> footnote_transition=True, words_per_minute=200, substitutions={}, 
> linkify_fuzzy_links=True, dmath_allow_labels=True, dmath_allow_space=True, 
> dmath_allow_digits=True, dmath_double_inline=False, update_mathjax=True, 
> mathjax_classes='tex2jax_process|mathjax_process|math|output_area', 
> enable_checkboxes=False, suppress_warnings=[], highlight_code_blocks=True)
> building [mo]: targets for 0 po files that are out of date
> writing output... 
> building [html]: targets for 4 source files that are out of date
> updating environment: [new config] 21 added, 0 changed, 0 removed
> reading sources... [  5%] changelog
> reading sources... [ 10%] contributing
> reading sources... [ 14%] index
> reading sources... [ 19%] modules/pyrate_limiter
> reading sources... [ 24%] modules/pyrate_limiter.abstracts
> reading sources... [ 29%] modules/pyrate_limiter.abstracts.bucket
> reading sources... [ 33%] modules/pyrate_limiter.abstracts.clock
> reading sources... [ 38%] modules/pyrate_limiter.abstracts.rate
> reading sources... [ 43%] modules/pyrate_limiter.abstracts.wrappers
> reading sources... [ 48%] modules/pyrate_limiter.buckets
> reading sources... [ 52%] modules/pyrate_limiter.buckets.in_memory_bucket
> reading sources... [ 57%] modules/pyrate_limiter.buckets.mp_bucket
> reading sources... [ 62%] modules/pyrate_limiter.buckets.postgres
> reading sources... [ 67%] modules/pyrate_limiter.buckets.redis_bucket
> reading sources... [ 71%] modules/pyrate_limiter.buckets.sqlite_bucket
> reading sources... [ 76%] modules/pyrate_limiter.clocks
> reading sources... [ 81%] modules/pyrate_limiter.exceptions
> reading sources... [ 86%] modules/pyrate_limiter.limiter
> reading sources... [ 90%] modules/pyrate_limiter.limiter_factory
> reading sources... [ 95%] modules/pyrate_limiter.utils
> reading sources... [100%] reference
> 
> looking for now-outdated files... none found
> pickling environment... done
> checking consistency... 
> /build/reproducible-path/pyrate-limiter-3.9.0/docs/modules/pyrate_limiter.rst:
>  WARNING: document isn't included in any toctree [toc.not_included]
> /build/reproducible-path/pyrate-limiter-3.9.0/docs/modules/pyrate_limiter.abstracts.rst:
>  document is referenced in multiple toctrees: ['modules/pyrate_limiter', 
> 'reference'], selecting: reference <- modules/pyrate_limiter.abstracts
> /build/reproducible-path/pyrate-limiter-3.9.0/docs/modules/pyrate_limiter.abstracts.bucket.rst:
>  document is referenced in multiple toctrees: 
> ['modules/pyrate_limiter.abstracts', 'reference'], selecting: reference <- 
> modules/pyrate_limiter.abstracts.bucket
> /build/reproducible-path/pyrate-limiter-3.9.0/docs/modules/pyrate_limiter.abstracts.clock.rst:
>  document is referenced in multiple toctrees: 
> ['modules/pyrate_limiter.abstracts', 'reference'], selecting: reference <- 
> modules/pyrate_limiter.abstracts.clock
> /build/reproducible-path/pyrate-limiter-3.9.0/docs/modules/pyrate_limiter.abstracts.rate.rst:
>  document is referenced in multiple toctrees: 
> ['modules/pyrate_limiter.abstracts', 'reference'], selecting: reference <- 
> modules/pyrate_limiter.abstracts.rate
> /build/reproducible-path/pyrate-limiter-3.9.0/docs/modules/pyrate_limiter.abstracts.wrappers.rst:
>  document is referenced in multiple toctrees: 
> ['modules/pyrate_limiter.abstracts', 'reference'], selecting: reference <- 
> modules/pyrate_limiter.abstracts.wrappers
> /build/reproducible-path/pyrate-limiter-3.9.0/docs/modules/pyrate_limiter.buckets.rst:
>  document is referenced in multiple toctrees: ['modules/pyrate_limiter', 
> 'reference'], selecting: reference <- modules/pyrate_limiter.buckets
> /build/reproducible-path/pyrate-limiter-3.9.0/docs/modules/pyrate_limiter.buckets.in_memory_bucket.rst:
>  document is referenced in multiple toctrees: 
> ['modules/pyrate_limiter.buckets', 'reference'], selecting: reference <- 
> modules/pyrate_limiter.buckets.in_memory_bucket
> /build/reproducible-path/pyrate-limiter-3.9.0/docs/modules/pyrate_limiter.buckets.mp_bucket.rst:
>  document is referenced in multiple toctrees: 
> ['modules/pyrate_limiter.buckets', 'reference'], selecting: reference <- 
> modules/pyrate_limiter.buckets.mp_bucket
> /build/reproducible-path/pyrate-limiter-3.9.0/docs/modules/pyrate_limiter.buckets.postgres.rst:
>  document is referenced in multiple toctrees: 
> ['modules/pyrate_limiter.buckets', 'reference'], selecting: reference <- 
> modules/pyrate_limiter.buckets.postgres
> /build/reproducible-path/pyrate-limiter-3.9.0/docs/modules/pyrate_limiter.buckets.redis_bucket.rst:
>  document is referenced in multiple toctrees: 
> ['modules/pyrate_limiter.buckets', 'reference'], selecting: reference <- 
> modules/pyrate_limiter.buckets.redis_bucket
> /build/reproducible-path/pyrate-limiter-3.9.0/docs/modules/pyrate_limiter.buckets.sqlite_bucket.rst:
>  document is referenced in multiple toctrees: 
> ['modules/pyrate_limiter.buckets', 'reference'], selecting: reference <- 
> modules/pyrate_limiter.buckets.sqlite_bucket
> /build/reproducible-path/pyrate-limiter-3.9.0/docs/modules/pyrate_limiter.clocks.rst:
>  document is referenced in multiple toctrees: ['modules/pyrate_limiter', 
> 'reference'], selecting: reference <- modules/pyrate_limiter.clocks
> /build/reproducible-path/pyrate-limiter-3.9.0/docs/modules/pyrate_limiter.exceptions.rst:
>  document is referenced in multiple toctrees: ['modules/pyrate_limiter', 
> 'reference'], selecting: reference <- modules/pyrate_limiter.exceptions
> /build/reproducible-path/pyrate-limiter-3.9.0/docs/modules/pyrate_limiter.limiter.rst:
>  document is referenced in multiple toctrees: ['modules/pyrate_limiter', 
> 'reference'], selecting: reference <- modules/pyrate_limiter.limiter
> /build/reproducible-path/pyrate-limiter-3.9.0/docs/modules/pyrate_limiter.limiter_factory.rst:
>  document is referenced in multiple toctrees: ['modules/pyrate_limiter', 
> 'reference'], selecting: reference <- modules/pyrate_limiter.limiter_factory
> /build/reproducible-path/pyrate-limiter-3.9.0/docs/modules/pyrate_limiter.utils.rst:
>  document is referenced in multiple toctrees: ['modules/pyrate_limiter', 
> 'reference'], selecting: reference <- modules/pyrate_limiter.utils
> done
> preparing documents... done
> copying assets... 
> copying static files... 
> Writing evaluated template result to 
> /build/reproducible-path/pyrate-limiter-3.9.0/docs/_build/html/_static/basic.css
> Writing evaluated template result to 
> /build/reproducible-path/pyrate-limiter-3.9.0/docs/_build/html/_static/language_data.js
> Writing evaluated template result to 
> /build/reproducible-path/pyrate-limiter-3.9.0/docs/_build/html/_static/documentation_options.js
> Writing evaluated template result to 
> /build/reproducible-path/pyrate-limiter-3.9.0/docs/_build/html/_static/copybutton.js
> copying static files: done
> copying extra files... 
> copying extra files: done
> copying assets: done
> writing output... [  5%] changelog
> writing output... [ 10%] contributing
> writing output... [ 14%] index
> writing output... [ 19%] modules/pyrate_limiter
> writing output... [ 24%] modules/pyrate_limiter.abstracts
> writing output... [ 29%] modules/pyrate_limiter.abstracts.bucket
> writing output... [ 33%] modules/pyrate_limiter.abstracts.clock
> writing output... [ 38%] modules/pyrate_limiter.abstracts.rate
> writing output... [ 43%] modules/pyrate_limiter.abstracts.wrappers
> writing output... [ 48%] modules/pyrate_limiter.buckets
> writing output... [ 52%] modules/pyrate_limiter.buckets.in_memory_bucket
> writing output... [ 57%] modules/pyrate_limiter.buckets.mp_bucket
> writing output... [ 62%] modules/pyrate_limiter.buckets.postgres
> writing output... [ 67%] modules/pyrate_limiter.buckets.redis_bucket
> writing output... [ 71%] modules/pyrate_limiter.buckets.sqlite_bucket
> writing output... [ 76%] modules/pyrate_limiter.clocks
> writing output... [ 81%] modules/pyrate_limiter.exceptions
> writing output... [ 86%] modules/pyrate_limiter.limiter
> writing output... [ 90%] modules/pyrate_limiter.limiter_factory
> writing output... [ 95%] modules/pyrate_limiter.utils
> writing output... [100%] reference
> 
> /build/reproducible-path/pyrate-limiter-3.9.0/README.md:1801: WARNING: 'myst' 
> cross-reference target not found: 'pyrate_limiter.limiter_factory.py' 
> [myst.xref_missing]
> /build/reproducible-path/pyrate-limiter-3.9.0/README.md:1807: WARNING: 'myst' 
> cross-reference target not found: 'examples/asyncio_ratelimit.py' 
> [myst.xref_missing]
> /build/reproducible-path/pyrate-limiter-3.9.0/README.md:1808: WARNING: 'myst' 
> cross-reference target not found: 'examples/asyncio_decorator.py' 
> [myst.xref_missing]
> /build/reproducible-path/pyrate-limiter-3.9.0/README.md:1809: WARNING: 'myst' 
> cross-reference target not found: 'examples/httpx_ratelimiter.py' 
> [myst.xref_missing]
> /build/reproducible-path/pyrate-limiter-3.9.0/README.md:1810: WARNING: 'myst' 
> cross-reference target not found: 'examples/in_memory_multiprocess.py' 
> [myst.xref_missing]
> /build/reproducible-path/pyrate-limiter-3.9.0/README.md:1811: WARNING: 'myst' 
> cross-reference target not found: 'examples/sql_filelock_multiprocess.py' 
> [myst.xref_missing]
> /build/reproducible-path/pyrate-limiter-3.9.0/README.md:2020: WARNING: 'myst' 
> cross-reference target not found: 'examples/asyncio_ratelimit.py' 
> [myst.xref_missing]
> /build/reproducible-path/pyrate-limiter-3.9.0/README.md:2062: WARNING: 'myst' 
> cross-reference target not found: 'examples/asyncio_decorator.py' 
> [myst.xref_missing]
> /build/reproducible-path/pyrate-limiter-3.9.0/README.md:2114: WARNING: 'myst' 
> cross-reference target not found: 'advanced-usage' [myst.xref_missing]
> /build/reproducible-path/pyrate-limiter-3.9.0/README.md:2243: WARNING: 'myst' 
> cross-reference target not found: 'examples/in_memory_multiprocess.py' 
> [myst.xref_missing]
> /build/reproducible-path/pyrate-limiter-3.9.0/README.md:2321: WARNING: 'myst' 
> cross-reference target not found: 'pyrate_limiter/limiter_factory.py' 
> [myst.xref_missing]
> /build/reproducible-path/pyrate-limiter-3.9.0/README.md:2345: WARNING: 'myst' 
> cross-reference target not found: 'pyrate_limiter/limiter_factory.py' 
> [myst.xref_missing]
> generating indices... genindex py-modindex done
> writing additional pages... search done
> dumping search index in English (code: en)... done
> dumping object inventory... done
> build succeeded, 15 warnings.
> 
> The HTML pages are in _build/html.
> make[1]: Leaving directory '/build/reproducible-path/pyrate-limiter-3.9.0'
>    dh_auto_test -O--buildsystem=pybuild
> I: pybuild pybuild:308: redis-server --daemonize yes
> 110:C 18 Sep 2025 14:39:32.589 # WARNING Memory overcommit must be enabled! 
> Without it, a background save or replication may fail under low memory 
> condition. Being disabled, it can also cause failures without low memory 
> condition, see https://github.com/jemalloc/jemalloc/issues/1328. To fix this 
> issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or 
> run the command 'sysctl vm.overcommit_memory=1' for this to take effect.
> I: pybuild base:311: cd 
> /build/reproducible-path/pyrate-limiter-3.9.0/.pybuild/cpython3_3.13/build; 
> python3.13 -m pytest -x -k "not postgres and not test_limiter_constructor_02"
> ============================= test session starts 
> ==============================
> platform linux -- Python 3.13.7, pytest-8.4.2, pluggy-1.6.0
> rootdir: 
> /build/reproducible-path/pyrate-limiter-3.9.0/.pybuild/cpython3_3.13/build
> configfile: pyproject.toml
> plugins: asyncio-1.1.0, typeguard-4.4.4, cov-5.0.0
> asyncio: mode=Mode.AUTO, asyncio_default_fixture_loop_scope=function, 
> asyncio_default_test_loop_scope=function
> collected 876 items / 263 deselected / 613 selected
> 
> tests/test_bucket_all.py ............................................... [  
> 7%]
> ...........................F
> 
> =================================== FAILURES 
> ===================================
> ________________ test_bucket_leak[clock0-create_sqlite_bucket] 
> _________________
> 
> clock = <pyrate_limiter.clocks.MonotonicClock object at 0x7fe265713a10>
> create_bucket = <function create_sqlite_bucket at 0x7fe26557ede0>
> 
>     @pytest.mark.asyncio
>     async def test_bucket_leak(clock: ClockSet, create_bucket):
>         rates = [Rate(100, 3000)]
>         bucket = BucketAsyncWrapper(await create_bucket(rates))
>     
>         while await bucket.count() < 200:
>             await bucket.put(RateItem("item", await get_now(clock)))
>     
>         await bucket.leak(await get_now(clock))
> >       assert await bucket.count() == 100
> E       assert 49 == 100
> 
> tests/test_bucket_all.py:205: AssertionError
> ----------------------------- Captured stderr call 
> -----------------------------
> INFO:pyrate_limiter:SQLite db path: /tmp/pyrate_limiter_jxNBX.sqlite
> INFO:pyrate_limiter.limiter_factory:table_name='pyrate-test-bucket-Zhuk96jc1u'
> ------------------------------ Captured log call 
> -------------------------------
> INFO     pyrate_limiter:conftest.py:96 SQLite db path: 
> /tmp/pyrate_limiter_jxNBX.sqlite
> INFO     pyrate_limiter.limiter_factory:limiter_factory.py:43 
> table_name='pyrate-test-bucket-Zhuk96jc1u'
> =========================== short test summary info 
> ============================
> FAILED tests/test_bucket_all.py::test_bucket_leak[clock0-create_sqlite_bucket]
> !!!!!!!!!!!!!!!!!!!!!!!!!! stopping after 1 failures 
> !!!!!!!!!!!!!!!!!!!!!!!!!!!
> =========== 1 failed, 74 passed, 263 deselected in 213.03s (0:03:33) 
> ===========
> E: pybuild pybuild:389: test: plugin pyproject failed with: exit code=1: cd 
> /build/reproducible-path/pyrate-limiter-3.9.0/.pybuild/cpython3_3.13/build; 
> python3.13 -m pytest -x -k "not postgres and not test_limiter_constructor_02"
> dh_auto_test: error: pybuild --test --test-pytest -i python{version} -p 3.13 
> returned exit code 13

Reply via email to