Server is an odroid-HC1 (same as odroid-XU4) so maybe this should go in armv7. Initial post to ask if anyone else has seen the issue.
$this->bbcode_second_pass_code('', '$ tail -20 /var/log/pacman.log
.....
[2019-06-19 13:30] [ALPM] upgraded nfsidmap (2.3.4-1 -> 2.4.1-1)
[2019-06-19 13:30] [ALPM] upgraded nfs-utils (2.3.4-1 -> 2.4.1-1)
[2019-06-19 13:30] [ALPM] transaction completed
.....
')
In this primitive setup, all access is anonymous.
/etc/exports:
$this->bbcode_second_pass_code('', '# Use `exportfs -arv` to reload.
/srv/public *(rw,sync,no_subtree_check,all_squash,anonuid=1001,anongid=1001)')
ClientA: x86_64, fedora 30
* immediately after mount, tcpdump shows ~20 getattr/response pairs that looked normal
* after that it appeared all the server responses were "stale file handle" errors
* I didn't save the log but I assume I can provide packets if that would be helpful
ClientB: odroid-XU4:
* worked OK for a few seconds after mount (long enough to actually list the root directory).
* all queries produced "stale file handle" after that.
* I didn't try to capture any packets
I downgraded both nfs-utils and nfsidmap to 2.3.4-1
$this->bbcode_second_pass_code('', '[2019-06-23 15:53] [PACMAN] Running 'pacman -U /var/cache/pacman/pkg/nfs-utils-2.3.4-1-armv7h.pkg.tar.xz'
[2019-06-23 15:54] [PACMAN] Running 'pacman -U /var/cache/pacman/pkg/nfs-utils-2.3.4-1-armv7h.pkg.tar.xz /var/cache/pacman/pkg/nfsidmap-2.3.4-1-armv7h.pkg.tar.xz'
[2019-06-23 15:55] [ALPM] transaction started
[2019-06-23 15:55] [ALPM] downgraded nfsidmap (2.4.1-1 -> 2.3.4-1)
[2019-06-23 15:55] [ALPM] downgraded nfs-utils (2.4.1-1 -> 2.3.4-1)
[2019-06-23 15:55] [ALPM] transaction completed
[2019-06-23 15:55] [ALPM] running 'systemd-daemon-reload.hook'...
[2019-06-23 15:55] [ALPM] running 'systemd-update.hook'...
')
so I don't know which one causes the issue. Everything seems to be working "like before" at this point.
Feeble troubleshooting efforts:
* nfsstat looks about the same (to me) now as it did when things were broken. I didn't save screen dumps.
* I verified that some sort of NTP service was running on each side (in fact the server was still set to UTC, but changing it to America/Chicago to match the clients had no effect.)