seedvault-app / seedvault

A backup application for the Android Open Source Project.
1.19k stars 73 forks source link

Seedvault does not restore a single app #588

Closed Flunkyball closed 6 months ago

Flunkyball commented 8 months ago

Hello,

I have a Pixel 7a and a Pixel 8 with the latest GrapheneOS version thus Android 14. My apps and data is backed up via DavX to a webdav server from the Pixel 7a without problems.

When I try to restore on a freshly setup Pixel 8 every single app restore fails with a popup in the end telling me that "some" apps could not be installed but I can try to do it manually. The later tries to open and appstore.

I guess this behavior is not intended, right ?

Thx for any hint

grote commented 8 months ago

The behavior is expected if for example your ROM doesn't allow Seedvault to install apps. To know why apps couldn't get installed, we'd need to get a logcat from Seedvault (see expert settings).

When backing up, did you disable the APK backup option?

ghost commented 7 months ago

I hope this will help.

seedvault-14-3.3-1700230990923.txt

grote commented 7 months ago

Relevant issues from the log:

11-17 13:46:43.036  6525  6573 E AndroidRuntime: java.lang.IllegalStateException: Folder suddenly has no more name
11-17 13:46:43.036  6525  6573 E AndroidRuntime:    at org.calyxos.backup.storage.plugin.saf.SafStoragePlugin.getCurrentBackupSnapshots$suspendImpl(SafStoragePlugin.kt:240)
11-17 13:46:43.036  6525  6573 E AndroidRuntime:    at org.calyxos.backup.storage.plugin.saf.SafStoragePlugin.getCurrentBackupSnapshots(Unknown Source:0)
11-17 13:46:43.036  6525  6573 E AndroidRuntime:    at org.calyxos.backup.storage.api.StorageBackup$deleteAllSnapshots$2.invokeSuspend(StorageBackup.kt:116)
11-17 13:46:43.036  6525  6573 E AndroidRuntime:    at org.calyxos.backup.storage.api.StorageBackup$deleteAllSnapshots$2.invoke(Unknown Source:8)
11-17 13:46:43.036  6525  6573 E AndroidRuntime:    at org.calyxos.backup.storage.api.StorageBackup$deleteAllSnapshots$2.invoke(Unknown Source:4)
11-17 13:46:43.036  6525  6573 E AndroidRuntime:    at kotlinx.coroutines.intrinsics.UndispatchedKt.startUndispatchedOrReturn(Undispatched.kt:89)
11-17 13:46:43.036  6525  6573 E AndroidRuntime:    at kotlinx.coroutines.BuildersKt__Builders_commonKt.withContext(Builders.common.kt:169)
11-17 13:46:43.036  6525  6573 E AndroidRuntime:    at kotlinx.coroutines.BuildersKt.withContext(Unknown Source:1)
11-17 13:46:43.036  6525  6573 E AndroidRuntime:    at org.calyxos.backup.storage.api.StorageBackup.deleteAllSnapshots(StorageBackup.kt:114)
11-17 13:46:43.036  6525  6573 E AndroidRuntime:    at com.stevesoltys.seedvault.ui.storage.BackupStorageViewModel$onLocationSet$1.invokeSuspend(BackupStorageViewModel.kt:38)

This is a new one and probably a SAF issue.

java.lang.NullPointerException: Parameter specified as non-null is null: method org.calyxos.backup.storage.backup.BackupService.onStartCommand, parameter intent
11-17 14:15:08.628  3525  3525 E AndroidRuntime:    at org.calyxos.backup.storage.backup.BackupService.onStartCommand(Unknown Source:2)

The trace most relevant for the issue at hand is probably:

11-17 15:22:53.083 13876 13945 E ApkRestore: Security error re-installing APK for com.whatsapp.
11-17 15:22:53.083 13876 13945 E ApkRestore: java.lang.SecurityException: com.stevesoltys.seedvault: One of RECEIVER_EXPORTED or RECEIVER_NOT_EXPORTED should be specified when a receiver isn't being registered exclusively for system broadcasts
11-17 15:22:53.083 13876 13945 E ApkRestore:    at android.os.Parcel.createExceptionOrNull(Parcel.java:3066)
11-17 15:22:53.083 13876 13945 E ApkRestore:    at android.os.Parcel.createException(Parcel.java:3050)
11-17 15:22:53.083 13876 13945 E ApkRestore:    at android.os.Parcel.readException(Parcel.java:3026)
11-17 15:22:53.083 13876 13945 E ApkRestore:    at android.os.Parcel.readException(Parcel.java:2968)
11-17 15:22:53.083 13876 13945 E ApkRestore:    at android.app.IActivityManager$Stub$Proxy.registerReceiverWithFeature(IActivityManager.java:5699)
11-17 15:22:53.083 13876 13945 E ApkRestore:    at android.app.ContextImpl.registerReceiverInternal(ContextImpl.java:1873)
11-17 15:22:53.083 13876 13945 E ApkRestore:    at android.app.ContextImpl.registerReceiver(ContextImpl.java:1813)
11-17 15:22:53.083 13876 13945 E ApkRestore:    at android.app.ContextImpl.registerReceiver(ContextImpl.java:1801)
11-17 15:22:53.083 13876 13945 E ApkRestore:    at android.content.ContextWrapper.registerReceiver(ContextWrapper.java:755)
11-17 15:22:53.083 13876 13945 E ApkRestore:    at com.stevesoltys.seedvault.restore.install.ApkInstaller.install$external__seedvault__android_common__Seedvault(ApkInstaller.kt:54)
11-17 15:22:53.083 13876 13945 E ApkRestore:    at com.stevesoltys.seedvault.restore.install.ApkRestore.restore(ApkRestore.kt:185)
11-17 15:22:53.083 13876 13945 E ApkRestore:    at com.stevesoltys.seedvault.restore.install.ApkRestore.access$restore(ApkRestore.kt:31)
11-17 15:22:53.083 13876 13945 E ApkRestore:    at com.stevesoltys.seedvault.restore.install.ApkRestore$restore$2.invokeSuspend(Unknown Source:19)

and this is an downstream issue. I know that Graphene blames us for everything and says Seedvault is full of bugs, but this here is them not using our official android14 branch and thus missing a required fix for 14.

grote commented 7 months ago

They may have pulled in the fix in the meantime. Can you try again, if APK install now works?

ghost commented 7 months ago

Yes, now it can install apps, but not all apps can be installed, the error message is "no app store found" but I think this is related to another known issue when I did some research.

I think this issue can be closed by now. Somehow the main author just vanished.

I will open a new issue if anything goes wrong, thank you for your time.