In /boot/defaults/loader.conf, there is an option nextboot_enable="NO". From this name, I thought that this would need to be enabled for the nextboot(8) command to work. In actuality, it needs to be "NO" under normal circumstances, and is changed to "YES" by nextboot(8). Turning it on when nextboot.conf isn't written used to be harmless, but after some recent loader.4th changes, it now causes the bootloader to get a stack underflow and fail. It would be useful to add a comment to /boot/defaults/loader.conf describing the variable's correct use. For instance: # Temporarily set to "YES" by nextboot(8) in nextboot_conf to request special processing
It looks like nextboot_enable has been removed from defaults/loader.conf in https://cgit.freebsd.org/src/commit/?id=e307eb94ae520d98dc1d346a0c53667a41beab5d. I'm CCing the author of that commit. Maybe the issue described here has been overcome by events.