Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Malformed settings file will cause infinite boot. #13

Open
slindeneau opened this issue Jun 11, 2018 · 3 comments
Open

Malformed settings file will cause infinite boot. #13

slindeneau opened this issue Jun 11, 2018 · 3 comments

Comments

@slindeneau
Copy link

slindeneau commented Jun 11, 2018

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).

@davux
Copy link

davux commented Aug 4, 2018

FWIW, I had the same issue on CarbonROM and could fix it manually (adb pull, edit, adb push) thanks to your info @slindeneau, so thanks.

@Adriano-A3
Copy link

Thanks for your comment I saved all my apps data from wipe.
My settings_ssaid.xml got corrupted by something. I deleted wrong lines using sed.
Thanks again for your info.

@khunkakk
Copy link

Duplicate of #

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

No branches or pull requests

4 participants