jensstein / oandbackup

backup manager for android
Other
541 stars 193 forks source link

Unable to boot device after rebooting from crash while attempting backup #138

Open craftyguy opened 8 years ago

craftyguy commented 8 years ago

After installing this app and attempting to do a backup of user apps, the device immediately rebooted and has been unable to boot. It seems that oandbackup has done something to the Backup Manager Service (see logcat output below). If I remove oandbackup (using pm over adb), the Backup Manager Service complains about oandbackup not being installed.

The device is a MotoX 2014 (victara) running CyanogenMod 13 (nightly from 9/06).

09-06 15:03:14.077  5350  5350 V KeyValueBackupJob: Scheduling k/v pass in 246 minutes
09-06 15:03:14.078  5350  5350 E System  : ******************************************
09-06 15:03:14.078  5350  5350 E System  : ************ Failure starting system services
09-06 15:03:14.078  5350  5350 E System  : java.lang.RuntimeException: Failed to boot service com.android.server.backup.BackupManagerService$Lifecycle: onBootPhase threw an exception during phase 500
09-06 15:03:14.078  5350  5350 E System  :      at com.android.server.SystemServiceManager.startBootPhase(SystemServiceManager.java:137)
09-06 15:03:14.078  5350  5350 E System  :      at com.android.server.SystemServer.startOtherServices(SystemServer.java:1095)
09-06 15:03:14.078  5350  5350 E System  :      at com.android.server.SystemServer.run(SystemServer.java:291)
09-06 15:03:14.078  5350  5350 E System  :      at com.android.server.SystemServer.main(SystemServer.java:176)
09-06 15:03:14.078  5350  5350 E System  :      at java.lang.reflect.Method.invoke(Native Method)
09-06 15:03:14.078  5350  5350 E System  :      at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
09-06 15:03:14.078  5350  5350 E System  :      at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
09-06 15:03:14.078  5350  5350 E System  : Caused by: java.lang.IllegalArgumentException: No such service ComponentInfo{android/com.android.server.backup.KeyValueBackupJob}
09-06 15:03:14.078  5350  5350 E System  :      at com.android.server.job.JobSchedulerService$JobSchedulerStub.enforceValidJobRequest(JobSchedulerService.java:786)
09-06 15:03:14.078  5350  5350 E System  :      at com.android.server.job.JobSchedulerService$JobSchedulerStub.schedule(JobSchedulerService.java:831)
09-06 15:03:14.078  5350  5350 E System  :      at android.app.JobSchedulerImpl.schedule(JobSchedulerImpl.java:42)
09-06 15:03:14.078  5350  5350 E System  :      at com.android.server.backup.KeyValueBackupJob.schedule(KeyValueBackupJob.java:76)
09-06 15:03:14.078  5350  5350 E System  :      at com.android.server.backup.KeyValueBackupJob.schedule(KeyValueBackupJob.java:57)
09-06 15:03:14.078  5350  5350 E System  :      at com.android.server.backup.BackupManagerService.dataChangedImpl(BackupManagerService.java:8466)
09-06 15:03:14.078  5350  5350 E System  :      at com.android.server.backup.BackupManagerService.dataChangedImpl(BackupManagerService.java:8435)
09-06 15:03:14.078  5350  5350 E System  :      at com.android.server.backup.BackupManagerService.addPackageParticipantsLockedInner(BackupManagerService.java:2058)
09-06 15:03:14.078  5350  5350 E System  :      at com.android.server.backup.BackupManagerService.addPackageParticipantsLocked(BackupManagerService.java:2035)
09-06 15:03:14.078  5350  5350 E System  :      at com.android.server.backup.BackupManagerService.<init>(BackupManagerService.java:1086)
09-06 15:03:14.078  5350  5350 E System  :      at com.android.server.backup.Trampoline.initialize(Trampoline.java:74)
09-06 15:03:14.078  5350  5350 E System  :      at com.android.server.backup.BackupManagerService$Lifecycle.onBootPhase(BackupManagerService.java:345)
09-06 15:03:14.078  5350  5350 E System  :      at com.android.server.SystemServiceManager.startBootPhase(SystemServiceManager.java:135)
09-06 15:03:14.078  5350  5350 E System  :      ... 6 more
09-06 15:03:14.078  5350  5350 D AndroidRuntime: Shutting down VM
09-06 15:03:14.078  5350  5350 E AndroidRuntime: *** FATAL EXCEPTION IN SYSTEM PROCESS: main
09-06 15:03:14.078  5350  5350 E AndroidRuntime: java.lang.RuntimeException: Failed to boot service com.android.server.backup.BackupManagerService$Lifecycle: onBootPhase threw an exception during phase 500
09-06 15:03:14.078  5350  5350 E AndroidRuntime:        at com.android.server.SystemServiceManager.startBootPhase(SystemServiceManager.java:137)
09-06 15:03:14.078  5350  5350 E AndroidRuntime:        at com.android.server.SystemServer.startOtherServices(SystemServer.java:1095)
09-06 15:03:14.078  5350  5350 E AndroidRuntime:        at com.android.server.SystemServer.run(SystemServer.java:291)
09-06 15:03:14.078  5350  5350 E AndroidRuntime:        at com.android.server.SystemServer.main(SystemServer.java:176)
09-06 15:03:14.078  5350  5350 E AndroidRuntime:        at java.lang.reflect.Method.invoke(Native Method)
09-06 15:03:14.078  5350  5350 E AndroidRuntime:        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
09-06 15:03:14.078  5350  5350 E AndroidRuntime:        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
09-06 15:03:14.078  5350  5350 E AndroidRuntime: Caused by: java.lang.IllegalArgumentException: No such service ComponentInfo{android/com.android.server.backup.KeyValueBackupJob}
09-06 15:03:14.078  5350  5350 E AndroidRuntime:        at com.android.server.job.JobSchedulerService$JobSchedulerStub.enforceValidJobRequest(JobSchedulerService.java:786)
09-06 15:03:14.078  5350  5350 E AndroidRuntime:        at com.android.server.job.JobSchedulerService$JobSchedulerStub.schedule(JobSchedulerService.java:831)
09-06 15:03:14.078  5350  5350 E AndroidRuntime:        at android.app.JobSchedulerImpl.schedule(JobSchedulerImpl.java:42)
09-06 15:03:14.078  5350  5350 E AndroidRuntime:        at com.android.server.backup.KeyValueBackupJob.schedule(KeyValueBackupJob.java:76)
09-06 15:03:14.078  5350  5350 E AndroidRuntime:        at com.android.server.backup.KeyValueBackupJob.schedule(KeyValueBackupJob.java:57)
09-06 15:03:14.078  5350  5350 E AndroidRuntime:        at com.android.server.backup.BackupManagerService.dataChangedImpl(BackupManagerService.java:8466)
09-06 15:03:14.078  5350  5350 E AndroidRuntime:        at com.android.server.backup.BackupManagerService.dataChangedImpl(BackupManagerService.java:8435)
09-06 15:03:14.078  5350  5350 E AndroidRuntime:        at com.android.server.backup.BackupManagerService.addPackageParticipantsLockedInner(BackupManagerService.java:2058)
09-06 15:03:14.078  5350  5350 E AndroidRuntime:        at com.android.server.backup.BackupManagerService.addPackageParticipantsLocked(BackupManagerService.java:2035)
09-06 15:03:14.078  5350  5350 E AndroidRuntime:        at com.android.server.backup.BackupManagerService.<init>(BackupManagerService.java:1086)
09-06 15:03:14.078  5350  5350 E AndroidRuntime:        at com.android.server.backup.Trampoline.initialize(Trampoline.java:74)
09-06 15:03:14.078  5350  5350 E AndroidRuntime:        at com.android.server.backup.BackupManagerService$Lifecycle.onBootPhase(BackupManagerService.java:345)
09-06 15:03:14.078  5350  5350 E AndroidRuntime:        at com.android.server.SystemServiceManager.startBootPhase(SystemServiceManager.java:135)
09-06 15:03:14.078  5350  5350 E AndroidRuntime:        ... 6 more

Logcat when oandbackup has been removed:

09-06 12:51:29.714  4926  4926 I BackupManagerService: Package dk.jens.backup not installed; dropping from full backup
09-06 12:51:29.733  4926  4926 V KeyValueBackupJob: Scheduling k/v pass in 248 minutes
09-06 12:51:29.734  4926  4926 E System  : ******************************************
09-06 12:51:29.734  4926  4926 E System  : ************ Failure starting system services
09-06 12:51:29.734  4926  4926 E System  : java.lang.RuntimeException: Failed to boot service com.android.server.backup.BackupManagerService$Lifecycle: onBootPhase threw an exception during phase 500
09-06 12:51:29.734  4926  4926 E System  :      at com.android.server.SystemServiceManager.startBootPhase(SystemServiceManager.java:137)
09-06 12:51:29.734  4926  4926 E System  :      at com.android.server.SystemServer.startOtherServices(SystemServer.java:1095)
09-06 12:51:29.734  4926  4926 E System  :      at com.android.server.SystemServer.run(SystemServer.java:291)
09-06 12:51:29.734  4926  4926 E System  :      at com.android.server.SystemServer.main(SystemServer.java:176)
09-06 12:51:29.734  4926  4926 E System  :      at java.lang.reflect.Method.invoke(Native Method)
09-06 12:51:29.734  4926  4926 E System  :      at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
09-06 12:51:29.734  4926  4926 E System  :      at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
09-06 12:51:29.734  4926  4926 E System  : Caused by: java.lang.IllegalArgumentException: No such service ComponentInfo{android/com.android.server.backup.KeyValueBackupJob}
09-06 12:51:29.734  4926  4926 E System  :      at com.android.server.job.JobSchedulerService$JobSchedulerStub.enforceValidJobRequest(JobSchedulerService.java:786)
09-06 12:51:29.734  4926  4926 E System  :      at com.android.server.job.JobSchedulerService$JobSchedulerStub.schedule(JobSchedulerService.java:831)
09-06 12:51:29.734  4926  4926 E System  :      at android.app.JobSchedulerImpl.schedule(JobSchedulerImpl.java:42)
09-06 12:51:29.734  4926  4926 E System  :      at com.android.server.backup.KeyValueBackupJob.schedule(KeyValueBackupJob.java:76)
09-06 12:51:29.734  4926  4926 E System  :      at com.android.server.backup.KeyValueBackupJob.schedule(KeyValueBackupJob.java:57)
09-06 12:51:29.734  4926  4926 E System  :      at com.android.server.backup.BackupManagerService.dataChangedImpl(BackupManagerService.java:8466)
09-06 12:51:29.734  4926  4926 E System  :      at com.android.server.backup.BackupManagerService.dataChangedImpl(BackupManagerService.java:8435)
09-06 12:51:29.734  4926  4926 E System  :      at com.android.server.backup.BackupManagerService.addPackageParticipantsLockedInner(BackupManagerService.java:2058)
09-06 12:51:29.734  4926  4926 E System  :      at com.android.server.backup.BackupManagerService.addPackageParticipantsLocked(BackupManagerService.java:2035)
09-06 12:51:29.734  4926  4926 E System  :      at com.android.server.backup.BackupManagerService.<init>(BackupManagerService.java:1086)
09-06 12:51:29.734  4926  4926 E System  :      at com.android.server.backup.Trampoline.initialize(Trampoline.java:74)
09-06 12:51:29.734  4926  4926 E System  :      at com.android.server.backup.BackupManagerService$Lifecycle.onBootPhase(BackupManagerService.java:345)
09-06 12:51:29.734  4926  4926 E System  :      at com.android.server.SystemServiceManager.startBootPhase(SystemServiceManager.java:135)
09-06 12:51:29.734  4926  4926 E System  :      ... 6 more
09-06 12:51:29.734  4926  4926 D AndroidRuntime: Shutting down VM
09-06 12:51:29.735  4926  4926 E AndroidRuntime: *** FATAL EXCEPTION IN SYSTEM PROCESS: main
09-06 12:51:29.735  4926  4926 E AndroidRuntime: java.lang.RuntimeException: Failed to boot service com.android.server.backup.BackupManagerService$Lifecycle: onBootPhase threw an exception during phase 500
09-06 12:51:29.735  4926  4926 E AndroidRuntime:        at com.android.server.SystemServiceManager.startBootPhase(SystemServiceManager.java:137)
09-06 12:51:29.735  4926  4926 E AndroidRuntime:        at com.android.server.SystemServer.startOtherServices(SystemServer.java:1095)
09-06 12:51:29.735  4926  4926 E AndroidRuntime:        at com.android.server.SystemServer.run(SystemServer.java:291)
09-06 12:51:29.735  4926  4926 E AndroidRuntime:        at com.android.server.SystemServer.main(SystemServer.java:176)
09-06 12:51:29.735  4926  4926 E AndroidRuntime:        at java.lang.reflect.Method.invoke(Native Method)
09-06 12:51:29.735  4926  4926 E AndroidRuntime:        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
09-06 12:51:29.735  4926  4926 E AndroidRuntime:        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
09-06 12:51:29.735  4926  4926 E AndroidRuntime: Caused by: java.lang.IllegalArgumentException: No such service ComponentInfo{android/com.android.server.backup.KeyValueBackupJob}
09-06 12:51:29.735  4926  4926 E AndroidRuntime:        at com.android.server.job.JobSchedulerService$JobSchedulerStub.enforceValidJobRequest(JobSchedulerService.java:786)
09-06 12:51:29.735  4926  4926 E AndroidRuntime:        at com.android.server.job.JobSchedulerService$JobSchedulerStub.schedule(JobSchedulerService.java:831)
09-06 12:51:29.735  4926  4926 E AndroidRuntime:        at android.app.JobSchedulerImpl.schedule(JobSchedulerImpl.java:42)
09-06 12:51:29.735  4926  4926 E AndroidRuntime:        at com.android.server.backup.KeyValueBackupJob.schedule(KeyValueBackupJob.java:76)
09-06 12:51:29.735  4926  4926 E AndroidRuntime:        at com.android.server.backup.KeyValueBackupJob.schedule(KeyValueBackupJob.java:57)
09-06 12:51:29.735  4926  4926 E AndroidRuntime:        at com.android.server.backup.BackupManagerService.dataChangedImpl(BackupManagerService.java:8466)
09-06 12:51:29.735  4926  4926 E AndroidRuntime:        at com.android.server.backup.BackupManagerService.dataChangedImpl(BackupManagerService.java:8435)
09-06 12:51:29.735  4926  4926 E AndroidRuntime:        at com.android.server.backup.BackupManagerService.addPackageParticipantsLockedInner(BackupManagerService.java:2058)
09-06 12:51:29.735  4926  4926 E AndroidRuntime:        at com.android.server.backup.BackupManagerService.addPackageParticipantsLocked(BackupManagerService.java:2035)
09-06 12:51:29.735  4926  4926 E AndroidRuntime:        at com.android.server.backup.BackupManagerService.<init>(BackupManagerService.java:1086)
09-06 12:51:29.735  4926  4926 E AndroidRuntime:        at com.android.server.backup.Trampoline.initialize(Trampoline.java:74)
09-06 12:51:29.735  4926  4926 E AndroidRuntime:        at com.android.server.backup.BackupManagerService$Lifecycle.onBootPhase(BackupManagerService.java:345)
09-06 12:51:29.735  4926  4926 E AndroidRuntime:        at com.android.server.SystemServiceManager.startBootPhase(SystemServiceManager.java:135)
09-06 12:51:29.735  4926  4926 E AndroidRuntime:        ... 6 more
craftyguy commented 8 years ago

Wow, after a TON of troubleshooting, I managed to figure out that these two packages were disabled. I did not disable them. Are there any conditions where oandbackup would disable them?

package:com.android.terminal
package:android

When I re-enabled them (by spamming adb on bootup before it reset), I was able to boot successfully.

jensstein commented 8 years ago

to be honest it's not quite easy to imagine what could have gone wrong here. oab only disables packages when asked explicitly and when restoring on a multi-user setup. i'm sorry to give you a useless answer but i'm thinking that some of the programs called by oab maybe triggered a system bug. i don't know about the backup manager service, oab never touches that part of android. if you can reproduce this issue on different (nightly) versions of your rom then i'll make you an apk which tries to do some persistent logging.

craftyguy commented 8 years ago

I've not been able to reproduce it, but then again I've not been able to reproduce the crash that resulted in my phone resetting. I don't know if the two (phone crash + two important apps being disabled) are related or not, and this may go unsolved, but thought I would mention this to you just in case. I'll report back if I make any progress in reproducing it.

ghost commented 7 years ago

I had a similar issue, but I accidentally restored some system apps .apk files included.