Closed Peter-Easton closed 2 years ago
We've already reverted that. Little that can be done for existing setups.
Okay, great! Thank you very much.
Hello,
I have migrated from Pixel 3 to Pixel 5, and not able to restore my Seedvault backup on the new phone. After entering the 12 words correctly the phone briefly shows a black screen and then ask for the phrase again.
Any advice?
No, don't have any advice. Seedvault isn't currently very reliable.
This issue was resolved for the next release by reverting a revert. Further discussion about it doesn't belong on the issue tracker.
Verified resolved as of SQ1D.211205.017.202121921 https://github.com/GrapheneOS/beta-feedback/issues/28
Ahoy shipmates!
I filed this issue upstream earlier, and they mentioned that it might actually be a revert on one of the commits we made downstream. The issue I filed is here: https://github.com/seedvault-app/seedvault/issues/346
A full test, including a stacktrace containing the error is posted here, upstream. Because I ran this test yesterday and hadn't gotten the update, I decided to run it again just to test and see. So I tested this again on Flame (Pixel 4), and made another test on Build Version
SQ1A.211205.008.202121602
released today, to confirm my results.I also attempted to test the restoration, I'll document my process below:
Equipment
SQ1D.211205.017.2021121421
SQ1A.211205.008.202121602
Case 1: Attempted restoration into a factory-reset phone
Procedure
After being updated to
SQ1A.211205.008.202121602
, the Pixel 4 was verified via local pairing with a Pixel 6 running GrapheneOS (Unmodified official release) which has been previously successfully paired with Attestation server. The Pixel 4 was then factory reset from the Settings Menu under Reset Options, then allowed to reboot.A genuine backup was taken from the Pixel 6, which included photos, a modestly-sized music collection, and a directory containing two encrypted Signal backup files which are approximately 6GB in size each. Unlike previous test cases taken on the Pixel 4 and examined in https://github.com/seedvault-app/seedvault/issues/345 , Seedvault reported a successful backup on the Pixel 6. The backups were taken to the Corsair Voyager GTX 128GB USB Solid State Drive, and allowed to complete before the USB drive was disconnected from the device using the
eject
function in the file manager.The Pixel 4 was allowed to restart, at which point it presented the GrapheneOS first run launcher. The defaults for location and timezone were selected. No SIM card had been attached. No pincode nor password was set and Facial Recognition was not set up.
The USB SSD was connected to the USB-A-to-C adapter and plugged in once the launcher presented the
Restore apps and data
screen. The device presented the option to search "Corsair USB Drive" for backups, which was then selected, and presented the next screen for entry of the 12-word recovery seed. The 12-word recovery seed was entered, and the appropriate word was selected once it appeared in the drop down list to avoid typographical errors.Expected Outcome
The 12-word recovery seed would be accepted, and Seedvault continue through the restoration process.
Observed Outcome
After entering the 12-word recovery seed and pressing
verify
, Seedvault presented the same screen again, this time with the spots for the seed words blank. When the same words were reentered, Seedvault returned to theRestore apps and data
screen in the launcher to prompt forskip
ornext
.Additional Observations
After the genuine seed words were entered a second time and Seedvault rejected them, a seed value consisting of the word
abandon
entered for each of the twelve slots was entered instead, to attempt to check the robustness of Seedvault's error checking algorithm. As expected, Seedvault immediately detected that the seed was invalid.Stacktrace
Not available. Android Debug Bridge could not be connected to the device at the time.
Case 2: Attempted restoration into Seedvault on Pixel 4 in owner profile after the menu.
Procedure
Immediately after Case 1's tests had been run,
skip
was selected at theRestore apps and data
screen in the launcher. WiFi was turned off, then Developer Options enabled.USB Debugging
was enabled in Developer Options, and the device connected to a desktop computer running Android Debug Bridge via USB-C-to-USB-C cable. When the dialogue appeared to trust the debugging computer, the debugging computer was authorized with a permanent authorization and the phone left connected.adb logcat
was then executed and output piped to a file.Seedvault was entered through the
Settings
->System
->Backup
menu, during which it presented twelve new words, which were recorded temporarily. Upon selectingconfirm
Seedvault presented the screen to confirm the words. The twelve recorded words were then entered into the screen, again using autocomplete to ensure there were no typographical errors.Expected Outcome
Seedvault accepts its new seed, and presents options for creation of a new backup to the new seed.
Observed Outcome
Upon its words being reentered, and confirmed, Seedvault returned to the previous screen with twelve new words. The test ceased at this point, the log collection was halted, and the logs saved.
Additional observations
Much like in Case 1, a seed value consisting of the word
abandon
twelve times was used to check Seedvault's error checking algorithm after the initial test was run. Seedvault rejected the invalid input.Case 2 Stacktrace
Case 3: Attempted restoration of the backup onto Pixel 6 Pro in secondary user profile
Procedure
A new user profile was created on the Pixel 6 Pro used as my daily use phone. The user profile was named
Test
and switched to to bring up the launcher. USB Debugging was not enabled.The defaults in the launcher were accepted, until arriving at the
Restore apps and data
screen on Seedvault. The USB drive containing the genuine backup was then connected to the device, and the genuine recovery seed entered, taking care to select the words once they were appeared in the drop down list to mitigate the possibility of mistyping them.Once entered,
verify
was selected.Expected Outcome
Seedvault would accept the recovery seed, then continue to restoring the apps and data into the new profile.
Observed outcome
As Case 2. Logs were not collected for this case.
Conclusions
Seedvault may be inoperative due to a keystore bug.