yashsingh1/xdaforums huggingface dataset:
[Droid Eris General] PieceKeepr:
I have experienced all of those, but not in that order. Rearranged by frequency for me they would be ...

3- Maps ANR (App Not Responding)

1- Android layer restart

2- Full reboot (kernel restart)

I am on GSB 3.6 ODEXed (3.7 was sluggish for me and I was getting odd and random app force closes so I rolled back).

Settings:

CPU - Ondemand, 710/245

Compcache - disabled

JIT - off

Surface dithering - off

Purging of assets - off

Lock home in memory - off

VM heap size - 32mb (default)

V6 Supercharger - multitasking or sometimes Balanced 1 with launcher HTK

By far the most common problem for me was the Maps ANR. I did get the Full reboot, and several Android layer restarts before I started playing with settings. Unfortunately I don't remember what I started with and can't say what all I did. I was running Maps 3.6.2 (I'm pretty sure) at the time and I kept getting the Maps ANR. I found a copy of Maps 5.5.0 I had forgot about in MyBackup Pro so I wiped Maps data, then uninstalled before restoring just the Maps 5.5.0 apk.

Since then I have only had one problem, which happened two days ago. I had been using Navigation for about an hour and a half, maybe approaching two hours, by the time I reached my third destination. It showed me I had reached my destination but it froze. None of the app buttons were responsive so I tried the phone soft buttons and found they were unresponsive as well. Then the phone did an Android layer restart. At the time the phone was VERY HOT to the point of being uncomfortable to hold in your hand. I have never seen my phone that hot before. It was plugged in at the time because the battery had gotten low so I was charging it.

My wife's Eris is running xtrSense 5.0.1 and I took it out and tried it a while back. It never did a full reboot or an Android layer restart but Maps ANR occurred within five minutes. I tried several times and got the same result each time.

Hopefully some others who have experienced problems will see this and chime in. Maybe if we can narrow down specific occurrences with stock and other ROMs it will help decipher this. Thanks bftb0 for breaking this down into categories and for your work on the problem. If there is any data I can capture and provide let me know.
[Droid Eris General] MongooseHelix:
If the jar files are the same, they should have the same md5sum so it might be worthwhile to compare them and see if each jar has matching checksums.
[Droid Eris General] klobkelosh:
*POSSIBLE* Navigation Fix

I may have found a fix. I was able to navigate on my daily commute without a FC or reboot (that's not happened in a while). BUT I need your help in testing it more to be sure it is not a fluke. I'll also be testing over coming days

The attached file is NOT a flashable zip. Extract the com.google.android.maps.jar file and push it to /system/framework replacing the gapps gb version. If you use root explorer/es file manager be sure to set permissions to rwrr.

This jar version is from the May 2011 MDPI gapps package. It is nearly double the filesize of the gb version so clearly not the usual framework.

Hope this works in the long run....
[Droid Eris General] jetmdt:
I'm driving from Paducah, KY to Oscoda, MI. Should be a good test, I hope this works :)
[Droid Eris General] klobkelosh:
Me too...
[Droid Eris General] MongooseHelix:
Not sure when I'll next get to test navigation but I'd like to know what version of maps people use when testing with the larger jar file.
[Droid Eris General] bftb0:
First, thanks for the diligent testing - it's quite time consuming to run through different test scenarios.

What version of gapps are you substituting the May mdpi framework .jar into, and what exact version of Maps did you test this with?

Also - if you don't mind me asking - are you typically testing with JIT enabled?

bftb0
[Droid Eris General] klobkelosh:
6 13 11 gb gapps was originally installed. I tested on latest maps version 5.7.0. I have jit enabled.
[Droid Eris General] bftb0:
OK - thanks.

Is the "May mdpi gapps" from which the framework .jar file is used this one:

gapps-mdpi-20110501-signed.zip (md5: c97b8375ca53148fb8281216a5e583ca)

?

bftb0
[Droid Eris General] bftb0:
Gave it a shot (replacement of /system/framework/com.google.android.maps.jar from gapps-20110613 with the version from gapps-mdpi-20110501-signed.zip) w/Maps 5.7.0 running under the non-odexed version of GSB 3.7.

Started Nav up with a destination, and got a system_server SIGSEGV in 15 minutes. (This is what causes the Android soft-restart).

My testing scenario is pretty straightforward - the phone is sitting at my desk attached to the PC (which is collecting a logcat via adb), and doesn't move at all during testing. I start up Nav, give it a destination 60-70 miles away, run through a variety of the different Nav screens (Nav view, map view, list view, street view) ... and then return it to Nav view. I get one or two voice announcements, sometimes more.

Perhaps I see the system_server segfault more often than other folks testing it during actual navigation because the deadlock (ANR) occurs more frequently during actual turn-by-turn navigation, and the Maps/Nav app goes into an ANR state before it gets a chance to crash system_server ... dunno.

That's my result, anyway.

bftb0
[Droid Eris General] PieceKeepr:
I downloaded the file klobkelosh posted and placed it into the system/framework folder. I made the appropriate changes to the permissions but I also changed the owner to match the original file which was root. I also updated the Maps app to 5.7.0 from the Market.

At first it seemed like it was going to work fine. I gave it a destination and off I went. A couple of miles later I had to change destinations (I was at work) so I canceled navigation, entered the new address and off I went again. Nav worked great until I arrived then it became completely unresponsive and I got a Android layer restart. Navigation worked correctly for a total of about 15 to 20 minutes.

After that I rebooted so I felt comfortable that everything was working correctly.

Entered another address and made it about a mile before the same thing happened again. ANR then soft reboot.

For kicks I changed the ownership to system and rebooted again.

Tried a third address and got the ANR where the map stopped responding within one minute. Force closed and tried again. Made it about two minutes and another ANR followed by an Android layer restart.

Do you guys have ownership set at something other than root?

Between my second and third attempts I turned lock home in memory on because I'm using V6 Supercharger and that should actually unlock some memory if I understood the instructions correctly. The only other change I made from my earlier post which listed all my settings was a decrease in CPU top speed. I went from 710 to 604.

I'll do some more testing tonight and will unsupercharge to see if that makes a difference.
[Droid Eris General] klobkelosh:
Correct.
[Droid Eris General] klobkelosh:
OK, here's my test of navigation from this morning:

1 hour 10 minutes of navigation with three destinations and multiple reroutes. No force closes, no layer restarts, no reboots. Worked flawlessly.

Here are my system details:

CondemnedCM7 V15 Stripped to Hell (non-odexed)

06132011 gb gapps included in rom

CPU ondemand min 245 max 710

compcache 18%

Jit on

no surface dither or purging of assets

home locked in memory

vm heap 48

no v6 supercharger settings applied

20110501 MDPI version of com.android.google.maps.jar framework

TTS disabled

I'll be taking a longer trip tomorrow and will continue to field test.
[Droid Eris General] bigdaddyblues:
Hope for the best...

This ROM has Maps 5.2 pre-installed and told not to update.

Wonder how this would work with Maps 5.7??
[Droid Eris General] bigdaddyblues:
I think PieceKeepr just tried 5.7 noted above.
[Droid Eris General] klobkelosh:
I uninstalled maps 5.2 as a system app and loaded 5.7.0 as a user app. I have not had any navigation issues since, as I describe above.
[Droid Eris General] bigdaddyblues:
I hope it keeps working. Have a safe trip.
[Droid Eris General] klobkelosh:
FYI, i posted additional versions of the maps framework on the GSB thread, in case you would like to try them out.

http://xdaforums.com/showpost.php?p=15904450&postcount=6193

Like I said, the one I posted earlier is working well for me. I'll try some others and see how they change navigation.
[Droid Eris General] PieceKeepr:
I have been testing the .jar files but don't have anything solid to report yet. At least nothing positive anyway. :(

When you replace one file with another do you have to reboot?
[Droid Eris General] CondemnedSoul:
Yes. A reboot would be recommended.
[Droid Eris General] klobkelosh:
Agree. The old file will continue to run without a reboot. Btw, I'm having the best luck so far with the older of the two mdpi files, but occasionally maps not nav unexpectedly closes. I'm testing the eclair version now.
[Droid Eris General] PieceKeepr:
Thanks, I have been but wasn't sure if I was wasting my time doing do.

That's what I suspected would happen.

I tried the two "GB" versions last night and they both failed. Anywhere from 10 seconds to about 4 minutes. Not very useful. I'm trying the newest mdpi version and it hasn't failed yet, but I only used it for a few minutes last night.

That's easy enough too.
[Droid Eris General] klobkelosh:
Bftb0, you are right, this thread if for gsb navigation issues, not other roms, so my apologies for muddying the waters. At the time it seemed common to all eris roms, but clearly not all respond the same way. All of them, however, have some navigation issues, so I strongly suspect maps application is asking system to do something it cannot, thus the unexpected shut down, fc, whatever. I was hoping that the framework files would patch all eris roms, but maybe we need to exclude gsb? Also, I can't help but wonder if your issues are due top bench testing vs. field testing. I.d suggest getting it on the road if you can.

Otherwise, I've got one last field test to do - long trip tomorrow using eclair framework. Will give a full report here, unless anyone objects to mr using this thread for cs's rom.
[Droid Eris General] CondemnedSoul:
I don't think klob was suggesting anyone change roms but simply pointed out that his testing was being done on a different Rom built from the same source. Taking the fact that the same source is being used it could make sense that what fixes the issue on one could possibly fix it on the other as well... Considering that the jar file seems to be helping him with the issue on my Rom but not the people on sheds Rom makes me think some other things. Once my laptop is brought to me this evening I'll put together a zip of the gps libs and modules that i use in my ROM that I've been replacing the ones I get from source with since I believe v8 when I was having other gps related issues. Maybe its something in those that is causing the problems as well. Once its together I'll post it here if anyone is interested in testing it on sheds ROM.
[Droid Eris General] bftb0:
I can easily see that the relative frequency of bugs I see could be different than the "on the road" testing case.

OTOH, the Android "system_server" process - if it had no bugs (which it should come close to, given it's importance) - should never segfault under any condition - never. Same goes for ANR of the Maps/Nav application - if it was bug free, it wouldn't deadlock, even though I am using a contrived testing case (sitting still on my desk).

Having said all that, I'll note that my phone - with the newest Maps (5.7.0) and newest gapps (20110613) has been running without troubles now (w/ Nav running) for more than 6 hours - no lockups, no Android restarts, and - surprisingly - no "GPS signal Lost" messages. The only rub is that the O/S is GSB v3.3.

But tomorrow I plan on giving it (GSB v3.3 + Maps 5.7 + gapps 20110613 + JIT, no compcache, Home and Messaging locked in memory, no dithering, 245/729) a "live drive". Stay tuned.

In the meantime, I've also been looking at incremental differences between the system native libraries (/system/lib/lib*.so) and the reversed-engineered (baksmali'ed) framework .jar file between different versions of GSB from 3.3 through 3.7. I'm just trying to come up with a hypothesis at the moment, but it's kind of like grasping at straws - hundreds of them.

For anyone reading this thread - did GSB 3.4 (Odex) have problems with Maps? I can't remember.

bftb0
[Droid Eris General] bftb0:
FWIW, below I've attached a rundown of the sequential changes in libraries in GSB recently ( I performed md5 signature checks to detect differences; any library not mentioned is bit-by-bit identical ). Don't know if that gives you any further ideas, but certainly the more eyes looking at this the better. The framework codes have also been a moving target, and the situation is also complicated by the fact that (I think) shed only released GSB 3.4-3.6 as Odex'ed versions. In any event, I'm starting to suspect that the changes to Maps caused the expression of bug(s) elsewhere, and that earlier versions of GSB might be quite capable of running brand-new versions of gapps+Maps.

[B]GSB33 vs GSB34-Odex:	[/B]
./libandroid_runtime.so
./libcameraservice.so
./libcrypto.so
./libdvm.so
./libjpeg.so
./libnativehelper.so
./libskia.so
./libsrec_jni.so
./libutils.so
./libwebcore.so
./libz.so
./libtalk_jni.so	(new in v3.4)
./libvoicesearch.so	(new in v3.4)

[B]GSB34-Odex vs GSB35-Odex:	[/B]
./libandroid_runtime.so
./libandroidterm2.so
./libjpeg.so
./libskia.so
./libstagefright.so
./libsurfaceflinger.so
./libwebcore.so

[B]GSB35-Odex vs GSB36-Odex:	[/B]
./egl/libGLES_android.so
./libandroid_runtime.so
./libandroid_servers.so
./libaudiopolicy.so
./libcameraservice.so
./libc_malloc_debug_leak.so
./libc_malloc_debug_qemu.so
./libc.so
./libmedia.so
./libskia.so
./libsurfaceflinger.so
./libwebcore.so
./soundfx/libcyanogen-dsp.so
./libtalk_jni.so	(dropped in v3.6)
./libvoicesearch.so	(dropped in v3.6)

[B]GSB36-Odex vs GSB37:	[/B]
./libandroid_runtime.so
./libaudiopolicy.so
./libcameraservice.so
./libmedia.so
./libskia.so
./libsurfaceflinger.so
./libwebcore.so
./soundfx/libcyanogen-dsp.so
[Droid Eris General] CondemnedSoul:
Looking through and comparing the libs and hw in 3.7 and my V15 I'd say that either those files got changed at source or shed changes the same ones I do because his ROM has all the same ones as mine. However... I did find that there is a difference.. (I haven't decompiled it to find the difference but they are different) in the services.jar file in the framework folder. Here is the services.jar from my rom if someone would like to try it out on GSB 3.7. Extract the file from the zip and either push it to system/framework or place it there with root explorer. This is not a flashable zip.
[Droid Eris General] MongooseHelix:
I know how time consuming and frustrating it is to deal with smali files. One thing that might help avoid that is to use CyanogenMod's GitHub to look through the commit histories to see what changes were made around the time the nav problems started.

According to the mirror for GSB, here are the release dates for versions 3.3 - 3.7:

v3.3 - May 16

v3.4 - May 23

v3.5 - June 2

v3.6 - June 23

v3.7 - July 6

Some of the commit histories that might be useful:

android_frameworks_base

android_system_core

android_bionic

android_dalvik(only one commit after v3.3)
[Droid Eris General] bftb0:
Comparing native libraries ( /system/lib ) of GSB3.7 to CCM7v15 on a "bitwise" basis, I get these differences (different MD5 sigs*)

./egl/libGLES_android.so
./hw/gps.goldfish.so
./libandroid_runtime.so
./libandroid_servers.so
./libcamera_client.so
./libcameraservice.so
./libcamera.so
./libEGL.so
./libnativehelper.so
./libskia.so
./libsurfaceflinger.so
./libui.so
./soundfx/libcyanogen-dsp.so

./libvoicesearch.so (only exists in CCM7v15)

(133 other libraries are bitwise identical between GSB3.7 and CCM7v15)

As far as the frameworks go, extracting all of the classes.dex files (because all the .jars will differ due to timestamp differences) gives up the following which are different:

./android.policy/classes.dex
./ext/classes.dex
./framework/classes.dex
./services/classes.dex

Differences amongst the baksmali'd outputs from all the classes.dex from all framework .jar files shows far more difference as you might expect, but they all correspond to fully qualified object method names derived from android.policy, ext, framework, or services - the above short list of .dex files that are different.

And yes, MongooseHelix is right - dealing with .smali files is less than ideal (I got 300 file diffs, but some of those diffs might result from only psuedo-argument number differences that baksmali produces as a result of prior differences seen) I could wade through them one by one... OMG. :(
[Droid Eris General] Stonent:
I'm just amazed at bftb0 sometimes. He seems to know so much about the inner workings of android almost like he invented it.
[Droid Eris General] PieceKeepr:
I finished experimenting with the .jar files tonight. Unfortunately, none worked and I could not get Maps 5.7.0 to work. I made sure permissions were correct and manually wiped the dalvik cache before rebooting each time.

The “GB” files caused both the ANR and Android layer restarts every time I tried them. The “mdpi” files worked a little better and only resulted in ANR. They also lasted a little longer but I didn’t get past about 5 minutes before ANR occurred. The “eclair” file caused a quick, less than 2 minutes, ANR and subsequent Android layer restart. And last but not least the “donut” file lasted maybe a minute or two and resulted in ANR, the phone froze and then a full kernel restart. I got the “gps signal lost” error a couple of times but I did not make a note of which ones caused it. This is not something that I have had a problem with though.

It did seem that when Nav would run for more than two minutes it would eventually fail at either a red light or a turn. It didn’t do this every time, but it happened more times than not. I have no idea what that means, but felt it was worth mentioning.

Just to be sure nothing else had got screwed up with all this I wiped map data and uninstalled. Then restored the Maps 5.5.0 apk. It still works and I used it several times during the night for quick trip. It ran for at least 30 minutes uninterrupted, then I exited, restarted and Navigated to another address, which took about 10 minutes.

Tomorrow I’ll update to 5.7.0 again and try CS’s services file and see what happens. If anyone has an idea that I could try let me know and I’ll give it a shot.

You guys are doing great work with the experimenting/analyzing but most of the technical details are going right over my head so I’m no help there. Remember I’m the guy who never figured out how to modify a theme. Also remember that I am on GSB 3.6 ODEXed. bftb0, version 3.4 and 3.5 were offered in ODEX only but 3.6 and 3.7 were offered in ODEX and non-ODEX.

Edit: I thought I'd replace the services file before I shut the phone off but since it's an ODEX ROM I have 2 "services" files. I have services.jar and services.odex. If I substitute the .jar file and delete the .odex file will the ROM still function correctly?
[Droid Eris General] CondemnedSoul:
I forgot about the odex on 3.7 which would explain the difference between his and mine. I wouldn't replace it. You may end up with a bootloop if you do... Maybe we can try the gps.goldfish.so in the system/lib/hw folder though. Give me a little bit and I'll upload that.

gps.goldfish.so... like the services.jar, this is not flashable. extract from the zip and push it with adb to /system/lib/hw or you can place it there with root explorer. Hope this helps you guys out.
[Droid Eris General] MongooseHelix:
Although it would be good to do a backup first, replacing services.jar and removing services.odex should be OK as you're basically deodexing that one jar. The services.jar from CS has the equivalent of services.odex included in the jar as classes.dex where the dalvik-cache will be created during the boot process instead of already having the optimized dex(ODEX) available.

Maybe the version in Condemned isn't actually different than GSB's but it's unlikely to cause major problems if you do want to substitute it in. I can't say I know what gps.goldfish.so is or does, is this one you revert to an older version?
[Droid Eris General] CondemnedSoul:
Yes.. this is from an older version of cm7. It's the same one I've been using now since I had GPS issues a few versions back.
[Droid Eris General] PieceKeepr:
Since I typically do not have GPS issues, do you think substituting this file would make any other difference? Should it affect the Nav map freezing or the Android layer restarts?

I'll be glad to try it, I'm just saying that if it's only purpose is to fix GPS lost signal problems, I am fortunately not suffering with that problem.
[Droid Eris General] bftb0:
LOL!

I got 3 blocks from my house, and Maps/Nav 5.7.0+gapps-gb-20110613 on GSB3.3 FC'ed. FC'ed again on a short 20-minute drive. This after 11+ hours running Nav without any FC's or system_server faults... with the phone sitting motionless.

From that I conclude that the ANR condition and the system_server crash are possibly separate bugs - either that or the ANR bug is a little bit more probable... so long as you are actually out driving :D

That would explain why I was seeing the system_server crash more frequently than others testing the same (GSB3.7) configuration.

I'll try some library swaps when I get a chance (and try to read up on prelink map gotchas - anybody know offhand what happens if you substitute in a library for one that is in the prelink map, and the segments in the replacement lib have the wrong sizes?).

bftb0
[Droid Eris General] klobkelosh:
Thought that might happen :)

Good luck on the swaps. I think I have settled on the earlier of the froyo/mdpi map jar files. Haven't had any navigation force close with it but occasionally maps will unexpectedly quit while searching. Everything worked well with the eclair jar, but other apps that are dependent on maps did not work well.

I'll put together a flashable zip tomorrow for anyone that wants to try it out but doesn't do adb/root explorer.

Good luck btfb0!
[Droid Eris General] PieceKeepr:
bftb0 any chance you could compare the services.jar file in the non-ODEX GSB 3.7 against CS's services.jar to see if there is any difference? I'll flash the ROM and try it if there is a difference but I don't want to go through all that trouble if they are actually the same.
[Droid Eris General] klobkelosh:
All, I have posted the results of navigation testing on CS's CM7 V15 rom plus flashabe zip files for replacing and rolling back maps framework files. I realize this is not the primary navigation problem on GSB but, perhaps when that issue is settled, these may come in handy.

http://xdaforums.com/showpost.php?p=15978440&postcount=535