ZFS high CPU use after backup and panic on shutdown

From: Trev <freebsd-stable1_at_sentry.org>
Date: Sat, 25 Nov 2023 03:39:13 UTC
I recently updated from source FreeBSD 12-STABLE to FreeBSD 13-STABLE 
(stable/13-221a60a42: Tue Nov 14 15:36:40 AEDT 2023).

Ever since, after my ZFS backup to an external USB drive, the system 
continues to consume 100% of one core of the 2011 Mac mini (i7, 16G).

Example backup command from my shell script:

zfs send data/www@${snapshot} | bzip2 > /mnt/zfs-data-www-${snapshot}.bz2

Neither top, vmstat nor iostat give any clue as to what system process 
is using 100% of one core. To stop this phenomenon I have to shutdown 
and reboot the system which I do with "shutdown -r now".

This always results in a kernel panic:

Waiting (max 60 seconds) for system process `vnlru' to stop... done
Waiting (max 60 seconds) for system process `syncer' to stop...
Syncing disks, vnodes remaining... 4 6 4 2 1 2 1 0 0 0 done
All buffers synced.
Uptime: 1d23h34m0s


Fatal trap 12: page fault while in kernel mode
cpuid = 3; apic id = 03
fault virtual address   = 0x440
fault code              = supervisor read data, page not present
instruction pointer     = 0x20:0xffffffff80584d3c
stack pointer           = 0x28:0xfffffe00c7352d80
frame pointer           = 0x28:0xfffffe00c7352df0
code segment            = base 0x0, limit 0xfffff, type 0x1b
                         = DPL 0, pres 1, long 1, def32 0, gran 1
processor eflags        = interrupt enabled, resume, IOPL = 0
current process         = 0 (arc_prune)
trap number             = 12
panic: page fault
cpuid = 3
time = 1700828648
KDB: stack backtrace:
#0 0xffffffff805bf675 at kdb_backtrace+0x65
#1 0xffffffff8057b0d2 at vpanic+0x152
#2 0xffffffff8057af73 at panic+0x43
#3 0xffffffff80845519 at trap_fatal+0x389
#4 0xffffffff8084556f at trap_pfault+0x4f
#5 0xffffffff8081f30e at calltrap+0x8
#6 0xffffffff81a7274a at arc_prune_task+0x7a
#7 0xffffffff81a2865f at taskq_run+0x1f
#8 0xffffffff805d2e52 at taskqueue_run_locked+0x162
#9 0xffffffff805d3d72 at taskqueue_thread_loop+0xb2
#10 0xffffffff8053ed81 at fork_exit+0x71
#11 0xffffffff8082038e at fork_trampoline+0xe
Uptime: 1d23h34m0s
Dumping 1306 out of 16346 
MB:..2%..12%..21%..31%..41%..51%..61%..72%..81%..91%

The current process is always "arc_prune".

Where to go from here to resolve this?