Great it’s work ! Thank you very much.
Davdroid crashes on calendar sync
-
I’m having the same problem on a Nexus 4 !
-
I got the same issue, it is caused by an invalid or mishandled VTODO entry.
These patches helped me and now it is syncing fine:--- a/src/at/bitfire/davdroid/resource/Event.java +++ b/src/at/bitfire/davdroid/resource/Event.java @@ -272,7 +272,7 @@ public class Event extends Resource { public long getDtStartInMillis() { - return dtStart.getDate().getTime(); + return dtStart!=null ? dtStart.getDate().getTime(): 0; } public String getDtStartTzID() { @@ -291,7 +291,7 @@ public class Event extends Resource { public long getDtEndInMillis() { - return dtEnd.getDate().getTime(); + return dtEnd != null ? dtEnd.getDate().getTime() : 0; } public String getDtEndTzID() { @@ -316,11 +316,11 @@ public class Event extends Resource { } protected static boolean hasTime(DateProperty date) { - return date.getDate() instanceof DateTime; + return (date==null) || date.getDate() instanceof DateTime; } protected static String getTzId(DateProperty date) { - if (date.isUtc() || !hasTime(date)) + if (date == null || date.isUtc() || !hasTime(date)) return Time.TIMEZONE_UTC; else if (date.getTimeZone() != null) return date.getTimeZone().getID();
-
Thanks for the reports.
The next release will correct this by ignoring entries that don’t have a valid dtStart. I want to get rid of the null values so an exception will be thrown when a record has no VEVENT component, causing this iCal to be ignored.
-
Which DAVdroid version did you use?
-
Latest from google app store, 0.5.8a.
-
@Messinger And can you tell me the contents of
owncloud-0d676ad9ec114cd331679ffdd65eedea.ics
?I couldn’t reproduce this with a VTODO entry, it was ignored as it is supposed to.
@All: Can you give me exact steps to reproduce, i.e. which .ics I have to put on the server so that the crash occurs? I have very little time at the moment so (unfortunately) I don’t have the possibility to do much research.
-
Here we go:
BEGIN:VCALENDAR VERSION:2.0 PRODID:-//ownCloud//NONSGML Journal 0.3.2//EN BEGIN:VJOURNAL DTSTART;VALUE=DATE-TIME;TZID=UTC:20131031T113526 CREATED;VALUE=DATE-TIME:20131031T113526Z UID:8c3d2c0190 ORGANIZER:MAILTO:xxx@yyyyy.de UID:ecd1e5a182 SUMMARY:Completed task: END:VJOURNAL END:VCALENDAR
-
Also on SOGo:
BEGIN:VCALENDAR PRODID:-//Inverse inc./SOGo 2.1.1b//EN VERSION:2.0 BEGIN:VTODO UID:1A4-53025300-11-13B2F340 SUMMARY:Test LOCATION:Test CLASS:PUBLIC CREATED:20140217T182101Z DTSTAMP:20140217T182101Z LAST-MODIFIED:20140217T182101Z END:VTODO END:VCALENDAR
…and with adding start and end date:
BEGIN:VCALENDAR PRODID:-//Inverse inc./SOGo 2.1.1b//EN VERSION:2.0 BEGIN:VTODO UID:1A4-53025300-11-13B2F340 SUMMARY:Test LOCATION:Test CLASS:PUBLIC CREATED:20140217T182101Z DTSTAMP:20140217T182101Z LAST-MODIFIED:20140217T182332Z DTSTART:20140217T183000Z DUE:20140218T183000Z END:VTODO END:VCALENDAR
-
DAVdroid crash on sync. NullPointerException, source class: davdroid.resource.Event, line: 319.
Latest version from the appstore. -
This is really strange. I can reproduce this issue with 0.5.8 from Play Store, but not with 0.5.8 from source, so I guess that this issue has been fixed with the latest commit and I have uploaded a version between commits to Play Store. This is backed up by the fact that it works with 0.5.8 from FDroid (I use this version myself).
I will close this as I can test with 0.5.9 in Play Store.