Syncoid - cannot receive new filesystem stream: destination has snapshots

Hello,

Tearing my hair out with this (which is unfortunate as I don’t have any). Trying to use syncoid to replicate my local snapshots to a remote server but I periodically get the error “cannot receive new filesystem stream: destination has snapshots…”

Log output:

Sep 03 10:48:07 ferryman.nine-hells.net syncoid[784041]: NEWEST SNAPSHOT: autosnap_2025-09-03_00:00:02_hourly
Sep 03 10:48:07 ferryman.nine-hells.net syncoid[784041]: INFO: Sending oldest full snapshot tank/storage/e-Home_Movies@autosnap_2025-08-27_23:59:05_daily (~ 2.8 GB) to new target filesystem:
Sep 03 10:48:07 ferryman.nine-hells.net syncoid[784050]: Locale charset is ANSI_X3.4-1968 (ASCII)
Sep 03 10:48:07 ferryman.nine-hells.net syncoid[784050]: Assuming locale environment is lost and charset is UTF-8
Sep 03 10:48:07 ferryman.nine-hells.net syncoid[784050]: ATTENTION! Your session is being recorded!
Sep 03 10:48:07 ferryman.nine-hells.net syncoid[784082]: mbuffer: warning: HOME environment variable not set - unable to find defaults file
Sep 03 10:48:07 ferryman.nine-hells.net syncoid[784050]: Locale charset is ANSI_X3.4-1968 (ASCII)
Sep 03 10:48:07 ferryman.nine-hells.net syncoid[784050]: Assuming locale environment is lost and charset is UTF-8
Sep 03 10:48:07 ferryman.nine-hells.net syncoid[784050]: ATTENTION! Your session is being recorded!
Sep 03 10:48:07 ferryman.nine-hells.net syncoid[784050]: cannot receive new filesystem stream: destination has snapshots (eg. backup2/e-Home_Movies@autosnap_2025-09-01_22:48:05_weekly)
Sep 03 10:48:07 ferryman.nine-hells.net syncoid[784050]: must destroy them to overwrite it
Sep 03 10:48:07 ferryman.nine-hells.net syncoid[784050]: mbuffer: error: outputThread: error writing to <stdout> at offset 0x40000: Broken pipe
Sep 03 10:48:07 ferryman.nine-hells.net syncoid[784050]: mbuffer: warning: error during output to <stdout>: Broken pipe
Sep 03 10:48:07 ferryman.nine-hells.net syncoid[784082]: mbuffer: error: outputThread: error writing to <stdout> at offset 0x270000: Broken pipe
Sep 03 10:48:07 ferryman.nine-hells.net syncoid[784082]: mbuffer: warning: error during output to <stdout>: Broken pipe
Sep 03 10:48:07 ferryman.nine-hells.net syncoid[784081]: lzop: Broken pipe: <stdout>
Sep 03 10:48:07 ferryman.nine-hells.net syncoid[784079]: warning: cannot send 'tank/storage/e-Home_Movies@autosnap_2025-08-27_23:59:05_daily': signal received
Sep 03 10:48:07 ferryman.nine-hells.net syncoid[784041]: CRITICAL ERROR:  zfs send -w  'tank/storage/e-Home_Movies'@'autosnap_2025-08-27_23:59:05_daily' | pv -p -t -e -r -b -s 2968558072 | lzop  | mbuffer  -q -s 128k -m 16M | ssh      -S /tmp/syncoid-backup@100.78.10.18-1756860485-7519 backup@100.78.10.18 ' mbuffer  -q -s 128k -m 16M | lzop -dfc | sudo zfs receive  -s -F '"'"'backup2/e-Home_Movies'"'"'' failed: 256 at /usr/sbin/syncoid line 549.

My local sanoid.conf is:

[tank/storage/e-backup]
        use_template = server
        pre_snapshot_script = /root/bin/backup_files
[tank/storage/e-docker]
        use_template = server
[tank/storage/e-immich]
        use_template = server
[tank/storage/e-Library2]
        use_template = server
[tank/storage/e-Home_Movies]
        use_template = server
[tank/storage/e-photos]
        use_template = server
[tank/storage/e-opencloud-data]
        use_template = server

#############################
# templates below this line #
#############################

[template_server]
        frequently = 0
        hourly = 24
        daily = 7
        weekly = 4
        monthly = 3
        yearly = 0
        autosnap = yes
        autoprune = yes

My syncoid command line is:

/usr/sbin/syncoid --skip-parent --no-sync-snap --recursive --force-delete --sendoptions="w" tank/storage backup@100.65.213.51:backup

The remote sanoid.conf is:

[backup/e-Home_Movies]
        use_template = backup
[backup/e-Library2]
        use_template = backup
[backup/e-backup]
        use_template = backup
[backup/e-docker]
        use_template = backup
[backup/e-immich]
        use_template = backup
[backup/e-opencloud-data]
        use_template = backup
[backup/e-photos]
        use_template = backup

#############################
# templates below this line #
#############################

[template_backup]
        autosnap = no
        autoprune = yes
        hourly = 0
        daily = 7
        weekly = 4
        monthly = 3

I even tried destroying all the snapshots on the remote and starting again - the initial send worked fine, but subsequently I get the error again.

What am I doing wrong?

INFO: Sending oldest full snapshot tank/storage/e-Home_Movies@autosnap_2025-08-27_23:59:05_daily (~ 2.8 GB) to new target filesystem:
...
Sep 03 10:48:07 ferryman.nine-hells.net syncoid[784050]: cannot receive new filesystem stream: destination has snapshots (eg. backup2/e-Home_Movies@autosnap_2025-09-01_22:48:05_weekly)

Your problem is that for some reason, syncoid thinks that the target doesn’t exist yet (and therefore is sending a full snapshot, not an incremental). Since the target does in fact exist, the ZFS receive process fails when it tries to target a full replication to an already-existent dataset.

I’m not sure why this is going on; I’ve never seen this particular issue before and I’m a bit puzzled at what paths in the codebase might lead you to this outcome. I have some suspicions about some of this console chatter, though:

Sep 03 10:48:07 ferryman.nine-hells.net syncoid[784050]: Locale charset is ANSI_X3.4-1968 (ASCII)
Sep 03 10:48:07 ferryman.nine-hells.net syncoid[784050]: Assuming locale environment is lost and charset is UTF-8
Sep 03 10:48:07 ferryman.nine-hells.net syncoid[784050]: ATTENTION! Your session is being recorded!
Sep 03 10:48:07 ferryman.nine-hells.net syncoid[784082]: mbuffer: warning: HOME environment variable not set - unable to find defaults file
Sep 03 10:48:07 ferryman.nine-hells.net syncoid[784050]: Locale charset is ANSI_X3.4-1968 (ASCII)
Sep 03 10:48:07 ferryman.nine-hells.net syncoid[784050]: Assuming locale environment is lost and charset is UTF-8
Sep 03 10:48:07 ferryman.nine-hells.net syncoid[784050]: ATTENTION! Your session is being recorded!

It’s not impossible that the locale information getting lost/mangled is somehow resulting in something subtle and weird happening when syncoid tries to parse the list of snapshots. I’m also curious about “ATTENTION! Your session is being recorded!”, do you have any idea about that?

And finally, yet another question:

        pre_snapshot_script = /root/bin/backup_files

Can we see the content of your pre snapshot script, please?

Thanks for the reply, I appreciate it.

The “ATTENTION! Your session is being recorded!” is a banner that shows for an SSH connection, due to the session being logged with tlog.

The pre_snapshot_script rsyncs some files into one of the datasets:

#!/usr/bin/env bash
/usr/bin/rsync -aqhWHAXP --delete /etc /storage/backup/
/usr/bin/rsync -aqhWHAXP --delete --exclude "takeout*" --exclude ".cache" --exclude ".local" /home /storage/backup/
/usr/bin/rsync -aqhWHAXP --delete --exclude ".cache" --exclude ".local" /root /storage/backup/
/sbin/restorecon -vr /storage/backup

Which zfs version? Which syncoid version?

You are using raw send. Is the dataset encrypted? Have you tried without raw send?

Does this destination snapshot actually exist or is this made up by sanoid?

$ zfs --version
zfs-2.3.4-1
zfs-kmod-2.3.4-1

$ syncoid --version
/usr/bin/syncoid version 2.2.0
(Getopt::Long::GetOptions version 2.58, Perl version 5.40.3)

Yes, all the datasets I am sending are encrypted but stored without key on the remote.

Yes it exists on the remote. If I destroy the named snapshot on the remote and then kick off syncoid again - the incremental snapshots gets synced like expected.

A detail that may or may not be important - I am syncing (in push fashion) from my local (A) to 2 different remotes, sequentially. At present, syncing to remote B appears to be working but I am having problems with remote C. Although it worked as expected for the past 2 days, but failed again today - but not for all datasets (2 failed out of 7 datasets).

A → B (currently working okay)
A → C (worked for 2 days and failed today)

But then the problem is obvious.

The destination has snapshot
backup2/e-Home_Movies@autosnap_2025-09-01_22:48:05_weekly

While sycnoid wants to sync the latest snapshot from the source which is:

tank/storage/e-Home_Movies@autosnap_2025-08-27_23:59:05_daily

That needs to fail. You need to clarify why your destination has a snapshot that is newer than what your source has. On 2025-09-01_22:48:05 there must have been a process which created a snapshot on your destination.

1 Like

Can 100% confirm the only process creating snapshots on the remote is syncoid. I am thinking this is some weird kind of timing issue.

What kind of timing issue?

You tried to syncoid on 3. Sept. to sync the latest snapshot from source from 27. Aug.

That fails because destination already has a snapshot from 1. Sept. This snapshot was created by a process. That is not a timing issue.

What does the zpool history say?

zpool history tank

zpool history backup2

As has been pointed out, that log indicates the source snapshot is the “oldest” FULL snapshot - not the newest available.

The question is why is syncoid attempting to send a full snapshot (not incremental) to a “new target filesystem” when the destination dataset already exists and has previous snapshots synced by syncoid.

This confuses me.

  1. The logfile says the destination pool is backup2 but your command calls it backup
  2. the option --force-delete should not complain about existing snapshots on the destination:
    --force-delete Remove target datasets recursively, if there are no matching snapshots/bookmarks (also overwrites conflicting named snapshots)
    This is weird. Instead of complaining about an existing snapshot it should just delete it.

“backup” is on remote server B, “backup2” is remote server C.

This morning, after working fine for days (I sync once per day), syncing to remote B failed as follows:

Sep 09 09:25:31 ferryman.nine-hells.net systemd[1]: Starting syncoid.service - Snapshot ZFS Pool Sync...
Sep 09 09:25:35 ferryman.nine-hells.net syncoid[1968]: INFO: Skipping dataset (syncoid:sync=false): tank/storage/Library...
Sep 09 09:25:37 ferryman.nine-hells.net syncoid[1968]: NEWEST SNAPSHOT: autosnap_2025-09-08_23:00:02_hourly
Sep 09 09:25:37 ferryman.nine-hells.net syncoid[1968]: Sending incremental tank/storage/e-Home_Movies@autosnap_2025-09-08_01:00:00_hourly ... autosnap_2025-09-08_23:00:02_hourly (~ 13 KB):
Sep 09 09:25:37 ferryman.nine-hells.net syncoid[2861]: mbuffer: warning: HOME environment variable not set - unable to find defaults file
Sep 09 09:26:00 ferryman.nine-hells.net syncoid[1968]: NEWEST SNAPSHOT: autosnap_2025-09-08_23:00:02_hourly
Sep 09 09:26:00 ferryman.nine-hells.net syncoid[1968]: Sending incremental tank/storage/e-Library2@autosnap_2025-09-08_01:00:04_hourly ... autosnap_2025-09-08_23:00:02_hourly (~ 13 KB):
Sep 09 09:26:00 ferryman.nine-hells.net syncoid[3783]: mbuffer: warning: HOME environment variable not set - unable to find defaults file
Sep 09 09:26:41 ferryman.nine-hells.net syncoid[1968]: NEWEST SNAPSHOT: autosnap_2025-09-08_23:00:01_hourly
Sep 09 09:26:42 ferryman.nine-hells.net syncoid[1968]: Sending incremental tank/storage/e-backup@autosnap_2025-09-08_01:00:00_hourly ... autosnap_2025-09-08_23:00:01_hourly (~ 96.2 MB):
Sep 09 09:26:42 ferryman.nine-hells.net syncoid[5016]: mbuffer: warning: HOME environment variable not set - unable to find defaults file
Sep 09 09:29:46 ferryman.nine-hells.net syncoid[1968]: NEWEST SNAPSHOT: autosnap_2025-09-08_23:00:01_hourly
Sep 09 09:29:47 ferryman.nine-hells.net syncoid[1968]: Sending incremental tank/storage/e-docker@autosnap_2025-09-08_01:00:04_hourly ... autosnap_2025-09-08_23:00:01_hourly (~ 857.5 MB):
Sep 09 09:29:47 ferryman.nine-hells.net syncoid[13286]: mbuffer: warning: HOME environment variable not set - unable to find defaults file
Sep 09 09:31:23 ferryman.nine-hells.net syncoid[13286]: mbuffer: error: outputThread: error writing to <stdout> at offset 0x2ed60000: Broken pipe
Sep 09 09:31:23 ferryman.nine-hells.net syncoid[13285]: lzop: Broken pipe: <stdout>
Sep 09 09:31:23 ferryman.nine-hells.net syncoid[13286]: mbuffer: warning: error during output to <stdout>: Broken pipe
Sep 09 09:31:23 ferryman.nine-hells.net syncoid[13283]: warning: cannot send 'tank/storage/e-docker@autosnap_2025-09-08_18:00:01_hourly': signal received
Sep 09 09:31:23 ferryman.nine-hells.net syncoid[13283]: warning: cannot send 'tank/storage/e-docker@autosnap_2025-09-08_19:00:02_hourly': Broken pipe
Sep 09 09:31:23 ferryman.nine-hells.net syncoid[13283]: warning: cannot send 'tank/storage/e-docker@autosnap_2025-09-08_20:00:02_hourly': Broken pipe
Sep 09 09:31:23 ferryman.nine-hells.net syncoid[13283]: warning: cannot send 'tank/storage/e-docker@autosnap_2025-09-08_21:00:05_hourly': Broken pipe
Sep 09 09:31:23 ferryman.nine-hells.net syncoid[13283]: warning: cannot send 'tank/storage/e-docker@autosnap_2025-09-08_22:00:04_hourly': Broken pipe
Sep 09 09:31:23 ferryman.nine-hells.net syncoid[13283]: warning: cannot send 'tank/storage/e-docker@autosnap_2025-09-08_23:00:01_hourly': Broken pipe
Sep 09 09:31:24 ferryman.nine-hells.net syncoid[13283]: cannot send 'tank/storage/e-docker': I/O error
Sep 09 09:31:24 ferryman.nine-hells.net syncoid[1968]: CRITICAL ERROR:  zfs send -w  -I 'tank/storage/e-docker'@'autosnap_2025-09-08_01:00:04_hourly' 'tank/storage/e-docker'@'autosnap_2025-09-08_23:00:01_hourly' | pv -p -t -e -r -b -s 899197120 | lzop  | mbuffer  -q -s 128k -m 16M | ssh      -S /tmp/syncoid-backup@100.65.213.51-1757373931-1878 backup@100.65.213.51 ' mbuffer  -q -s 128k -m 16M | lzop -dfc | sudo zfs receive  -s -F '"'"'backup/e-docker'"'"' 2>&1' failed: 65280 at /usr/sbin/syncoid line 889.
Sep 09 09:33:39 ferryman.nine-hells.net syncoid[14707]: ssh: connect to host 100.65.213.51 port 22: Connection timed out
Sep 09 09:35:55 ferryman.nine-hells.net syncoid[1968]: NEWEST SNAPSHOT: autosnap_2025-09-08_23:31:13_weekly
Sep 09 09:35:55 ferryman.nine-hells.net syncoid[1968]: INFO: Sending oldest full snapshot tank/storage/e-immich@autosnap_2025-09-01_22:48:05_monthly (~ 16.3 GB) to new target filesystem:
Sep 09 09:37:03 ferryman.nine-hells.net syncoid[19462]: Locale charset is ANSI_X3.4-1968 (ASCII)
Sep 09 09:37:03 ferryman.nine-hells.net syncoid[19462]: Assuming locale environment is lost and charset is UTF-8
Sep 09 09:37:03 ferryman.nine-hells.net syncoid[19462]: ATTENTION! Your session is being recorded!
Sep 09 09:37:03 ferryman.nine-hells.net syncoid[22418]: mbuffer: warning: HOME environment variable not set - unable to find defaults file
Sep 09 09:37:04 ferryman.nine-hells.net syncoid[22419]: Locale charset is ANSI_X3.4-1968 (ASCII)
Sep 09 09:37:04 ferryman.nine-hells.net syncoid[22419]: Assuming locale environment is lost and charset is UTF-8
Sep 09 09:37:04 ferryman.nine-hells.net syncoid[22419]: ATTENTION! Your session is being recorded!
Sep 09 09:37:04 ferryman.nine-hells.net syncoid[22419]: cannot receive new filesystem stream: destination has snapshots (eg. backup/e-immich@autosnap_2025-09-01_22:48:05_monthly)
Sep 09 09:37:04 ferryman.nine-hells.net syncoid[22419]: must destroy them to overwrite it
Sep 09 09:37:04 ferryman.nine-hells.net syncoid[22419]: mbuffer: error: outputThread: error writing to <stdout> at offset 0x4e000: Broken pipe
Sep 09 09:37:04 ferryman.nine-hells.net syncoid[22419]: mbuffer: warning: error during output to <stdout>: Broken pipe
Sep 09 09:37:04 ferryman.nine-hells.net syncoid[22418]: mbuffer: error: outputThread: error writing to <stdout> at offset 0x2a0000: Broken pipe
Sep 09 09:37:04 ferryman.nine-hells.net syncoid[22418]: mbuffer: warning: error during output to <stdout>: Broken pipe
Sep 09 09:37:04 ferryman.nine-hells.net syncoid[22417]: lzop: Broken pipe: <stdout>
Sep 09 09:37:05 ferryman.nine-hells.net syncoid[22415]: warning: cannot send 'tank/storage/e-immich@autosnap_2025-09-01_22:48:05_monthly': signal received
Sep 09 09:37:05 ferryman.nine-hells.net syncoid[1968]: CRITICAL ERROR:  zfs send -w  'tank/storage/e-immich'@'autosnap_2025-09-01_22:48:05_monthly' | pv -p -t -e -r -b -s 17456079824 | lzop  | mbuffer  -q -s 128k -m 16M | ssh      -S /tmp/syncoid-backup@100.65.213.51-1757373931-1878 backup@100.65.213.51 ' mbuffer  -q -s 128k -m 16M | lzop -dfc | sudo zfs receive  -s -F '"'"'backup/e-immich'"'"'' failed: 256 at /usr/sbin/syncoid line 549.
Sep 09 09:37:05 ferryman.nine-hells.net syncoid[22432]: Locale charset is ANSI_X3.4-1968 (ASCII)
Sep 09 09:37:05 ferryman.nine-hells.net syncoid[22432]: Assuming locale environment is lost and charset is UTF-8
Sep 09 09:37:05 ferryman.nine-hells.net syncoid[22432]: ATTENTION! Your session is being recorded!
Sep 09 09:37:06 ferryman.nine-hells.net syncoid[1968]: NEWEST SNAPSHOT: autosnap_2025-09-08_23:31:05_weekly
Sep 09 09:37:06 ferryman.nine-hells.net syncoid[1968]: INFO: Sending oldest full snapshot tank/storage/e-opencloud-data@autosnap_2025-09-01_22:48:06_monthly (~ 21.4 GB) to new target filesystem:
Sep 09 09:37:06 ferryman.nine-hells.net syncoid[22444]: Locale charset is ANSI_X3.4-1968 (ASCII)
Sep 09 09:37:06 ferryman.nine-hells.net syncoid[22444]: Assuming locale environment is lost and charset is UTF-8
Sep 09 09:37:06 ferryman.nine-hells.net syncoid[22444]: ATTENTION! Your session is being recorded!
Sep 09 09:37:06 ferryman.nine-hells.net syncoid[22450]: mbuffer: warning: HOME environment variable not set - unable to find defaults file
Sep 09 09:37:06 ferryman.nine-hells.net syncoid[22451]: Locale charset is ANSI_X3.4-1968 (ASCII)
Sep 09 09:37:06 ferryman.nine-hells.net syncoid[22451]: Assuming locale environment is lost and charset is UTF-8
Sep 09 09:37:06 ferryman.nine-hells.net syncoid[22451]: ATTENTION! Your session is being recorded!
Sep 09 09:37:07 ferryman.nine-hells.net syncoid[22451]: cannot receive new filesystem stream: destination has snapshots (eg. backup/e-opencloud-data@autosnap_2025-09-08_01:00:04_hourly)
Sep 09 09:37:07 ferryman.nine-hells.net syncoid[22451]: must destroy them to overwrite it
Sep 09 09:37:07 ferryman.nine-hells.net syncoid[22451]: mbuffer: error: outputThread: error writing to <stdout> at offset 0x40000: Broken pipe
Sep 09 09:37:07 ferryman.nine-hells.net syncoid[22451]: mbuffer: warning: error during output to <stdout>: Broken pipe
Sep 09 09:37:07 ferryman.nine-hells.net syncoid[22450]: mbuffer: error: outputThread: error writing to <stdout> at offset 0x270000: Broken pipe
Sep 09 09:37:07 ferryman.nine-hells.net syncoid[22450]: mbuffer: warning: error during output to <stdout>: Broken pipe
Sep 09 09:37:07 ferryman.nine-hells.net syncoid[22449]: lzop: Broken pipe: <stdout>
Sep 09 09:37:07 ferryman.nine-hells.net syncoid[22447]: warning: cannot send 'tank/storage/e-opencloud-data@autosnap_2025-09-01_22:48:06_monthly': signal received
Sep 09 09:37:07 ferryman.nine-hells.net syncoid[1968]: CRITICAL ERROR:  zfs send -w  'tank/storage/e-opencloud-data'@'autosnap_2025-09-01_22:48:06_monthly' | pv -p -t -e -r -b -s 22933935616 | lzop  | mbuffer  -q -s 128k -m 16M | ssh      -S /tmp/syncoid-backup@100.65.213.51-1757373931-1878 backup@100.65.213.51 ' mbuffer  -q -s 128k -m 16M | lzop -dfc | sudo zfs receive  -s -F '"'"'backup/e-opencloud-data'"'"'' failed: 256 at /usr/sbin/syncoid line 549.
Sep 09 09:37:08 ferryman.nine-hells.net syncoid[22466]: Locale charset is ANSI_X3.4-1968 (ASCII)
Sep 09 09:37:08 ferryman.nine-hells.net syncoid[22466]: Assuming locale environment is lost and charset is UTF-8
Sep 09 09:37:08 ferryman.nine-hells.net syncoid[22466]: ATTENTION! Your session is being recorded!
Sep 09 09:37:08 ferryman.nine-hells.net syncoid[1968]: NEWEST SNAPSHOT: autosnap_2025-09-08_23:31:08_weekly
Sep 09 09:37:08 ferryman.nine-hells.net syncoid[1968]: INFO: Sending oldest full snapshot tank/storage/e-photos@autosnap_2025-09-01_22:48:04_monthly (~ 20.6 GB) to new target filesystem:
Sep 09 09:37:08 ferryman.nine-hells.net syncoid[22475]: Locale charset is ANSI_X3.4-1968 (ASCII)
Sep 09 09:37:08 ferryman.nine-hells.net syncoid[22475]: Assuming locale environment is lost and charset is UTF-8
Sep 09 09:37:08 ferryman.nine-hells.net syncoid[22475]: ATTENTION! Your session is being recorded!
Sep 09 09:37:08 ferryman.nine-hells.net syncoid[22480]: mbuffer: warning: HOME environment variable not set - unable to find defaults file
Sep 09 09:37:08 ferryman.nine-hells.net syncoid[22481]: Locale charset is ANSI_X3.4-1968 (ASCII)
Sep 09 09:37:08 ferryman.nine-hells.net syncoid[22481]: Assuming locale environment is lost and charset is UTF-8
Sep 09 09:37:08 ferryman.nine-hells.net syncoid[22481]: ATTENTION! Your session is being recorded!
Sep 09 09:37:10 ferryman.nine-hells.net syncoid[22481]: cannot receive new filesystem stream: destination has snapshots (eg. backup/e-photos@autosnap_2025-09-01_23:30:01_weekly)
Sep 09 09:37:10 ferryman.nine-hells.net syncoid[22481]: must destroy them to overwrite it
Sep 09 09:37:10 ferryman.nine-hells.net syncoid[22481]: mbuffer: error: outputThread: error writing to <stdout> at offset 0x4f000: Broken pipe
Sep 09 09:37:10 ferryman.nine-hells.net syncoid[22481]: [tailscale-ssh: process died: signal: broken pipe]
Sep 09 09:37:10 ferryman.nine-hells.net syncoid[22480]: mbuffer: error: outputThread: error writing to <stdout> at offset 0x3c0000: Broken pipe
Sep 09 09:37:10 ferryman.nine-hells.net syncoid[22479]: lzop: Broken pipe: <stdout>
Sep 09 09:37:10 ferryman.nine-hells.net syncoid[22480]: mbuffer: warning: error during output to <stdout>: Broken pipe
Sep 09 09:37:11 ferryman.nine-hells.net syncoid[22477]: warning: cannot send 'tank/storage/e-photos@autosnap_2025-09-01_22:48:04_monthly': signal received
Sep 09 09:37:11 ferryman.nine-hells.net syncoid[1968]: CRITICAL ERROR:  zfs send -w  'tank/storage/e-photos'@'autosnap_2025-09-01_22:48:04_monthly' | pv -p -t -e -r -b -s 22086460736 | lzop  | mbuffer  -q -s 128k -m 16M | ssh      -S /tmp/syncoid-backup@100.65.213.51-1757373931-1878 backup@100.65.213.51 ' mbuffer  -q -s 128k -m 16M | lzop -dfc | sudo zfs receive  -s -F '"'"'backup/e-photos'"'"'' failed: 256 at /usr/sbin/syncoid line 549.
Sep 09 09:37:11 ferryman.nine-hells.net syncoid[1968]: INFO: Skipping dataset (syncoid:sync=false): tank/storage/media...
Sep 09 09:37:11 ferryman.nine-hells.net systemd[1]: syncoid.service: Main process exited, code=exited, status=2/INVALIDARGUMENT
Sep 09 09:37:11 ferryman.nine-hells.net systemd[1]: syncoid.service: Failed with result 'exit-code'.
Sep 09 09:37:11 ferryman.nine-hells.net systemd[1]: Failed to start syncoid.service - Snapshot ZFS Pool Sync.
Sep 09 09:37:11 ferryman.nine-hells.net systemd[1]: syncoid.service: Consumed 5.658s CPU time, 41.2M memory peak.

When I ran the service again manually, a little while later (without touching remote B):

Sep 09 10:10:40 ferryman.nine-hells.net systemd[1]: Starting syncoid.service - Snapshot ZFS Pool Sync...
Sep 09 10:10:41 ferryman.nine-hells.net syncoid[39605]: INFO: Skipping dataset (syncoid:sync=false): tank/storage/Library...
Sep 09 10:10:41 ferryman.nine-hells.net syncoid[39605]: NEWEST SNAPSHOT: autosnap_2025-09-09_00:00:02_hourly
Sep 09 10:10:42 ferryman.nine-hells.net syncoid[39605]: Sending incremental tank/storage/e-Home_Movies@autosnap_2025-09-08_23:00:02_hourly ... autosnap_2025-09-09_00:00:02_hourly (~ 4 KB):
Sep 09 10:10:42 ferryman.nine-hells.net syncoid[39645]: mbuffer: warning: HOME environment variable not set - unable to find defaults file
Sep 09 10:10:44 ferryman.nine-hells.net syncoid[39605]: NEWEST SNAPSHOT: autosnap_2025-09-09_00:00:03_hourly
Sep 09 10:10:44 ferryman.nine-hells.net syncoid[39605]: Sending incremental tank/storage/e-Library2@autosnap_2025-09-08_23:00:02_hourly ... autosnap_2025-09-09_00:00:03_hourly (~ 426 KB):
Sep 09 10:10:44 ferryman.nine-hells.net syncoid[39727]: mbuffer: warning: HOME environment variable not set - unable to find defaults file
Sep 09 10:10:46 ferryman.nine-hells.net syncoid[39605]: NEWEST SNAPSHOT: autosnap_2025-09-09_00:00:01_hourly
Sep 09 10:10:46 ferryman.nine-hells.net syncoid[39605]: Sending incremental tank/storage/e-backup@autosnap_2025-09-08_23:00:01_hourly ... autosnap_2025-09-09_00:00:01_hourly (~ 12.3 MB):
Sep 09 10:10:46 ferryman.nine-hells.net syncoid[39789]: mbuffer: warning: HOME environment variable not set - unable to find defaults file
Sep 09 10:10:50 ferryman.nine-hells.net syncoid[39605]: Resuming interrupted zfs send/receive from tank/storage/e-docker to backup/e-docker (~ 2.4 MB remaining):
Sep 09 10:10:50 ferryman.nine-hells.net syncoid[39890]: mbuffer: warning: HOME environment variable not set - unable to find defaults file
Sep 09 10:10:52 ferryman.nine-hells.net syncoid[39605]: NEWEST SNAPSHOT: autosnap_2025-09-09_00:00:03_hourly
Sep 09 10:10:52 ferryman.nine-hells.net syncoid[39605]: Sending incremental tank/storage/e-docker@autosnap_2025-09-08_18:00:01_hourly ... autosnap_2025-09-09_00:00:03_hourly (~ 133.9 MB):
Sep 09 10:10:52 ferryman.nine-hells.net syncoid[39921]: mbuffer: warning: HOME environment variable not set - unable to find defaults file
Sep 09 10:11:08 ferryman.nine-hells.net syncoid[39605]: NEWEST SNAPSHOT: autosnap_2025-09-09_00:00:02_hourly
Sep 09 10:11:08 ferryman.nine-hells.net syncoid[39605]: Sending incremental tank/storage/e-immich@autosnap_2025-09-08_01:00:04_hourly ... autosnap_2025-09-09_00:00:02_hourly (~ 70.0 MB):
Sep 09 10:11:08 ferryman.nine-hells.net syncoid[40151]: mbuffer: warning: HOME environment variable not set - unable to find defaults file
Sep 09 10:11:26 ferryman.nine-hells.net syncoid[39605]: NEWEST SNAPSHOT: autosnap_2025-09-09_00:00:02_hourly
Sep 09 10:11:26 ferryman.nine-hells.net syncoid[39605]: Sending incremental tank/storage/e-opencloud-data@autosnap_2025-09-08_01:00:04_hourly ... autosnap_2025-09-09_00:00:02_hourly (~ 2.6 MB):
Sep 09 10:11:26 ferryman.nine-hells.net syncoid[40569]: mbuffer: warning: HOME environment variable not set - unable to find defaults file
Sep 09 10:11:41 ferryman.nine-hells.net syncoid[39605]: NEWEST SNAPSHOT: autosnap_2025-09-09_00:00:02_hourly
Sep 09 10:11:41 ferryman.nine-hells.net syncoid[39605]: Sending incremental tank/storage/e-photos@autosnap_2025-09-08_01:00:04_hourly ... autosnap_2025-09-09_00:00:02_hourly (~ 15 KB):
Sep 09 10:11:41 ferryman.nine-hells.net syncoid[40933]: mbuffer: warning: HOME environment variable not set - unable to find defaults file
Sep 09 10:11:56 ferryman.nine-hells.net syncoid[39605]: INFO: Skipping dataset (syncoid:sync=false): tank/storage/media...
Sep 09 10:11:56 ferryman.nine-hells.net systemd[1]: syncoid.service: Deactivated successfully.
Sep 09 10:11:56 ferryman.nine-hells.net systemd[1]: Finished syncoid.service - Snapshot ZFS Pool Sync.
Sep 09 10:11:56 ferryman.nine-hells.net systemd[1]: syncoid.service: Consumed 2.337s CPU time, 37.4M memory peak.

It all worked fine???

Okay, so an update here. I have disabled tlog on my backup servers and am no longer having any issues. Cross fingers that its solved for good. Unsure why or how tlog was interfering with syncoid / zfs send-receive but it appears to be that way.

Thank you for all your help!

2 Likes