View Issue Details

IDProjectCategoryView StatusLast Update
0003521SOGoActiveSyncpublic2016-03-29 19:27
Reporterwohu Assigned Toludovic  
PrioritynormalSeverityminorReproducibilityalways
Status resolvedResolutionfixed 
PlatformAndroidOSLollipopOS Version5.1.1
Product Version3.0.1 
Fixed in Version3.1.0 
Summary0003521: Exchange Services crash on Android client
Description

I created a test account in SOGo (current Debian jessie installation, current 3.0.1 SOGo packages) and configured it as "Exchange" account on the Android client.

java.lang.ArrayIndexOutOfBoundsException: length=3; index=3
at com.android.exchange.utility.CalendarUtilities.getLong(CalendarUtilities.java:196)
at com.android.exchange.utility.CalendarUtilities.tziStringToTimeZoneImpl(CalendarUtilities.java:811)
at com.android.exchange.utility.CalendarUtilities.tziStringToTimeZone(CalendarUtilities.java:766)
at com.android.exchange.utility.CalendarUtilities.tziStringToTimeZone(CalendarUtilities.java:782)
at com.android.exchange.adapter.CalendarSyncParser.addEvent(CalendarSyncParser.java:442)
at com.android.exchange.adapter.CalendarSyncParser.addParser(CalendarSyncParser.java:1069)
at com.android.exchange.adapter.CalendarSyncParser.commandsParser(CalendarSyncParser.java:1139)
at com.android.exchange.adapter.AbstractSyncParser.parse(AbstractSyncParser.java:190)
at com.android.exchange.eas.EasSyncBase.handleResponse(EasSyncBase.java:109)
at com.android.exchange.eas.EasOperation.performOperationInternal(EasOperation.java:327)
at com.android.exchange.eas.EasOperation.performOperation(EasOperation.java:266)
at com.android.exchange.eas.EasSyncBase.performOperation(EasSyncBase.java:125)
at com.android.exchange.eas.EasFullSyncOperation.syncMailbox(EasFullSyncOperation.java:263)
at com.android.exchange.eas.EasFullSyncOperation.performOperation(EasFullSyncOperation.java:196)
at com.android.exchange.service.EasService.doOperation(EasService.java:419)
at com.android.exchange.service.EasService$1.sync(EasService.java:134)
at com.android.exchange.service.CalendarSyncAdapterService$SyncAdapterImpl.onPerformSync(CalendarSyncAdapterService.java:131)
at android.content.AbstractThreadedSyncAdapter$SyncThread.run(AbstractThreadedSyncAdapter.java:259)

Steps To Reproduce

Create an empty SOGo test account.
Create at least one calendar entry with SOGo webinterface.
Synchronise Account (either just wait, update E-Mails or cycle the "Sync Calendar" option in the Exchange account setting).
-> "Unfortunately, Exchange Services has stopped." occurs. Report shows above backtrace.

Additional Information

I'm located in austria, timezone is "central european time".
User Language Setting in SOGo is German.
Android device language is set to English.
If the calendar event is created on the Android device it doesn't crash at first. I assume because the event doesn't have to get synchronised. If you remove the account from the Android device or reset the device using sogo-tool manage-eas then the crash happens with the Android created calender event too.

I sniffed the data traffic using "tcpdump -i lo -w TestEvents.pcap -s 0 -A tcp and port 20000".
There are two events: TestEvent1 and TestEvent2. TestEvent1 was created on the Android device, TestEvent2 in the SOGo webinterface.
I tried to only sniff data from this single client during the crash but I can't guarantee there was absolutely no different traffic captured too.

TagsNo tags attached.

Activities

wohu

wohu

2016-02-11 17:32

reporter  

TestEvents.pcap (12,479 bytes)
wohu

wohu

2016-02-11 17:50

reporter   ~0009503

I just realized that this crash seems directly related to the timezone.
I changed the timezone (only for the test account) from "Europe/Austria" to "America/New_York" and synchronization works. No crash any more.

wohu

wohu

2016-02-11 17:58

reporter   ~0009504

"Europe/Austria" isn't a valid timezone. No crash happens with "Europe/Vienna".
So this was my fault.

Perhaps SOGo should prevent using invalid timezones?

ludovic

ludovic

2016-03-29 19:27

administrator   ~0009887

Fixed with https://github.com/inverse-inc/sogo/commit/65f56f47b50a840fbc186d6a4bd794c6894674c6

Issue History

Date Modified Username Field Change
2016-02-11 17:32 wohu New Issue
2016-02-11 17:32 wohu File Added: TestEvents.pcap
2016-02-11 17:50 wohu Note Added: 0009503
2016-02-11 17:58 wohu Note Added: 0009504
2016-02-11 19:26 ludovic Severity major => minor
2016-03-29 19:27 ludovic Note Added: 0009887
2016-03-29 19:27 ludovic Status new => resolved
2016-03-29 19:27 ludovic Fixed in Version => 3.1.0
2016-03-29 19:27 ludovic Resolution open => fixed
2016-03-29 19:27 ludovic Assigned To => ludovic