[Sony Ericsson XPERIA X10 Mini] zuulie:
Hi.

Summary: the AndroidRuntime process fails when starting the Connectivity Service, causing my phone into a boot loop.

Sorry for the very verbose post.

Background: I've spent quite a bit of time trying to resolve a problem that causes my Sony Ericsson Xperia X10 Mini (from O2) to go into a boot loop. I've rooted the phone some time ago using this process: (sorry the forum prevents me from posting link, please copy and paste this: android.doshaska.net/x10miniroot).

I then proceeded to remove some of the redundant programs from /system/app.

Everything worked fine for several weeks until the phone started complaining about the storage being filled up. I could see that /data was getting full and I suspected that the K9 email client I had installed was using lots f space to keep the IMAP folders synced.

I can't remember if the phone rebooted itself or if I did it manually, but it never managed to boot up again, and is ever since stuck at the Sony Ericsson logo.

adb logcat tells me that the AndroidRuntime process fails when starting the Connectivity Service. It's stuck in this loop, but I've isolated one single loop in the attachment logcat.txt. The crash file references has been attached as 1279210811.txt.

The final fatal crash is:

I/SystemServer( 1297): Starting Connectivity Service.

W/dalvikvm( 1297): threadid=51: thread exiting with uncaught exception (group=0x2aac9a28)

E/AndroidRuntime( 1297): Uncaught handler: thread ConnectivityThread exiting due to uncaught exception

E/AndroidRuntime( 1297): *** EXCEPTION IN SYSTEM PROCESS. System will crash.

E/AndroidRuntime( 1297): java.lang.NullPointerException

E/AndroidRuntime( 1297): at android.app.ActivityThread.getProvider(ActivityThread.java:3938)

E/AndroidRuntime( 1297): at android.app.ActivityThread.acquireProvider(ActivityThread.java:3967)

E/AndroidRuntime( 1297): at android.app.ApplicationContext$ApplicationContentResolver.acquireProvider(ApplicationContext.java:1527)

E/AndroidRuntime( 1297): at android.content.ContentResolver.acquireProvider(ContentResolver.java:579)

E/AndroidRuntime( 1297): at android.content.ContentResolver.query(ContentResolver.java:147)

E/AndroidRuntime( 1297): at android.provider.Settings$NameValueCache.getString(Settings.java:476)

E/AndroidRuntime( 1297): at android.provider.Settings$Secure.getString(Settings.java:1701)

E/AndroidRuntime( 1297): at android.provider.Settings$Secure.getInt(Settings.java:1741)

E/AndroidRuntime( 1297): at com.android.server.ConnectivityService.getPersistedNetworkPreference(ConnectivityService.java:182)

E/AndroidRuntime( 1297): at com.android.server.ConnectivityService.<init>(ConnectivityService.java:123)

E/AndroidRuntime( 1297): at com.android.server.ConnectivityService.<init>(ConnectivityService.java:47)

E/AndroidRuntime( 1297): at com.android.server.ConnectivityService$ConnectivityThread.run(ConnectivityService.java:87)

I've had a look at the JavDoc for android.app.ActivityThread.getProvider, but I've not been able to find any useful information. I have to guess that the start-up process fails to read the provider (network) specific settings for some reason. I don't have a clue whether the source is a file, database or something else.

A wild guess is that something got corrupted when the data partition filled up. There are some upset earlier in the log (line 180) when the PackageManager is reading an XML file that relates to the PackageManager settings that seems to have been corrupted:

E/PackageManager( 1297): Error reading package manager settings E/PackageManager( 1297): org.xmlpull.v1.XmlPullParserException:

Premature end of document. (position:line -1, column -1) caused by:

org.apache.harmony.xml.ExpatParser$ParseException: At line 1, column 0: no element found

I've seen a few similar posts, but nothing exactly like this nor anything that I could use to resolve it.

Stupid section

I've got myself into this through a combination of stupidity and bad luck. I've backed up all .APK that I've removed and created a log of what I removed (that I'm still looking for). I thought this was all that I needed and I don't have a full backup.

Unfortunately, the root access now gives me a segmentation fault and the root process requires the GUI to work, so I can't repeat the process. I don't want to try another root process before I've tried what I can to get the phone back in a reasonable state.

Fortunately, I still have full adb access, so I have visibility and some control over the phone.

Any help on this would be much appreciated. At least I've saved you the time pointing out that I'm an idiot not doing a full backup ;)

Regards,

Dan