Unison hangs after macfuse 5.0.7 update

Lluc Pallejà <[email protected]> Thu, 16 Oct 2025 08:20:13 +0200
Newsgroups gmane.network.unison.general
Message-ID <[email protected]>
Hello,

This might not be strictly a Unison problem but since it only happens=20
when using Unison I decided to write to the mailing list, I'll do the=20
same on Macfuse site.

My setup is quite peculiar (I think), I'm using a Mac mini with Sequoia=20
installed and the latest Unison 2.53.7 on it. Then I also have Macfuse=20
and Gogryptfs in use.

I use Unison and Gocryptfs (using Macfuse), which I use to have an=20
encrypted folder with the option of -plaintextnames so everything is=20
encrypted except the filenames, that way I can see what files will be=20
synchronized and what direction. Then I synchronized my files with=20
Unison to a private server (FreeBSD 14 with Unison 2.53.5) which acts as=20
a central point.

The the other day (via Macports) Macfuse was updated to the latest 5.0.7=20
version, and although it seems to be working fine, I can mount the=20
folder with macfuse then and I tried to run Unison, the process got=20
stuck right after the Reconciling changes message, here is a log with=20
macfuse 5.0.7 and Unison 2.53.7:

Reconciling changes
[recon] reconcileAll
[recon] reconcile: 0 results
[update] Marking 0 paths equal
[update] Updating archives
[remote+] send [lockArchive-args]=20
'\000\000\000\000\000\000\000\024\001\022...' 32 bytes
[remote+] send [rsp] '\000\000\000\000\000\000\000\014\003\001...' 22 bytes
[remote+] Sending request (id: 13)
[remote_emit+] dump:=20
\r\000\000\000\219\025\000\000\000Grsp\000\000\000\000\000\000\000\014\003\=
001\011lockArchive0\000\000\000\194lockArchive-args\000\000\000\000\000\000=
\000\024\001\022/data1/home/xxxxx/doc
[update+] Archive name is=20
//rubik-macmini//Users/xxxxx/.doc;//xxxxx//data1/home/xxxxx/doc,=20
//rubik-macmini//Users/xxxxx/.doc;23; hashcode is=20
c86567f23cab39f1e10f84b6e7ba2917
[server: remote_emit+] grab:=20
\r\000\000\000\219\025\000\000\000Grsp\000\000\000\000\000\000\000\014\003\=
001\011lockArchive0\000\000\000\194lockArchive-args\000\000\000\000\000\000=
\000\024\001\022/data1/home/xxxxx/doc
[server: remote+] Message received (id: 13)
[server: remote+] receive 'rsp\000\000\000\000\000\000\000...' 25 bytes
[server: remote+] receive 'lockArchiv...' 48 bytes
[server: remote+] Waiting for next message
[server: update+] Archive name is=20
//xxxxx//data1/home/xxxxx/doc;//xxxxx//data1/home/xxxxx/doc,=20
//rubik-macmini//Users/xxxxx/.doc;23; hashcode is=20
dd5c6ac06b0499185151ee2e4194dfcd
[server: remote+] Sending result (id: 13)
[server: remote+] send [lockArchive-res]=20
'\000\000\000\000\000\000\000\001\000' 9 bytes
[server: remote+] send [rsp] '\000\000\000\000\000\000\000\001\000' 9 bytes
[server: remote_emit+] dump:=20
\r\000\000\000\219\012\000\000\000}rsp\000\000\000\000\000\000\000\001\000\=
024\000\000\000\233lockArchive-res\000\000\000\000\000\000\000\001\000

I downgraded to Macfuse 5.0.6 and it Unison runs fine.. this is the same=20
log with macfuse 5.0.6

Reconciling changes
[recon] reconcileAll
[recon] reconcile: 0 results
[update] Marking 0 paths equal
[update] Updating archives
[remote+] send [lockArchive-args]=20
'\000\000\000\000\000\000\000\024\001\022...' 32 bytes
[remote+] send [rsp] '\000\000\000\000\000\000\000\014\003\001...' 22 bytes
[remote+] Sending request (id: 13)
[remote_emit+] dump:=20
\r\000\000\000\219\025\000\000\000Grsp\000\000\000\000\000\000\000\014\003\=
001\011lockArchive0\000\000\000\194lockArchive-args\000\000\000\000\000\000=
\000\024\001\022/data1/home/zh2335/doc
[update+] Archive name is=20
//rubik-macmini//Users/llucps/.doc;//ch-s012.rsync.net//data1/home/zh2335/d=
oc,=20
//rubik-macmini//Users/llucps/.doc;23; hashcode is=20
c86567f23cab39f1e10f84b6e7ba2917
[server: remote_emit+] grab:=20
\r\000\000\000\219\025\000\000\000Grsp\000\000\000\000\000\000\000\014\003\=
001\011lockArchive0\000\000\000\194lockArchive-args\000\000\000\000\000\000=
\000\024\001\022/data1/home/zh2335/doc
[server: remote+] Message received (id: 13)
[server: remote+] receive 'rsp\000\000\000\000\000\000\000...' 25 bytes
[server: remote+] receive 'lockArchiv...' 48 bytes
[server: remote+] Waiting for next message
[server: update+] Archive name is=20
//ch-s012.rsync.net//data1/home/zh2335/doc;//ch-s012.rsync.net//data1/home/=
zh2335/doc,=20
//rubik-macmini//Users/llucps/.doc;23; hashcode is=20
dd5c6ac06b0499185151ee2e4194dfcd
[server: remote+] Sending result (id: 13)
[server: remote+] send [lockArchive-res]=20
'\000\000\000\000\000\000\000\001\000' 9 bytes
[server: remote+] send [rsp] '\000\000\000\000\000\000\000\001\000' 9 bytes
[server: remote_emit+] dump:=20
\r\000\000\000\219\012\000\000\000}rsp\000\000\000\000\000\000\000\001\000\=
024\000\000\000\233lockArchive-res\000\000\000\000\000\000\000\001\000
[remote_emit+] grab:=20
\r\000\000\000\219\012\000\000\000}rsp\000\000\000\000\000\000\000\001\000\=
024\000\000\000\233lockArchive-res\000\000\000\000\000\000\000\001\000
[remote+] Message received (id: 13)
[remote+] receive 'rsp\000\000\000\000\000\000\000...' 12 bytes
[remote+] receive 'lockArchiv...' 24 bytes
[remote+] Waiting for next message
[remote+] send [prepareCommit-args]=20
'\000\000\000\000\000\000\000B\001\022...' 74 bytes
[remote+] send [rsp] '\000\000\000\000\000\000\000\016\003\001...' 24 bytes
[remote+] Sending request (id: 14)
[remote_emit+] dump:=20
\014\000\000\000:\027\000\000\000\004rsp\000\000\000\000\000\000\000\016\00=
3\001\rprepareCommit\\\000\000\000\250prepareCommit-args\000\000\000\000\00=
0\000\000B\001\022/data1/home/zh2335/doc\001(Unicode=20
case insensitive\0001760548057.7164
[update+] Archive name is=20
//rubik-macmini//Users/llucps/.doc;//ch-s012.rsync.net//data1/home/zh2335/d=
oc,=20
//rubik-macmini//Users/llucps/.doc;23; hashcode is=20
c86567f23cab39f1e10f84b6e7ba2917
$<>$<>$<>$<>$<>$<>$<>$<>$<>$<>$<>$<>[propsdata+] Pruning shared props=20
data...
[propsdata+] Shared props data pruning took 3.441 milliseconds
[update] Saving archive in=20
/Volumes/doc/profiles/unison/scc86567f23cab39f1e10f84b6e7ba2917
$<>$<>$<>$<>$<>$<>$<>$<>[server: remote_emit+] grab:=20
\014\000\000\000:\027\000\000\000\004rsp\000\000\000\000\000\000\000\016\00=
3\001\rprepareCommit\\\000\000\000\250prepareCommit-args\000\000\000\000\00=
0\000\000B\001\022/data1/home/zh2335/doc\001(Unicode=20
case insensitive\0001760548057.7164
[server: remote+] Message received (id: 14)
[server: remote+] receive 'rsp\000\000\000\000\000\000\000...' 27 bytes
[server: remote+] receive 'prepareCom...' 92 bytes
[server: remote+] Waiting for next message
[server: update+] Archive name is=20
//ch-s012.rsync.net//data1/home/zh2335/doc;//ch-s012.rsync.net//data1/home/=
zh2335/doc,=20
//rubik-macmini//Users/llucps/.doc;23; hashcode is=20
dd5c6ac06b0499185151ee2e4194dfcd
$<>$<>$<>$<>$<>$<>$<>$<>$<>$<>$<>$<>$<>$<>$<>$<>$<>$<>$<>$<>$<>$<>$<>$<>$<>=
$<>$<>$<>$<>$<>$<>$<>$<>$<>$<>$<>$<>$<>$<>$<>$<>$<>$<>$<>$<>$<>$<>$<>$<>$<>=
$<>$<>$<>$<>$<>$<>$<>$<>$<>$<>$<>$<>$<>[server:=20
propsdata+] Pruning shared props data...
$<>$<>$<>$<>$<>$<>$<>$<>[server: propsdata+] Shared props data pruning=20
took 7.323 milliseconds
[server: update] Saving archive in=20
/data1/home/zh2335/.unison/scdd5c6ac06b0499185151ee2e4194dfcd
$<>$<>$<>$<>$<>$<>$<>$<>$<>$<>$<>$<>$<>$<>$<>$<>$<>$<>$<>$<>$<>$<>$<>$<>$<>=
$<>$<>$<>$<>$<>$<>[server:=20
remote+] Sending result (id: 14)
[server: remote+] send [prepareCommit-res]=20
'\000\000\000\000\000\000\000\006\001\004...' 14 bytes
[server: remote+] send [rsp] '\000\000\000\000\000\000\000\001\000' 9 bytes
[server: remote_emit+] dump:=20
\014\000\000\000:\012\000\000\000}rsp\000\000\000\000\000\000\000\001\000\0=
31\000\000\000~prepareCommit-res\000\000\000\000\000\000\000\006\001\0040\1=
29\204&
[remote_emit+] grab:=20
\014\000\000\000:\012\000\000\000}rsp\000\000\000\000\000\000\000\001\000\0=
31\000\000\000~prepareCommit-res\000\000\000\000\000\000\000\006\001\0040\1=
29\204&
[remote+] Message received (id: 14)
[remote+] receive 'rsp\000\000\000\000\000\000\000...' 12 bytes
[remote+] receive 'prepareCom...' 31 bytes
[remote+] Waiting for next message
[remote+] send [commitArchive-args]=20
'\000\000\000\000\000\000\000\024\001\022...' 32 bytes
[remote+] send [rsp] '\000\000\000\000\000\000\000\016\003\001...' 24 bytes
[remote+] Sending request (id: 15)
[remote_emit+] dump:=20
\015\000\000\000\152\027\000\000\000\004rsp\000\000\000\000\000\000\000\016=
\003\001\rcommitArchive2\000\000\000~commitArchive-args\000\000\000\000\000=
\000\000\024\001\022/data1/home/zh2335/doc
[update+] Archive name is=20
//rubik-macmini//Users/llucps/.doc;//ch-s012.rsync.net//data1/home/zh2335/d=
oc,=20
//rubik-macmini//Users/llucps/.doc;23; hashcode is=20
c86567f23cab39f1e10f84b6e7ba2917
[update+] Archive name is=20
//rubik-macmini//Users/llucps/.doc;//ch-s012.rsync.net//data1/home/zh2335/d=
oc,=20
//rubik-macmini//Users/llucps/.doc;23; hashcode is=20
c86567f23cab39f1e10f84b6e7ba2917
[server: remote_emit+] grab:=20
\015\000\000\000\152\027\000\000\000\004rsp\000\000\000\000\000\000\000\016=
\003\001\rcommitArchive2\000\000\000~commitArchive-args\000\000\000\000\000=
\000\000\024\001\022/data1/home/zh2335/doc
[server: remote+] Message received (id: 15)
[server: remote+] receive 'rsp\000\000\000\000\000\000\000...' 27 bytes
[server: remote+] receive 'commitArch...' 50 bytes
[server: remote+] Waiting for next message
[server: update+] Archive name is=20
//ch-s012.rsync.net//data1/home/zh2335/doc;//ch-s012.rsync.net//data1/home/=
zh2335/doc,=20
//rubik-macmini//Users/llucps/.doc;23; hashcode is=20
dd5c6ac06b0499185151ee2e4194dfcd
[server: update+] Archive name is=20
//ch-s012.rsync.net//data1/home/zh2335/doc;//ch-s012.rsync.net//data1/home/=
zh2335/doc,=20
//rubik-macmini//Users/llucps/.doc;23; hashcode is=20
dd5c6ac06b0499185151ee2e4194dfcd
[server: remote+] Sending result (id: 15)
[server: remote+] send [commitArchive-res]=20
'\000\000\000\000\000\000\000\000' 8 bytes
[server: remote+] send [rsp] '\000\000\000\000\000\000\000\001\000' 9 bytes
[server: remote_emit+] dump:=20
\015\000\000\000\152\012\000\000\000}rsp\000\000\000\000\000\000\000\001\00=
0\025\000\000\000GcommitArchive-res\000\000\000\000\000\000\000\000
[remote_emit+] grab:=20
\015\000\000\000\152\012\000\000\000}rsp\000\000\000\000\000\000\000\001\00=
0\025\000\000\000GcommitArchive-res\000\000\000\000\000\000\000\000
[remote+] Message received (id: 15)
[remote+] receive 'rsp\000\000\000\000\000\000\000...' 12 bytes
[remote+] receive 'commitArch...' 25 bytes
[remote+] Waiting for next message
[remote+] send [postCommitArchive-args]=20
'\000\000\000\000\000\000\000\024\001\022...' 32 bytes
[remote+] send [rsp] '\000\000\000\000\000\000\000\020\003\001...' 28 bytes
[remote+] Sending request (id: 16)
[remote_emit+] dump:=20
\016\000\000\000\246\031\000\000\000~rsp\000\000\000\000\000\000\000\020\00=
3\001\017postCommitArchive6\000\000\000\248postCommitArchive-args\000\000\0=
00\000\000\000\000\024\001\022/data1/home/zh2335/doc
[update+] Archive name is=20
//rubik-macmini//Users/llucps/.doc;//ch-s012.rsync.net//data1/home/zh2335/d=
oc,=20
//rubik-macmini//Users/llucps/.doc;23; hashcode is=20
c86567f23cab39f1e10f84b6e7ba2917
[update+] Archive name is=20
//rubik-macmini//Users/llucps/.doc;//ch-s012.rsync.net//data1/home/zh2335/d=
oc,=20
//rubik-macmini//Users/llucps/.doc;23; hashcode is=20
c86567f23cab39f1e10f84b6e7ba2917
[update] Copying archive=20
/Volumes/doc/profiles/unison/tmc86567f23cab39f1e10f84b6e7ba2917 to=20
/Volumes/doc/profiles/unison/arc86567f23cab39f1e10f84b6e7ba2917
[server: remote_emit+] grab:=20
\016\000\000\000\246\031\000\000\000~rsp\000\000\000\000\000\000\000\020\00=
3\001\017postCommitArchive6\000\000\000\248postCommitArchive-args\000\000\0=
00\000\000\000\000\024\001\022/data1/home/zh2335/doc
[server: remote+] Message received (id: 16)
[server: remote+] receive 'rsp\000\000\000\000\000\000\000...' 31 bytes
[server: remote+] receive 'postCommit...' 54 bytes
[server: remote+] Waiting for next message
[server: update+] Archive name is=20
//ch-s012.rsync.net//data1/home/zh2335/doc;//ch-s012.rsync.net//data1/home/=
zh2335/doc,=20
//rubik-macmini//Users/llucps/.doc;23; hashcode is=20
dd5c6ac06b0499185151ee2e4194dfcd
[server: update+] Archive name is=20
//ch-s012.rsync.net//data1/home/zh2335/doc;//ch-s012.rsync.net//data1/home/=
zh2335/doc,=20
//rubik-macmini//Users/llucps/.doc;23; hashcode is=20
dd5c6ac06b0499185151ee2e4194dfcd
[server: update] Copying archive=20
/data1/home/zh2335/.unison/tmdd5c6ac06b0499185151ee2e4194dfcd to=20
/data1/home/zh2335/.unison/ardd5c6ac06b0499185151ee2e4194dfcd
[ser[remote_emit+] grab:=20
\016\000\000\000\246\012\000\000\000}rsp\000\000\000\000\000\000\000\001\00=
0\029\000\000\000\193postCommitArchive-res\000\000\000\000\000\000\000\000
[remote+] Message received (id: 16)
[remote+] receive 'rsp\000\000\000\000\000\000\000...' 12 bytes
[remote+] receive 'postCommit...' 29 bytes
[remote+] Waiting for next message
[remote+] send [removeArchive-args]=20
'\000\000\000\000\000\000\000\025\001\022...' 33 bytes
[remote+] send [rsp] '\000\000\000\000\000\000\000\016\003\001...' 24 bytes
[remote+] Sending request (id: 17)
[remote_emit+] dump:=20
\017\000\000\000U\027\000\000\000\004rsp\000\000\000\000\000\000\000\016\00=
3\001\rremoveArchive3\000\000\000\221removeArchive-args\000\000\000\000\000=
\000\000\025\001\022/data1/home/zh2335/doc\001
[update+] Archive name is=20
//rubik-macmini//Users/llucps/.doc;//ch-s012.rsync.net//data1/home/zh2335/d=
oc,=20
//rubik-macmini//Users/llucps/.doc;23; hashcode is=20
c86567f23cab39f1e10f84b6e7ba2917
[update] Removing archive=20
/Volumes/doc/profiles/unison/tmc86567f23cab39f1e10f84b6e7ba2917
ver: remote+] Sending result (id: 16)
[server: remote+] send [postCommitArchive-res]=20
'\000\000\000\000\000\000\000\000' 8 bytes
[server: remote+] send [rsp] '\000\000\000\000\000\000\000\001\000' 9 bytes
[server: remote_emit+] dump:=20
\016\000\000\000\246\012\000\000\000}rsp\000\000\000\000\000\000\000\001\00=
0\029\000\000\000\193postCommitArchive-res\000\000\000\000\000\000\000\000
[server: remote_emit+] grab:=20
\017\000\000\000U\027\000\000\000\004rsp\000\000\000\000\000\000\000\016\00=
3\001\rremoveArchive3\000\000\000\221removeArchive-args\000\000\000\000\000=
\000\000\025\001\022/data1/home/zh2335/doc\001
[server: remote+] Message received (id: 17)
[server: remote+] receive 'rsp\000\000\000\000\000\000\000...' 27 bytes
[server: remote+] receive 'removeArch...' 51 bytes
[server: remote+] Waiting for next message
[server: update+] Archive name is=20
//ch-s012.rsync.net//data1/home/zh2335/doc;//ch-s012.rsync.net//data1/home/=
zh2335/doc,=20
//rubik-macmini//Users/llucps/.doc;23; hashcode is=20
dd5c6ac06b0499185151ee2e4194dfcd
[server: update] Removing archive=20
/data1/home/zh2335/.unison/tmdd5c6ac06b0499185151ee2e4194dfcd
[server: remote+] Sending result (id: 17)
[server: remote+] send [removeArchive-res]=20
'\000\000\000\000\000\000\000\000' 8 bytes
[server: remote+] send [rsp] '\000\000\000\000\000\000\000\001\000' 9 bytes
[server: remote_emit+] dump:=20
\017\000\000\000U\012\000\000\000}rsp\000\000\000\000\000\000\000\001\000\0=
25\000\000\000GremoveArchive-res\000\000\000\000\000\000\000\000
[remote_emit+] grab:=20
\017\000\000\000U\012\000\000\000}rsp\000\000\000\000\000\000\000\001\000\0=
25\000\000\000GremoveArchive-res\000\000\000\000\000\000\000\000
[remote+] Message received (id: 17)
[remote+] receive 'rsp\000\000\000\000\000\000\000...' 12 bytes
[remote+] receive 'removeArch...' 25 bytes
[remote+] Waiting for next message
[remote+] send [unlockArchive-args]=20
'\000\000\000\000\000\000\000\024\001\022...' 32 bytes
[remote+] send [rsp] '\000\000\000\000\000\000\000\016\003\001...' 24 bytes
[remote+] Sending request (id: 18)
[remote_emit+] dump:=20
\018\000\000\000\179\027\000\000\000\004rsp\000\000\000\000\000\000\000\016=
\003\001\runlockArchive2\000\000\000~unlockArchive-args\000\000\000\000\000=
\000\000\024\001\022/data1/home/zh2335/doc
[update+] Archive name is=20
//rubik-macmini//Users/llucps/.doc;//ch-s012.rsync.net//data1/home/zh2335/d=
oc,=20
//rubik-macmini//Users/llucps/.doc;23; hashcode is=20
c86567f23cab39f1e10f84b6e7ba2917
[server: remote_emit+] grab:=20
\018\000\000\000\179\027\000\000\000\004rsp\000\000\000\000\000\000\000\016=
\003\001\runlockArchive2\000\000\000~unlockArchive-args\000\000\000\000\000=
\000\000\024\001\022/data1/home/zh2335/doc
[server: remote+] Message received (id: 18)
[server: remote+] receive 'rsp\000\000\000\000\000\000\000...' 27 bytes
[server: remote+] receive 'unlockArch...' 50 bytes
[server: remote+] Waiting for next message
[server: update+] Archive name is=20
//ch-s012.rsync.net//data1/home/zh2335/doc;//ch-s012.rsync.net//data1/home/=
zh2335/doc,=20
//rubik-macmini//Users/llucps/.doc;23; hashcode is=20
dd5c6ac06b0499185151ee2e4194dfcd
[server: remote+] Sending result (id: 18)
[server: remote+] send [unlockArchive-res]=20
'\000\000\000\000\000\000\000\000' 8 bytes
[server: remote+] send [rsp] '\000\000\000\000\000\000\000\001\000' 9 bytes
[server: remote_emit+] dump:=20
\018\000\000\000\179\012\000\000\000}rsp\000\000\000\000\000\000\000\001\00=
0\025\000\000\000GunlockArchive-res\000\000\000\000\000\000\000\000
[remote_emit+] grab:=20
\018\000\000\000\179\012\000\000\000}rsp\000\000\000\000\000\000\000\001\00=
0\025\000\000\000GunlockArchive-res\000\000\000\000\000\000\000\000
[remote+] Message received (id: 18)
[remote+] receive 'rsp\000\000\000\000\000\000\000...' 12 bytes
[remote+] receive 'unlockArch...' 25 bytes
[remote+] Waiting for next message
Nothing to do: replicas have not changed since last sync.
allocated_words: 205675013
minor_words: 205428234
promoted_words: 9127372
major_words: 9374151
minor_collections: 788
major_collections: 9
heap_words: 9432576
heap_chunks: 28
top_heap_words: 9432576
compactions: 0
forced_major_collections: 0

I have no idea whether this is an issue with macfuse or Unison maybe?..=20
the thing is using macfuse 5.0.7 everything runs fine, I can mount the=20
folder with gocryptfs, I can open files.. the only issue is when=20
synchronizing using Unison.

Any idea?

Thanks in advance.

Lluc Pallej=C3=A0

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