Re: Unison hangs after macfuse 5.0.7 update

Lluc Pallejà <[email protected]> Thu, 16 Oct 2025 14:36:53 +0200
Newsgroups gmane.network.unison.general
Message-ID <[email protected]>
Thank you Greg,

It seems is a macfuse bug, I'm already in touch with the developer and=20
helping him debugging this.

Best,
Lluc

On 10/16/25 13:14, Greg Troxel wrote:
> Lluc Pallej=C3=A0 <[email protected]> writes:
>=20
>> I have no idea whether this is an issue with macfuse or Unison
>> maybe?.. the thing is using macfuse 5.0.7 everything runs fine, I can
>> mount the folder with gocryptfs, I can open files.. the only issue is
>> when synchronizing using Unison.
>=20
> I'm guessing of course, but:
>=20
>    - we have no other reports of problems like this
>      + however I suspect not many people use macfuse/gocryptfs
>    - you have repeatably shown unison works with macfuse 5.0.6 and not
>      with 5.0.7
>=20
> so that puts more of the probability on macfuse.
>=20
> But that's only helpful in choosing a strategy; the point is to figure
> out what's wrong so it can be fixed, whereever that might be.
>=20
> It is possible that unison does some VFS operation via macfuse/gocryptfs
> that don't happen during normal operations, or with unusual arguments,
> and it's only that corner case that is troubled.
>=20
> It's of course possible that there's been a bug in Unison ~forever that
> is only triggered by legit but unusual results.
>=20
> I would suggest (not really ordered):
>=20
>    - sync locally, APFS to gocryptfs, and then gocryptfs to gocryptfs
>=20
>    - build unison from git master, and run make test.  Assuming that's
>      ok, unpack the sources in a gocryptfs folder and repeat.  Read the
>      tests enough to see if it uses /tmp and if so repoint to inside the
>      build dir so that the test repos are in gocryptfs.
>=20
>    - run some filesystem tester in macfuse/gocryptfs.  Not sure what one
>      to suggest, but if you find one that's useful and portable please
>      let me know.
>=20
>    - turn on debugging in macfuse and gocryptfs.   Reading the above, I
>      see traces of unison talking to peer, but I am not seeing system
>      calls.  My guess is that unison is doing some fs operations locally
>      after ending the lockArchive request, and getting hung up there.   I
>      use "ktrace" on NetBSD all the time, and I see that macOS 15 has
>      this too.
>=20
>      There is also dtrace, which I believe is more powerful, but it's on
>      my list of things to learn so other than pointing you at dtrace, I
>      don't have much to offer.
>=20
>    - read the commit logs in macfuse's version-control system between
>      those tags.
>=20
>    - build macfuse from source and bisect between tags.  This sounds
>      crazy, but once you can build I suspect it is not really that hard.
>      Once you find the commit that provokes trouble, I suspect things
>      will be easier to figure out.
>=20
> But all that said, I'd first re-run your above tests with ktrace as the
> easiest thing likely to surface new information.

--=20
Lluc Pallej=C3=A0

To unsubscribe from this group and stop receiving emails from it, send an e=
mail to [email protected].