VR-25/tarb

SSAID Restore Possibly Breaks System

walwan opened this issue · 4 comments

Hi:

Thank you for this amazing tool.

I used this tool to backup all my apps in LineageOS 18.1 (Android 11) using the option "-badDeMOsx . -X *[cC]ache*." When I try to restore an app (rikka.appops) to Evolution X 6.3.1 (Android 12), I cannot boot into system next time after the restore.

Some experiments lead me to the file "/data/system/users/0/settings_ssaid.xml." If I backup the file before restore, and revert the changes tarb made to the file during the restore, I can boot into system next time.

I have attached the two /data/system/users/0/settings_ssaid.xml files before and after the restore, /dev/.vr25/tarb/ssaid and /dev/.vr25/tarb/log. Here is the link.

Thanks

Seems that restoring any apps with ssaid backuped will cause the system fail to boot

VR-25 commented

Thank you.

I don't know why this caused my system fail to boot. The boot log has the following part, indicating settings.provider cannot read the settings file.

05-11 13:45:39.044 1673 1673 E System : ******************************************
05-11 13:45:39.045 1673 1673 E System : ************ Failure starting core service
05-11 13:45:39.045 1673 1673 E System : ******************************************
05-11 13:45:39.045 1673 1673 E System : ************ Failure starting system services
05-11 13:45:39.045 1673 1673 E System : java.lang.RuntimeException: Unable to get provider com.android.providers.settings.SettingsProvider: java.lang.ArrayIndexOutOfBoundsException: length=32; index=50
05-11 13:45:39.045 1673 1673 E System : at android.app.ActivityThread.installProvider(ActivityThread.java:7460)
05-11 13:45:39.045 1673 1673 E System : at android.app.ActivityThread.installContentProviders(ActivityThread.java:6977)
05-11 13:45:39.045 1673 1673 E System : at android.app.ActivityThread.installSystemProviders(ActivityThread.java:7636)
05-11 13:45:39.045 1673 1673 E System : at com.android.server.am.ContentProviderHelper.installSystemProviders(ContentProviderHelper.java:1247)
05-11 13:45:39.045 1673 1673 E System : at com.android.server.SystemServer.startOtherServices(SystemServer.java:1443)
05-11 13:45:39.045 1673 1673 E System : at com.android.server.SystemServer.run(SystemServer.java:890)
05-11 13:45:39.045 1673 1673 E System : at com.android.server.SystemServer.main(SystemServer.java:621)
05-11 13:45:39.045 1673 1673 E System : at java.lang.reflect.Method.invoke(Native Method)
05-11 13:45:39.045 1673 1673 E System : at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548)
05-11 13:45:39.045 1673 1673 E System : at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:981)
05-11 13:45:39.045 1673 1673 E System : Caused by: java.lang.ArrayIndexOutOfBoundsException: length=32; index=50
05-11 13:45:39.045 1673 1673 E System : at com.android.internal.util.FastDataInput.readInternedUTF(FastDataInput.java:172)
05-11 13:45:39.045 1673 1673 E System : at com.android.internal.util.BinaryXmlPullParser.consumeToken(BinaryXmlPullParser.java:283)
05-11 13:45:39.045 1673 1673 E System : at com.android.internal.util.BinaryXmlPullParser.nextToken(BinaryXmlPullParser.java:168)
05-11 13:45:39.045 1673 1673 E System : at com.android.internal.util.BinaryXmlPullParser.next(BinaryXmlPullParser.java:141)
05-11 13:45:39.045 1673 1673 E System : at com.android.providers.settings.SettingsState.parseSettingsLocked(SettingsState.java:1093)
05-11 13:45:39.045 1673 1673 E System : at com.android.providers.settings.SettingsState.parseStateLocked(SettingsState.java:1078)
05-11 13:45:39.045 1673 1673 E System : at com.android.providers.settings.SettingsState.parseStateFromXmlStreamLocked(SettingsState.java:1046)
05-11 13:45:39.045 1673 1673 E System : at com.android.providers.settings.SettingsState.readStateSyncLocked(SettingsState.java:1012)
05-11 13:45:39.045 1673 1673 E System : at com.android.providers.settings.SettingsState.(SettingsState.java:283)
05-11 13:45:39.045 1673 1673 E System : at com.android.providers.settings.SettingsProvider$SettingsRegistry.ensureSettingsStateLocked(SettingsProvider.java:2919)
05-11 13:45:39.045 1673 1673 E System : at com.android.providers.settings.SettingsProvider$SettingsRegistry.ensureSettingsForUserLocked(SettingsProvider.java:2907)
05-11 13:45:39.045 1673 1673 E System : at com.android.providers.settings.SettingsProvider$SettingsRegistry.peekSettingsStateLocked(SettingsProvider.java:3227)
05-11 13:45:39.045 1673 1673 E System : at com.android.providers.settings.SettingsProvider$SettingsRegistry.getSettingsNamesLocked(SettingsProvider.java:2849)
05-11 13:45:39.045 1673 1673 E System : at com.android.providers.settings.SettingsProvider$SettingsRegistry.syncSsaidTableOnStartLocked(SettingsProvider.java:2832)
05-11 13:45:39.045 1673 1673 E System : at com.android.providers.settings.SettingsProvider$SettingsRegistry.access$100(SettingsProvider.java:2702)
05-11 13:45:39.045 1673 1673 E System : at com.android.providers.settings.SettingsProvider.onCreate(SettingsProvi