Jump to content

[mod] [2011-03-22] TPT NAND Backup & Partition Tool - alpha3 [Gen1]


Guest wbaw

Recommended Posts

Anyone getting "The application Email(process com.android.email) has stopped unexpectedly. Please try again. Force close." on each reboot?

I have not configured corporate email at all.

What did you change in your android? Do you have A2SD or A2SD+ enabled? Is your dalvik-cache moved? Which ROM do you use?

Perhaps, the dalvik-cache of com.android.email cannot be accessed by the dalvik virtual machine and that's why it stops. Does the error also occur if you start mail manually? Perhaps you then can get a more detailed error message if you do that:

1. open terminal emulator, type:

su

logcat > /mnt/sdcard/logcat.txt

2. switch to your app drawer, start Google Mail. Now the error message should pop up.

3. use settings - applications - running apps to kill the terminal app. Now open logcat.txt (located on the sd card) on your PC and search for the errors given by com.android.email.

Which errors are that?

Edited by ztedd
Link to comment
Share on other sites

Guest Ilkin Jamalli
What did you change in your android? Do you have A2SD or A2SD+ enabled? Is your dalvik-cache moved? Which ROM do you use?

Perhaps, the dalvik-cache of com.android.email cannot be accessed by the dalvik virtual machine and that's why it stops. Does the error also occur if you start mail manually? Perhaps you then can get a more detailed error message if you do that:

1. open terminal emulator, type:

2. switch to your app drawer, start Google Mail. Now the error message should pop up.

3. use settings - applications - running apps to kill the terminal app. Now open logcat.txt (located on the sd card) on your PC and search for the errors given by com.android.email.

Which errors are that?

It is not Gmail failing it is Email application crashes every time I run it.

I am using this ROM. No A2SD or A2SD+ enabled. Just installed and restored my apps using Titanium backup. Made logcat.txt and attached. Sorry do not understand much in it.

Can you see what is the problem here?

logcat.txt

Link to comment
Share on other sites

So these are the relevant log lines:

I/ActivityManager( 235): Starting activity: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10200000 cmp=com.android.email/.activity.Welcome }

I/ActivityThread( 319): enter process activity msg = 101

I/ActivityManager( 235): Start proc com.android.email for activity com.android.email/.activity.Welcome: pid=1388 uid=10014 gids={3003, 1015}

I/ActivityThread( 319): exit process activity msg = 101

W/WindowManager( 235): updateFocusedWindowLocked newFocus=null mode=0 mCurrentFocus = Window{2feeb698 com.android.launcher/com.android.launcher2.Launcher paused=false}

I/ActivityThread( 1388): enter process activity msg = 110

W/dalvikvm( 1388): Refusing to reopen boot DEX '/system/framework/OmaDrmClient.jar'

I/ActivityThread( 1388): Publishing provider com.android.email.provider: com.android.email.provider.EmailProvider

I/ActivityThread( 1388): Publishing provider com.android.email.attachmentprovider: com.android.email.provider.AttachmentProvider

I/ActivityThread( 1388): Publishing provider com.android.exchange.provider: com.android.exchange.provider.ExchangeProvider

I/ActivityThread( 1388): exit process activity msg = 110

I/ActivityThread( 1388): enter process activity msg = 100

W/WindowManager( 235): updateFocusedWindowLocked newFocus=Window{2feeb698 com.android.launcher/com.android.launcher2.Launcher paused=false} mode=0 mCurrentFocus = null

I/ActivityManager( 235): Starting activity: Intent { cmp=com.android.email/.activity.setup.AccountSetupBasics }

W/ActivityManager( 235): Duplicate finish request for HistoryRecord{300da770 com.android.email/.activity.Welcome}

I/ActivityThread( 1388): exit process activity msg = 100

I/ActivityThread( 1388): enter process activity msg = 114

D/EAS SyncManager( 1388): !!! EAS SyncManager, onCreate

W/dalvikvm( 1388): threadid=1: thread exiting with uncaught exception (group=0x2aacc8a0)

E/AndroidRuntime( 1388): FATAL EXCEPTION: main

E/AndroidRuntime( 1388): java.lang.RuntimeException: Unable to create service com.android.exchange.SyncManager: android.database.sqlite.SQLiteException: no such column: useSignature: , while compiling: SELECT _id, displayName, emailAddress, syncKey, syncLookback, syncInterval, hostAuthKeyRecv, hostAuthKeySend, flags, isDefault, compatibilityUuid, senderName, ringtoneUri, protocolVersion, newMessageCount, securityFlags, securitySyncKey, signature, useSignature FROM Account

E/AndroidRuntime( 1388): at android.app.ActivityThread.handleCreateService(ActivityThread.java:3011)

E/AndroidRuntime( 1388): at android.app.ActivityThread.access$3300(ActivityThread.java:132)

E/AndroidRuntime( 1388): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2125)

E/AndroidRuntime( 1388): at android.os.Handler.dispatchMessage(Handler.java:99)

E/AndroidRuntime( 1388): at android.os.Looper.loop(Looper.java:123)

E/AndroidRuntime( 1388): at android.app.ActivityThread.main(ActivityThread.java:4669)

E/AndroidRuntime( 1388): at java.lang.reflect.Method.invokeNative(Native Method)

E/AndroidRuntime( 1388): at java.lang.reflect.Method.invoke(Method.java:521)

E/AndroidRuntime( 1388): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:876)

E/AndroidRuntime( 1388): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:634)

E/AndroidRuntime( 1388): at dalvik.system.NativeStart.main(Native Method)

E/AndroidRuntime( 1388): Caused by: android.database.sqlite.SQLiteException: no such column: useSignature: , while compiling: SELECT _id, displayName, emailAddress, syncKey, syncLookback, syncInterval, hostAuthKeyRecv, hostAuthKeySend, flags, isDefault, compatibilityUuid, senderName, ringtoneUri, protocolVersion, newMessageCount, securityFlags, securitySyncKey, signature, useSignature FROM Account

E/AndroidRuntime( 1388): at android.database.sqlite.SQLiteCompiledSql.native_compile(Native Method)

E/AndroidRuntime( 1388): at android.database.sqlite.SQLiteCompiledSql.compile(SQLiteCompiledSql.java:91)

E/AndroidRuntime( 1388): at android.database.sqlite.SQLiteCompiledSql.<init>(SQLiteCompiledSql.java:64)

E/AndroidRuntime( 1388): at android.database.sqlite.SQLiteProgram.<init>(SQLiteProgram.java:80)

E/AndroidRuntime( 1388): at android.database.sqlite.SQLiteQuery.<init>(SQLiteQuery.java:46)

E/AndroidRuntime( 1388): at android.database.sqlite.SQLiteDirectCursorDriver.query(SQLiteDirectCursorDriver.

ava:42)

E/AndroidRuntime( 1388): at android.database.sqlite.SQLiteDatabase.rawQueryWithFactory(SQLiteDatabase.java:1

45)

E/AndroidRuntime( 1388): at android.database.sqlite.SQLiteDatabase.queryWithFactory(SQLiteDatabase.java:1229

E/AndroidRuntime( 1388): at android.database.sqlite.SQLiteDatabase.query(SQLiteDatabase.java:1184)

E/AndroidRuntime( 1388): at android.database.sqlite.SQLiteDatabase.query(SQLiteDatabase.java:1264)

E/AndroidRuntime( 1388): at com.android.email.provider.EmailProvider.queryProcess(EmailProvider.java:1110)

E/AndroidRuntime( 1388): at com.android.email.provider.EmailProvider.query(EmailProvider.java:1087)

E/AndroidRuntime( 1388): at android.content.ContentProvider$Transport.query(ContentProvider.java:163)

E/AndroidRuntime( 1388): at android.content.ContentResolver.query(ContentResolver.java:245)

E/AndroidRuntime( 1388): at com.android.exchange.SyncManager$AccountObserver.<init>(SyncManager.java:439)

E/AndroidRuntime( 1388): at com.android.exchange.SyncManager.onCreate(SyncManager.java:1087)

E/AndroidRuntime( 1388): at android.app.ActivityThread.handleCreateService(ActivityThread.java:3001)

E/AndroidRuntime( 1388): ... 10 more

W/ActivityManager( 235): Activity pause timeout for HistoryRecord{300da770 com.android.email/.activity.Welcome}

W/ActivityManager( 235): Activity idle timeout for HistoryRecord{300da770 com.android.email/.activity.Welcome}

W/ActivityManager( 235): Activity idle timeout for HistoryRecord{300709c0 com.android.email/.activity.setup.AccountSetupBasics}

I/ActivityManager( 235): Process com.android.email (pid 1388) has died.

W/ActivityManager( 235): Scheduling restart of crashed service com.android.email/com.android.exchange.SyncManager in 23920ms

W/WindowManager( 235): updateFocusedWindowLocked newFocus=null mode=0 mCurrentFocus = null

W/ActivityManager( 235): r.lastApp == app app: com.android.email

W/WindowManager( 235): updateFocusedWindowLocked newFocus=Window{2feeb698 com.android.launcher/com.android.launcher2.Launcher paused=false} mode=3 mCurrentFocus = null

I/UsageStats( 235): Unexpected resume of com.android.launcher while already resumed in com.android.email

W/ActivityManager( 235): Activity destroy timeout for HistoryRecord{300da770 com.android.email/.activity.Welcome}

I/ActivityManager( 235): Start proc com.android.email for service com.android.email/com.android.exchange.SyncManager: pid=1400 uid=10014 gids={3003, 1015}

I/ActivityManager( 235): Process com.android.email (pid 1400) has died.

W/ActivityManager( 235): Service crashed 2 times, stopping: ServiceRecord{2ff8f128 com.android.email/com.android.exchange.SyncManager}

Edited by ztedd
Link to comment
Share on other sites

java.lang.RuntimeException: Unable to create service com.android.exchange.SyncManager: android.database.sqlite.SQLiteException: no such column: useSignature
I think, this is the error that is responsible for your crashes.

Looks like the Syncmanager wants to access the (google) account of the mail app but isn't able to because the sqlite database of the accounts is different than expected.

So there seems to be a compatibility problem between several components. Did you try to do a clean reinstall (with wiping data and cache)?

By the way, this is the thread of the partition mod, perhaps the thread of the Japanese Jellyfish ROM is more suitable:

http://android.modaco.com/content/zte-blad...01-24-oled-tft/

Link to comment
Share on other sites

Guest Ilkin Jamalli
I think, this is the error that is responsible for your crashes.

Looks like the Syncmanager wants to access the (google) account of the mail app but isn't able to because the sqlite database of the accounts is different than expected.

So there seems to be a compatibility problem between several components. Did you try to do a clean reinstall (with wiping data and cache)?

By the way, this is the thread of the partition mod, perhaps the thread of the Japanese Jellyfish ROM is more suitable:

http://android.modaco.com/content/zte-blad...01-24-oled-tft/

Yes I wiped and cleaned everything the recovery console offered.

Link to comment
Share on other sites

Guest shadowninty
If this is true, then shrinking /cache will work fine without the extra update.zip on CM6 is it the same on CM7 too?

Download a few apps from the market & use rootexplorer to see if anything is put in /cache (before you repartition). If CM uses the sdcard as a cache for installing apps then there's no problem.

checked it myself, in /System/etc/init.d/06mountdl a script is run if cache is less than 20,000kb /Cache/download is moved to /Data/local/download

How much space is used by /system on the CM roms?
Fibs 4.1 + GApps uses about 124mb, I deleted CMWallpapers.apk to fit in 122mb /System
Link to comment
Share on other sites

checked it myself, in /System/etc/init.d/06mountdl a script is run if cache is less than 20,000kb /Cache/download is moved to /Data/local/download

Fibs 4.1 + GApps uses about 124mb, I deleted CMWallpapers.apk to fit in 122mb /System

Confirmed it's the same on the CM7 BBlack rom build, that also looks like it'd fit in a 122mb /system without removing anything - but that's without the google apps.

I'm going to wait until CM development is a bit more stable before releasing a version with a good partition size for CM, it seems to change daily at the moment.

Edited by wbaw
Link to comment
Share on other sites

Modaco r12 is just over 128mb :D

So if I make /system 132mb, /cache 1.5mb & /data 323mb, then it should work with all the current popular froyo & cm roms (jj9, flb, de-crossed, modaco & the cm builds). it'd also leave a little room for extras to be added to the roms.

If I make it 122mb, then the fat version of flb, modaco & cm wont work without removing things.

Link to comment
Share on other sites

This isn't fully tested yet, it's not the final version & i don't have time to write up a full guide at the moment, but it should work for most froyo roms now. it's better than the last version, but still unfinished.

It works with a fresh install of modaco r12, there shouldn't be a problem with decrossed, flb or jap jelly either.

The problem is, clockwork 2 cant see amon ra recovery nandroid backups & vice versa, without renaming directories. I'm hoping clockwork 3 can see & restore them all.

I've packed a 1.5mb /cache, 136mb /system 319mb /data version of the partition mod with clockworkmod 2 as the boot image, so it'll repartition your phone, wipe system cache & userdata, then boot straight into clockworkmod 2.

If you use clockworkmod 2 then take a nandroid backup, tpt the partition mod, restore your nandroid backup, then flash the ramcache update zip. If you dont use clockworkmod 2, then you'll have to either install it to take a nandroid backup first, or rename the directory so it recognises it. If you used the previous redirect-cache script, you can either keep using that & dont flash ramcache, or remove the modifications to /system/bin/userinit.sh manually

If you want to install a new rom, then just tpt the partition mod & flash your rom with clockwork, then flash the cache2tmpfs update zip.

If you're flashing cm, you dont need the cache2tmpfs zip. If you're on 2.1 it probably wont work.

the cache2tmpfs update zip just adds the following to /system/etc/init.qcom.post_boot.sh

#### START - app install cache partition ramdisk ####
umount /cache
mount -t tmpfs -o size=42M,nr_inodes=42k,mode=0770 tmpfs /cache
chown system.cache /cache
#### END - app install cache partition ramdisk ####
[/codebox]

md5sum

8c1f3c28c317a435321e31cb31477e28 partition_1_136_319.zip

c89cb62c10e6ff622d1a4c1809596e91 cache2tmpfs_blade_froyo_signed.zip

[b]Updated for clockworkmod 3, signed & renamed -22/02[/b]

partition_1_136_319.zip

cache2tmpfs_blade_froyo_signed.zip

Edited by wbaw
Link to comment
Share on other sites

Guest Ilkin Jamalli
But then this error should be the same for all JJ users... I don't quite believe that...

That was something to do with Titanium backup as I reapplied JJ ROM on top and restored backup again and it worked fine.

Link to comment
Share on other sites

Guest Ilkin Jamalli
d7eea6a81c8ce2f069944a4e1402367d partition-stock.zip

This tpt image will return your phone to stock partition sizes & boot into clockworkmod 2

I had to revert it back as on some ROMs the dialer and contacts never worked and on one Account&Settings menu was missing.

Link to comment
Share on other sites

Guest leetron1

Thanks, man...good /system size for upcoming CM7 builds I reckon...image transferred a treat..flashed ramcache.zip

EDIT: Any way to remove the error in clockwork: E:Error in CACHE:recovery/log

(No space left on device)

Am still on JJ RLS9 on UK OLED, thanks..

Edited by leetron1
Link to comment
Share on other sites

Thanks, man...good /system size for upcoming CM7 builds I reckon...image transferred a treat..flashed ramcache.zip

EDIT: Any way to remove the error in clockwork: E:Error in CACHE:recovery/log

(No space left on device)

Am still on JJ RLS9 on UK OLED, thanks..

Try wiping your cache. I left /cache at 1.5mb to prevent those errors (for me at least). They don't affect much anyway, it's just the clockwork log files.

Link to comment
Share on other sites

Guest Rotmann

I saw you posted something in the other thread about CM7, if it does not redirect the cache as you suppose, there is s2e in the market, some kind of a2sd, you can choose in the app to move cache to the card.

Link to comment
Share on other sites

I think the RAM drive was a clever solution, especially given the amout of free ram that seems to be available.

The mod was simple and easy to apply as well.

Thanks!

Link to comment
Share on other sites

could this work on a 2.1 rom

The bit to redirect /cache to /data or to a ramdrive bit will need to be added to a different startup script in 2.1. In it's current form, it won't work in a 2.1 rom, but it should just be a case of finding a different startup script to edit & add those 3 lines to.

Link to comment
Share on other sites

I saw you posted something in the other thread about CM7, if it does not redirect the cache as you suppose, there is s2e in the market, some kind of a2sd, you can choose in the app to move cache to the card.

The /cache partition is only used to install an app, it isn't used as an app cache, the cache that each app can have is different.

If you download something from the market, it'll create downloadfile.apk under /cache & then install it. If the space under /cache is smaller than the app, then the install will fail quietly. If large apps install without a problem, then all is working ok & you don't have a problem.

There is this startup script in CM7, /system/etc/init.d/06mountdl . It should check if /cache is too small & redirect it to /data if so. I just haven't properly tested it & so I'm not 100% sure it works. I tried a modified version on flb-froyo & it appeared to fail at the if statement, but the mount -o bind line works fine on it's own. The script probably works fine when run in CM7.

#!/system/bin/sh
#
# bind mount /data/local/download to /cache/download if cache
# partition is too small
#

CACHESIZE=$(df -k /cache | tail -n1 | tr -s ' ' | cut -d ' ' -f2)
if [ $CACHESIZE -lt 20000 ]
then
mount -o bind /data/local/download /cache/download
fi

exit 0[/codebox]

Edited by wbaw
Link to comment
Share on other sites

The bit to redirect /cache to /data or to a ramdrive bit will need to be added to a different startup script in 2.1. In it's current form, it won't work in a 2.1 rom, but it should just be a case of finding a different startup script to edit & add those 3 lines to.

Editing init.rc & repacking the kernel ramdisk could be a neater solution if you're going to build a rom.

Link to comment
Share on other sites

wbaw,

Whilst I know /cache as standard on the blade is ~42MB, I have read in other posts on the site some people have had issues with installing games above 20MB - the suggested causes were that the /cache directory was not cleaned fast enough etc.

So my suggestion is can the RAM drive be made dynamic in size? (EDIT I think it might be already from what I have googled on tmpfs!) Then set say a maximum of 100MB, letting it grow and shrink on demand? Making installing large apps no longer a issue. A simple app could be made that clears cache if RAM is low just for simplicity.

If it is already dynamic in size then I suppose I just change the script!

Edited by iotola
Link to comment
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.