#1137623 desync: FTBFS when using ZFS

Package:
src:desync
Source:
src:desync
Submitter:
Mathias Gibbens
Date:
2026-06-11 09:35:01 UTC
Severity:
normal
Tags:
#1137623#5
Date:
2026-05-26 02:06:24 UTC
From:
To:
  I perform most of my Debian development work in unprivileged Incus
containers with ZFS for their underlying storage. In such setups,
several of desync's tests fail in a similar way:

  I'm unsure if the desync binary is also similarly broken when run in
an environment using ZFS storage. Performing the build in an identical
setup with ext4-backed storage works, so I'm not reporting this as an
RC bug.

Mathias

#1137623#10
Date:
2026-06-11 07:22:19 UTC
From:
To:
Hi Mathias,

... snip ...

I wonder how I could reproduce this ? I guess I could setup a virtual machine
with ZFS-backed storage. I've never played with ZFS, so not entirely sure what
I am talking about here really.

For completeness, can you confirm the version of ZFS you are using ? I assume it'll
be the latest zfs-dkms (2.4.2-2) ?

In any case, I've forwarded the bug upstream to see if they have any bright
ideas.

I guess one quick thing you could do is to try to run the latest upstream test
suite on ZFS and see if you get the same issue. That could rule out any upstream
fixes.

You could do that with the Go libraries the project specifies, that could rule out
any difference in library version as well.


Cheers!

Chris

#1137623#17
Date:
2026-06-11 08:06:47 UTC
From:
To:
Hello again,

I managed to setup a Debian Forky VM with a separate 20G qcow disk and format/mount it as ZFS. Wasn't too
much trouble.

But the test suite (built the package with gbp buildpackage on the VM directly) on both ext4 and ZFS
built and the tests ran fine.

I wonder if my ZFS setup isn't as "complicated" as yours ? Perhaps the VM adds some perfection into the mix ?


I created the filesystem with:

 $ zpool create tank /dev/vdb
 $ zfs set compression=zstd tank
 $ zfs create tank/build



Cheers!

Chris

#1137623#22
Date:
2026-06-11 08:13:15 UTC
From:
To:
Hello again,

It turns out upstream has found the root-cause, described it very well in the GitHub issue and fixed the issue
in https://github.com/folbricht/desync/pull/356

Once upstream releases a new version I will attempt to get it into Debian fairly quickly, or would you like it
sooner and for me to backport the patch ?


Thanks!

Chris

#1137623#27
Date:
2026-06-11 08:55:21 UTC
From:
To:
Hello,

So for completeness I managed to reproduce the issue with the same ZFS settings as upstream:

  echo 1 | sudo tee /sys/module/zfs/parameters/zfs_bclone_enabled
  sudo zfs set recordsize=128K tank/build


And I made double sure the build was done on that drive too:

  export TMPDIR=/tank/build/tmp
  mkdir -p "$TMPDIR"
  dpkg-buildpackage -us -uc -b

Upstream has released a new version with this fix; and it no longer FTBFS on ZFS for me ! I will upload it into the
archive soon.


Cheers!

Chris

#1137623#32
Date:
2026-06-11 09:33:40 UTC
From:
To:
We believe that the bug you reported is fixed in the latest version of
desync, 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 1137623@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Christopher Obbard <obbardc@debian.org> (supplier of updated desync 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: Thu, 11 Jun 2026 09:26:26 +0100
Source: desync
Architecture: source
Version: 1.0.2-1
Distribution: unstable
Urgency: medium
Maintainer: Debian Go Packaging Team <team+pkg-go@tracker.debian.org>
Changed-By: Christopher Obbard <obbardc@debian.org>
Closes: 1137623
Changes:
 desync (1.0.2-1) unstable; urgency=medium
 .
   * New upstream version 1.0.2
     - Fixes broken behaviour on ZFS filesystems. (Closes: #1137623)
Checksums-Sha1:
 9bdfa58a1b62790c0e537c79dab6b90b95f82d11 2651 desync_1.0.2-1.dsc
 7ab402f23a4751cda79ecdbf230491cfda76fa5c 8913770 desync_1.0.2.orig.tar.gz
 f183970e2dcbe91208829781bcaba59008a4e33b 3480 desync_1.0.2-1.debian.tar.xz
 3e434f7c11d6cd5b41fe5f45e98bdc400763b469 7550 desync_1.0.2-1_source.buildinfo
Checksums-Sha256:
 a7f27906efbabe0d743dfa3b7cc5ec29d56a4b16bf04a164f407fce4b94f9cf1 2651 desync_1.0.2-1.dsc
 31b9a66e1943048f07c7d42ec958f5dc6b587c73c5bacee5c1affbad5b0d22ff 8913770 desync_1.0.2.orig.tar.gz
 6f8f31a16aedb0c43d5eb055f2489900e6aad659385d6433caa42f4411f954ed 3480 desync_1.0.2-1.debian.tar.xz
 c7ef30e8434799393302f14c1bb6bf2677548fccc3fb07f33da5451c7ac9fb07 7550 desync_1.0.2-1_source.buildinfo
Files:
 8a0dec598330d3375dd0ad9661cf937e 2651 golang optional desync_1.0.2-1.dsc
 a6eb89c07949455efa8b6afa0d925736 8913770 golang optional desync_1.0.2.orig.tar.gz
 6ba9727334c6df3e71525c0d5413ba24 3480 golang optional desync_1.0.2-1.debian.tar.xz
 4c043df9a0829ace00782b512f068113 7550 golang optional desync_1.0.2-1_source.buildinfo
-----BEGIN PGP SIGNATURE-----

iQJHBAEBCgAxFiEE8Yvci2wl+QqiPVF0Y03E8GhwRvgFAmoqfLcTHG9iYmFyZGNA
ZGViaWFuLm9yZwAKCRBjTcTwaHBG+Jz2D/9JnBbT1JVujIHpMdUB9EOoTM9u9mmN
gEUkKVSG2Yl5KvPl8bntFBKr1whoe1Tifbs/C5Pf5vXJLxLWl4pOy6ukNs6bEdrJ
YDNFuoU9EWdPqnBPGADerA40regaMQpixbA5ykqKxf1RDLdhaPqrrxDYyx6+pbYM
W0NJZ4VfN+pexBlmOio25bo1llYzTRVAAQ4vX3gVaYD4WtG4NnHYrIbSOuNtGUvH
8nbegJIEBxVNOI7+1CpCAVhPqPE4j3eCai9GDUNNnF+vYWXxhXDeZAhWXMsfYzc/
QXCdL300fJs+GyHRLj8b5UQnpUhej+iLko5OrUVsLChkIttCK3gV+/i0yZ1+fiCH
Hy94ZVz6CSbuMRed+y+4f6HdJrr43jLQPDo3XM7jd+z+5b7CvCokruSE4Mj6zdvr
omBGeV6IULKAKO5HnjNkXZsbXYvZLqcajD+Cj1g/fdphQI+lCuFJFkwET3P7trdb
g54BP4ZDWgELrvmknsCSyP6mrRA9l9tDuxkUhKI5kVCPg7LGQdc4LpFsGuxSy4DS
ZSA4FrBwkSDJQaRMHrLcxqKuLuyKKxCAFtanTIjMLWsge6QkYOlamTQ0iwHkfOdS
sZvaXM2Z6UExiDVFe9Om5Ifn2nUiMT12nkpJoPt2F8OFk0lsBBfDCQWiATjKF4eR
rx55OlCQZd1kkQ==
=3xDh
-----END PGP SIGNATURE-----