Additional Software data is not fully copied to Persistent Storage during initial setup on Bullseye
Affected user scenario & symptoms
This bug can impact a given user once, and only once, for a given USB stick:
Given I have Additional Software disabled and no Persistent Storage When I install a package And I accept Tails' offer to install this package every time I start Tails But I ignore t-p-s' offer to restart immediately And I restart Tails myself later Then on reboot this package may not be installed But if I install the same package again Then it will be installed, as expected, every time I start Tails in the future
Users who already have Additional Software enabled won't experience this bug.
!764 (merged) somewhat lowered the risk users hit this bug, by synchronizing the data to the USB stick before restarting, when the user clicks Restart in t-p-s. But:
- UX is poor: copying the data can taken 10-30 seconds and there's no sign of progress in the UI
- !799 (merged) improves this
- Presumably, a user who just installed a package wants to use them, not restart Tails. So plausibly most users won't click Restart at that point, and thus won't benefit from this mitigation.
That's why, in https://tails.boum.org/news/test_5.0-beta1/, I instead documented how to recover from the problem.
With the codebase that'll essentially become 5.0, i.e. with bf4c3fa3 applied, we tried, and failed, to reproduce this on:
- 4 bare metal machines
- a VM with a virtual USB stick configured for max 7MB/s write
But on the
18839-remove-workaround branch, that does not use the aforementioned workaround, we always see the problem. Go figure.
After enabling Additional Software for a newly installed package and shutting down, when I inspect the persistent filesystem from outside of Tails:
- according to
e2fsckthe filesystem is clean
aptdirectory exists and is empty
apt_sync_startedflag file exists
tails-synchronize-data-to-new-persistent-volume-on-shutdown.service failed to copy the data.