#1129918 willow: FTBFS: FAILED (errors=1, skipped=26, expected failures=9)

Package:
src:willow
Source:
src:willow
Submitter:
Santiago Vila
Date:
2026-06-28 00:17:05 UTC
Severity:
normal
Tags:
#1129918#5
Date:
2026-03-05 23:49:57 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/202603/

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:willow, 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
   debian/rules override_dh_auto_build
make[1]: Entering directory '/<<PKGBUILDDIR>>'
dh_auto_build
I: pybuild plugin_pyproject:142: Building wheel for python3.14 with "build" module
I: pybuild base:384: python3.14 -m build --skip-dependency-check --no-isolation --wheel --outdir /<<PKGBUILDDIR>>/.pybuild/cpython3_3.14
* Building wheel...
Successfully built willow-1.11.0-py3-none-any.whl
I: pybuild plugin_pyproject:168: Unpacking wheel built for python3.14 with "installer" module
I: pybuild plugin_pyproject:142: Building wheel for python3.13 with "build" module
I: pybuild base:384: python3.13 -m build --skip-dependency-check --no-isolation --wheel --outdir /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13
* Building wheel...
Successfully built willow-1.11.0-py3-none-any.whl
I: pybuild plugin_pyproject:168: Unpacking wheel built for python3.13 with "installer" module
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
   debian/rules override_dh_auto_test
make[1]: Entering directory '/<<PKGBUILDDIR>>'
dh_auto_test -- --system=custom --test-args="{interpreter} runtests.py --opencv"
I: pybuild base:384: python3.14 runtests.py --opencv
sssssssss.......sss..............................................................Ex..................s...........ssssx............x...................................xx........x.......x..........ssss........s.........s...x....x...ss..s.......
======================================================================
ERROR: test_gif (tests.test_image.TestImageFormats.test_gif)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/<<PKGBUILDDIR>>/tests/test_image.py", line 139, in test_gif
    width, height = image.get_size()
                    ~~~~~~~~~~~~~~^^
  File "/<<PKGBUILDDIR>>/willow/image.py", line 74, in wrapper
    image = converter(image)
  File "/<<PKGBUILDDIR>>/willow/plugins/wand.py", line 342, in open
    image = _wand_image().Image(file=image_file.f)
  File "/usr/lib/python3/dist-packages/wand/image.py", line 9622, in __init__
    self.read(file=file)
    ~~~~~~~~~^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/wand/image.py", line 10456, in read
    self.raise_exception()
    ~~~~~~~~~~~~~~~~~~~~^^
  File "/usr/lib/python3/dist-packages/wand/resource.py", line 210, in raise_exception
    raise e
wand.exceptions.MissingDelegateError: no decode delegate for this image format `/tmp/magick-QBeRjA2iy0S6Gmtfx6cZi8K4slWwPFO8' @ error/constitute.c/ReadImage/752
---------------------------------------------------------------------- Ran 242 tests in 1.882s FAILED (errors=1, skipped=26, expected failures=9) E: pybuild pybuild:483: test: plugin custom failed with: exit code=1: python3.14 runtests.py --opencv I: pybuild base:384: python3.13 runtests.py --opencv sssssssss.......sss...............................................................x..................s...........ssssx............x...................................xx........x.......x..........ssss........s.........s...x....x...ss..s....... ---------------------------------------------------------------------- Ran 242 tests in 1.898s OK (skipped=26, expected failures=9) dh_auto_test: error: pybuild --test -i python{version} -p "3.14 3.13" --system=custom --test-args="{interpreter} runtests.py --opencv" returned exit code 13 make[1]: *** [debian/rules:10: override_dh_auto_test] Error 25 make[1]: Leaving directory '/<<PKGBUILDDIR>>' make: *** [debian/rules:4: binary] Error 2 dpkg-buildpackage: error: debian/rules binary subprocess failed with exit status 2 --------------------------------------------------------------------------------
#1129918#10
Date:
2026-03-09 22:03:41 UTC
From:
To:
Hi,

I took a look at this, since this started happening after I updated wand
[1] to it's latest upstream release, 0.7.0.

While debugging, I found out that the test only fails with Python 3.14,
running it with Python 3.13 is successful, output is attached. This same
test also failed at upstream CI pipeline [2].

The willow package also has other tests related to wand in
tests/test_wand.py. The test which is similar and succeeds on both Python
3.13 and 3.14 is:
 - test_animated_gif()
 - test_resize_animated_gif()

For now I'm holding off on any more debugging.


Regards,
Håvard

[1] https://tracker.debian.org/pkg/wand
[2] https://github.com/wagtail/Willow/actions/runs/22847427587/job/66267305229#step:6:42
-------------------------------------------------------------------------------- [...] root@thinkpad:/tmp/autopkgtest.tCVfKm/build.BNw/src# python3.13 -m unittest ............x.............x........sssssssss.......sss.s...........ssssx............x..................................................xx........x.....................................................ssss........s.........s...x....x...ss..s... ---------------------------------------------------------------------- Ran 242 tests in 2.211s OK (skipped=26, expected failures=9) root@thinkpad:/tmp/autopkgtest.tCVfKm/build.BNw/src# python3.14 -m unittest ...........Ex.............x........sssssssss.......sss.s...........ssssx............x..................................................xx........x.....................................................ssss........s.........s...x....x...ss..s... ====================================================================== ERROR: test_gif (tests.test_image.TestImageFormats.test_gif) ---------------------------------------------------------------------- Traceback (most recent call last): File "/tmp/autopkgtest.tCVfKm/build.BNw/src/tests/test_image.py", line 139, in test_gif width, height = image.get_size() ~~~~~~~~~~~~~~^^ File "/tmp/autopkgtest.tCVfKm/build.BNw/src/willow/image.py", line 74, in wrapper image = converter(image) File "/tmp/autopkgtest.tCVfKm/build.BNw/src/willow/plugins/wand.py", line 342, in open image = _wand_image().Image(file=image_file.f) File "/usr/lib/python3/dist-packages/wand/image.py", line 9622, in __init__ self.read(file=file) ~~~~~~~~~^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/wand/image.py", line 10456, in read self.raise_exception() ~~~~~~~~~~~~~~~~~~~~^^ File "/usr/lib/python3/dist-packages/wand/resource.py", line 210, in raise_exception raise e wand.exceptions.MissingDelegateError: no decode delegate for this image format `/tmp/magick-vU96KketXfO3Mqb7UkPabBOe-cHHdG8t' @ error/constitute.c/ReadImage/752
---------------------------------------------------------------------- Ran 242 tests in 2.098s FAILED (errors=1, skipped=26, expected failures=9)
#1129918#15
Date:
2026-06-28 00:14:06 UTC
From:
To:
reassign 1129918 src:wand
affects 1129918 src:willow
found 1129918 0.7.1-1
close 1129918 0.7.2-1
thanks

Hi. This package started to build ok again, so I did a debbisect and
this is what I found:

bisection finished successfully
  last bad timestamp: 20260625T203358Z
  first good timestamp: 20260626T024321Z
the following packages differ between the last bad and first good timestamp:
  glycin-loaders 2.1.2+ds-3 -> 2.1.5+ds-1
  glycin-thumbnailers 2.1.2+ds-3 -> 2.1.5+ds-1
  libglib2.0-0t64:amd64 2.88.1-2 -> 2.88.2-1
  libglycin-2-0:amd64 2.1.2+ds-3 -> 2.1.5+ds-1
  libpsl5t64:amd64 0.21.5-1 -> 0.22.0-1
  python3-requests 2.32.5+dfsg-1 -> 2.32.5+dfsg-2
  python3-wand 0.7.1-1 -> 0.7.2-1

Then I decided to read the logs for this bug and found your message
from March where you said this started to happen after upgrading wand.

So, I'm now putting the bug where it belongs.

Thanks.