Package: src:dask.distributed
Version: 2024.12.1+ds-3
User: [email protected]
Usertags: python3.15
Tags: patch, ftbfs, forky, sid
Severity: important

Hi!

While rebuilding the python related packages against the Python 3.15rc2
version we found that dask.distributed fails to build from source [1].

The problem is that tests timeout, caused by some flaky tests. And the
solution is to adjust timeouts and retries for those flaky tests.

I've applied this fix in the sandbox [2] to verify that it builds
successfully, please consider applying the patch to support the upcoming
3.15 version.

Setting the severity to important for now. Once Python 3.15 is released,
it will be added to python3-defaults and this bug will become release
critical.

Happy hacking,

[1]: https://debusine.debian.net/debian/r-python-python3.15/artifact/4524709/
[2]: https://debusine.debian.net/debian/r-python-python3.15/

--
"Can you imagine what I would do if I could do all I can?" -- Sun Tzu
Saludos /\/\ /\ >< `/
diff -Nru dask.distributed-2024.12.1+ds/debian/changelog 
dask.distributed-2024.12.1+ds/debian/changelog
--- dask.distributed-2024.12.1+ds/debian/changelog      2026-07-25 
06:17:14.000000000 +0200
+++ dask.distributed-2024.12.1+ds/debian/changelog      2026-09-13 
16:36:00.000000000 +0200
@@ -1,3 +1,10 @@
+dask.distributed (2024.12.1+ds-4) UNRELEASED; urgency=medium
+
+  * Team upload.
+  * Add patch to update the conda mock
+
+ -- Maximiliano Curia <[email protected]>  Sun, 13 Sep 2026 16:36:00 +0200
+
 dask.distributed (2024.12.1+ds-3) unstable; urgency=medium
 
   * Update dask-matching-interpreter.patch
diff -Nru dask.distributed-2024.12.1+ds/debian/.gitignore 
dask.distributed-2024.12.1+ds/debian/.gitignore
--- dask.distributed-2024.12.1+ds/debian/.gitignore     2026-07-25 
06:17:14.000000000 +0200
+++ dask.distributed-2024.12.1+ds/debian/.gitignore     1970-01-01 
01:00:00.000000000 +0100
@@ -1 +0,0 @@
-/files
diff -Nru dask.distributed-2024.12.1+ds/debian/patches/adjust-timeouts.patch 
dask.distributed-2024.12.1+ds/debian/patches/adjust-timeouts.patch
--- dask.distributed-2024.12.1+ds/debian/patches/adjust-timeouts.patch  
2026-07-25 06:17:14.000000000 +0200
+++ dask.distributed-2024.12.1+ds/debian/patches/adjust-timeouts.patch  
2026-09-13 16:36:00.000000000 +0200
@@ -5,7 +5,15 @@
 
 --- dask.distributed.orig/distributed/tests/test_utils_test.py
 +++ dask.distributed/distributed/tests/test_utils_test.py
-@@ -864,7 +864,7 @@
+@@ -835,6 +835,7 @@
+                 """
+             ),
+         ],
++        terminate_timeout=60,
+         capture_output=True,
+     ) as proc:
+         assert proc.stdout.readline().strip() == b"ready"
+@@ -864,7 +865,7 @@
                  ),
              ],
              capture_output=True,
diff -Nru dask.distributed-2024.12.1+ds/debian/patches/mark-tests-flaky.patch 
dask.distributed-2024.12.1+ds/debian/patches/mark-tests-flaky.patch
--- dask.distributed-2024.12.1+ds/debian/patches/mark-tests-flaky.patch 
2026-07-25 06:17:14.000000000 +0200
+++ dask.distributed-2024.12.1+ds/debian/patches/mark-tests-flaky.patch 
2026-09-13 16:36:00.000000000 +0200
@@ -35,7 +35,15 @@
      client=True,
 --- dask.distributed.orig/distributed/tests/test_utils_test.py
 +++ dask.distributed/distributed/tests/test_utils_test.py
-@@ -841,6 +841,7 @@
+@@ -805,6 +805,7 @@
+     assert test_done
+ 
+ 
[email protected](reruns=2, reruns_delay=10)
+ def test_popen_write_during_terminate_deadlock():
+     # Fabricate a command which, when terminated, tries to write more than 
the pipe
+     # buffer can hold (OS specific: on Linux it's typically 65536 bytes; on 
Windows it's
+@@ -841,6 +842,7 @@
      # `subprocess.TimeoutExpired` if this test breaks.
  
  
diff -Nru dask.distributed-2024.12.1+ds/debian/patches/py315-mock-conda.patch 
dask.distributed-2024.12.1+ds/debian/patches/py315-mock-conda.patch
--- dask.distributed-2024.12.1+ds/debian/patches/py315-mock-conda.patch 
1970-01-01 01:00:00.000000000 +0100
+++ dask.distributed-2024.12.1+ds/debian/patches/py315-mock-conda.patch 
2026-09-13 16:36:00.000000000 +0200
@@ -0,0 +1,21 @@
+Description: Fix conda mock in test_conda_install_fails_when_conda_not_found 
for Python 3.15
+Forwarded: no
+---
+--- a/distributed/diagnostics/tests/test_install_plugin.py
++++ b/distributed/diagnostics/tests/test_install_plugin.py
+@@ -96,7 +96,14 @@
+     with captured_logger(
+         "distributed.diagnostics.plugin", level=logging.ERROR
+     ) as logger:
+-        with mock.patch.dict("sys.modules", {"conda": None}):
++        orig_import = __import__
++
++        def fake_import(name, *args, **kwargs):
++            if name == "conda" or name.startswith("conda."):
++                raise ModuleNotFoundError("No module named 'conda'", 
name="conda")
++            return orig_import(name, *args, **kwargs)
++
++        with mock.patch("builtins.__import__", side_effect=fake_import):
+             with pytest.raises(RuntimeError):
+                 await 
c.register_plugin(CondaInstall(packages=["not-a-package"]))
+             logs = logger.getvalue()
diff -Nru dask.distributed-2024.12.1+ds/debian/patches/series 
dask.distributed-2024.12.1+ds/debian/patches/series
--- dask.distributed-2024.12.1+ds/debian/patches/series 2026-07-25 
06:17:14.000000000 +0200
+++ dask.distributed-2024.12.1+ds/debian/patches/series 2026-09-13 
16:36:00.000000000 +0200
@@ -25,3 +25,4 @@
 ignore-dask-expr-futurewarning.patch
 support-pytest-9.patch
 cve-2026-23528-fix.patch
+py315-mock-conda.patch

Reply via email to