Liberty 3 Blur Email and Calendar Crashes

--- Summary ---
I really love the new Liberty 3 for my Droid-X. The only problem I'm having is the Blur email client crashes a few seconds after opening. I know I'm not the only one having this problem, since I've seen others reporting the same issue on rootzwiki in the bug thread. I thought I would re-post the issue here in its own thread. AOSP works just fine, but if you switch to the Blur version via the Liberty Customizer and add a Corporate Sync account you will have the crashing issues.

--- Partial Fix ---
So, I've done quite a bit of experimenting and debugging and I can say with some certainty the issue lies with the calendar and not the email. If all you want is email, you can go into 'My Accounts', select your corporate account and disable the calendar sync. After doing that the crashing stops.

--- Account already in use Fix ---
If you get an error that your account is already defined, you might have done what I did. When I was testing switching between Blur and AOSP email, I never deleted the existing accounts. So, when I tried adding my account again I would get this error. The solution I found is to rename the /data/data/com.motorola.blur.setupprovider/databases/serviceaccounts.db to something else *before* switching to the Blur email via the Liberty Customizer. A new DB file will get created after the switch is completed.

--- Why I like Blur email over AOSP ---
I can live with the ASOP email, but I like the look and feel of the Blur one so much more. The main things, however, are:
1) Images show up inline and not as attachments
2) You can use the search function
3) The auto signature isn't just plain text

--- How to Reproduce ---
You don't actually need to have a corporate account to reproduce this bug. You can simulate it with just a Google account.
1) Go into Settings > Liberty Settings > Liberty Customizer > Email and Calendar
2) Select Blur if it is not already
3) Go into the App Drawer and run 'My Accounts'
4) Add account
5) Corporate Sync
6) Enter in your Gmail email, password, and username (the part before the @ sign)
7) When it comes back with the auto-detect failure select ok
8) Enter in 'm.google.com' as the server
9) Start the Email app (should crash)
10) Then try the 'Partial Fix' above to prevent it from crashing

--- Error Messages ---
While running aLogcat here are some of the errors seen:

WARN/InputManagerService(1408): Starting input on non-focused client com.android.internal.view.IInputMethodClient$Stub$Proxy@4091fda8 (uid=10201 pid=1909)
WARN/dalvikvm(5855): VFY: unable to resolve virtual method 1093: Lcom/motorola/blur/service/email/protocol/activesync/ProviderAPI$MapEntry;.isSyncable (Lcom/motorola/blur/service/email/protocol/activesync/ProviderAPI;)Z
ERROR/dalvikvm(5855): Could not find class 'com.motorola.blur.calendar.sync.activesync.common.EventInfo$Attendee', referenced from method com.motorola.blur.calendar.sync.activesync.db.EmailAdapter.appendAttendeesFromList
WARN/dalvikvm(5855): VFY: unable to resolve check-cast 85 (Lcom/motorola/blur/calendar/sync/activesync/common/EventInfo$Attendee;) in Lcom/motorola/blur/calendar/sync/activesync/db/EmailAdapter;
WARN/dalvikvm(5855): VFY: unable to resolve virtual method 451: Lcom/motorola/blur/calendar/sync/activesync/common/EventInfo;.getDeletedAttendees ()Ljava/util/List;
WARN/dalvikvm(5855): threadid=18: thread exiting with uncaught exception (group=0x40018560)
ERROR/AndroidRuntime(5855): FATAL EXCEPTION: ServiceThreadPool-0
ERROR/AndroidRuntime(5855): java.lang.AbstractMethodError: abstract method not implemented

---------------------------------------------------------------------------
More of the log can been seen at pastebin.com/bXR3zE1i
---------------------------------------------------------------------------

--- Final Thoughts ---
Hopefully the info I provided can help lead to a solution or will be able to help others who don't care about the calendar feature. Also, if anyone can share any ideas on how to possibly fix this, I would be greatly appreciative.
Thanks
 
I tried something somewhat aggressive. I took a CWR backup, applied the standard 605 rom (Deodexed605-ROM.zip), and took a bunch of backups via Titanium Backup. I then restored my CWR backup and started applying the various Titanium Backups. I thought maybe if I tried restoring some of the out-of-the-box blur apps, it might start working. I ended up restoring quite a bit but still no dice :( .

This is what I ended up restoring (overwriting):
com.motorola.blur.calendar.sync.activesync (Calendar Service 2.3.3)
com.motorola.blur.email (Email 2.3.3)
com.motorola.blur.msexchangesvc (MS Exchange Service 2.3.3)
com.motorola.blur.provider.activesync (Corporate Sync Authenticator 2.3.3)
com.motorola.blur.provider.email (Email Authenticator 2.3.3)
com.motorola.blur.service.blur (Motorola Services 2.3.3)
com.motorola.blur.service.email (Email Engine 2.3.3)
com.motorola.blur.service.search (Motorola Indexing Service 2.3.3)
com.motorola.blur.service.storagemon (Motorola Storage Monitor 2.3.3)
com.motorola.blur.setup (My Accounts 2.3.3)
com.motorola.blur.setupprovider (Accounts Storage 2.3.3)
com.motorola.blur.suggestions.rulechecker.core (Suggestions Core RuleChecker Services 2.3.3)
com.motorola.blur.suggestions.scheduler (Suggestions Poll Scheduler Service 2.3.3)

I also restored these apps which did not already exist exist:
com.motorola.blur.home.message (Messages 2.3.3)
com.motorola.blur.messaging (Messaging 2.3.3)

Lastly, I tried installing this backup but TiBu just hung:
com.motorola.blur.service.snmessaging.engine (Social Messaging Service 2.3.3)

This is what aLogcat contained:

I/dalvikvm( 3934): Could not find method com.motorola.blur.service.email.protocol.activesync.ProviderAPI$MapEntry.isSyncable, referenced from method com.motorola.blur.calendar.sync.activesync.SyncService.syncFolders
W/dalvikvm( 3934): VFY: unable to resolve virtual method 1093: Lcom/motorola/blur/service/email/protocol/activesync/ProviderAPI$MapEntry;.isSyncable (Lcom/motorola/blur/service/email/protocol/activesync/ProviderAPI;)Z
D/dalvikvm( 3934): VFY: replacing opcode 0x6e at 0x0058
D/dalvikvm( 3934): VFY: dead code 0x005b-00ec in Lcom/motorola/blur/calendar/sync/activesync/SyncService;.syncFolders (Lcom/motorola/blur/service/email/protocol/activesync/ActiveSyncMgr;Lcom/motorola/blur/service/email/protocol/activesync/ProviderAPI;JZ)V
I/CalSyncSvc( 3934): onStartCommand: incremented thread count to 1
I/CalSyncSvc( 3934): queueSync: incremented thread count to 2
I/CalSyncSvc( 3934): threadTerminated: decremented thread count to 1
D/dalvikvm( 3934): GC_FOR_MALLOC freed 250K, 51% free 3527K/7111K, external 2091K/2133K, paused 22ms
I/dalvikvm-heap( 3934): Grow heap (frag case) to 8.101MB for 87396-byte allocation
D/dalvikvm( 3934): GC_FOR_MALLOC freed 0K, 51% free 3612K/7239K, external 2091K/2133K, paused 26ms
D/dalvikvm( 3934): GC_FOR_MALLOC freed 216K, 53% free 3405K/7239K, external 2091K/2133K, paused 22ms
E/dalvikvm( 3934): Could not find class 'com.motorola.blur.calendar.sync.activesync.common.EventInfo$Attendee', referenced from method com.motorola.blur.calendar.sync.activesync.db.EmailAdapter.appendAttendeesFromList
W/dalvikvm( 3934): VFY: unable to resolve check-cast 85 (Lcom/motorola/blur/calendar/sync/activesync/common/EventInfo$Attendee;) in Lcom/motorola/blur/calendar/sync/activesync/db/EmailAdapter;
D/dalvikvm( 3934): VFY: replacing opcode 0x1f at 0x000e
D/dalvikvm( 3934): VFY: dead code 0x0010-0039 in Lcom/motorola/blur/calendar/sync/activesync/db/EmailAdapter;.appendAttendeesFromList (Lcom/motorola/blur/calendar/sync/activesync/bean/CalendarData;Ljava/util/List;)V
I/dalvikvm( 3934): Could not find method com.motorola.blur.calendar.sync.activesync.common.EventInfo.getDeletedAttendees, referenced from method com.motorola.blur.calendar.sync.activesync.db.EmailAdapter.sendMeetingRequestEmail
W/dalvikvm( 3934): VFY: unable to resolve virtual method 451: Lcom/motorola/blur/calendar/sync/activesync/common/EventInfo;.getDeletedAttendees ()Ljava/util/List;
D/dalvikvm( 3934): VFY: replacing opcode 0x74 at 0x0037
D/dalvikvm( 3934): VFY: dead code 0x003a-0080 in Lcom/motorola/blur/calendar/sync/activesync/db/EmailAdapter;.sendMeetingRequestEmail (Landroid/content/Context;Landroid/database/Cursor;Lcom/motorola/blur/calendar/sync/activesync/common/EventInfo;JLjava/lang/String;I)Z
D/dalvikvm( 3934): VFY: dead code 0x0085-0087 in Lcom/motorola/blur/calendar/sync/activesync/db/EmailAdapter;.sendMeetingRequestEmail (Landroid/content/Context;Landroid/database/Cursor;Lcom/motorola/blur/calendar/sync/activesync/common/EventInfo;JLjava/lang/String;I)Z

The errors seem to indicate some methods and classes are missing--but how can one get these installed? I thought for sure one of the apk I re-installed via TiBu would have gotten them installed.

Any other thoughts?
 
The Amazon Appstore Free App of the day is Enhanced Email. It appears to be the AOSP email client with many enhancements. I may just stick with this instead of continuing to troubleshoot the Blur calendar issue--I am liking it a lot. I was starting to go through all the apk and odex files from the original DX rom seeing if I could find references to the missing methods and classes, but it is like searching for a needle in a haystack.
 
Back
Top