Skip to content

Malformed settings file will cause infinite boot. #13

@slindeneau

Description

@slindeneau

Weekly release 20180610 on my 3T causes a bootloop when downloading and flashing from system update(bia twrp bluespakv8.61) on my 3T. System was not shutdown since 20180603, so the bug may have be introduced then. Downloading and dirty flashing older weeklies did not restore my system. Wiping dalvik cache after each flash.

Watching the logcat shows the following repeatedly (causing the infinite boot):

06-10 21:18:25.325  6637  6637 E SettingsState: Failed parsing settings file: /data/system/users/0/settings_ssaid.xml
06-10 21:18:25.327  6637  6637 E System  : ******************************************
06-10 21:18:25.329  6637  6637 E System  : ************ Failure starting system services
06-10 21:18:25.329  6637  6637 E System  : java.lang.RuntimeException: Failed to start service com.android.server.FontService$Lifecycle: onStart threw an exception
06-10 21:18:25.329  6637  6637 E System  : 	at com.android.server.SystemServiceManager.startService(SystemServiceManager.java:126)

Investigating the file I found a malformed entry. After fixing the entry system boots correctly. I don't know what caused the malformed entry, but a malformed settings file will prevent the system from booting. The malformed entry was for an application installed yesterday. System was flashed today. There was no reboot between application install and system flash.

Malformed entry looked like this:

...
  <setting id="61" name="10216" value="<PACKAGE-VALUE>" package="<COM.PACKAGE.PACKAGENAME>" defaultValue="<DEFAULT-VALUE>" defaultSysSet="false" tag="null" />
</settings>id="64" name="10218" value="<PACKAGE-VALUE>" package="<COM.PACKAGE.PACKAGENAME>" defaultValue="<DEFAULT-VALUE>" defaultSysSet="false" tag="null" />
</settings>

The DEFAULT-VALUE, PACKAGE-VALUE and COM.PACKAGE.PACKAGENAME are replaced with with specific applications to my installation. You can see the </settings> tag is embedded inside of the last package tag. The last package is still installed on my system, however I did uninstall some applications after installing that package (packages that had been installed before and after that package).

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions