This works fine:
$ sw_vers
ProductName: macOS
ProductVersion: 13.5
BuildVersion: 22G74
$ zfs --version
zfs-macOS-2.1.6-1
zfs-kmod-2.1.6-1
$ zfs send -Re main/test/src@snap | zfs receive -Fuv main/test/dst
receiving full stream of main/test/src@snap into main/test/dst@snap
This doesn't:
$ zfs send -Re main/test/src@snap >/tmp/stream
$ zfs receive -Fuv main/test/dst </tmp/stream
receiving full stream of main/test/src@snap into main/test/dst@snap
cannot receive new filesystem stream: incompatible embedded data stream feature with encrypted receive.
Nothing in this pool is encrypted. This is entirely reproducible (src contains a single trivial file). It works (with a file) on Linux (TrueNAS-SCALE-22.12.3.3, zfs-2.1.11-1). It fails when macOS is sending and Linux is receiving. It seems to work on a 10.15.7 system running zfs-macOS-2.1.0-1. A stream generated there still fails to receive on the 13.5 system. Receiving a stream generated on 13.5 on the 10.15.7 system fails but complains about "checksum mismatch". It's all terribly confounding.
The only mention of this problem is https://github.com/openzfs/zfs/issues/8886, but that got closed as intermittent and ultimately unreproducible.
Any ideas? How do I debug this? FWIW, the entire stream file is 2MB and contains no secrets, so I'm happy to share it.
Cheers
-- perry