Race condition in package reinstall/startup after restore can lead to no packages restored
rc.bootup triggers a rc.package_reinstall_all in the background with a delay, to reinstall all packages in the config.
rc.start_packages comes along and then tries to start all packages shortly after the background reinstall is triggered.
When rc.start_packages tries to sync each package, it sees that the package is not properly installed and thus removes its package XML from the configuration.
Then the package reinstall has nothing to do, because by the time it starts up, the package list in the config is empty since they were all wiped out.