mirror of
https://github.com/aluxnimm/outlookcaldavsynchronizer.git
synced 2026-04-26 11:35:47 +03:00
[GH-ISSUE #159] Exception after moving one calender entry of a series #1055
Labels
No labels
1.0
1.0
1.0
2.0
Feature
Feature request
Google
Google Calendar
async
attachement
auto-migrated
auto-migrated
auto-migrated
bug
critical
enhancement
help wanted
implemented
pull-request
solved
solved
sourceforge
sourceforge
sourceforge
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
starred/outlookcaldavsynchronizer#1055
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @big-chen on GitHub (Aug 29, 2016).
Original GitHub issue: https://github.com/aluxnimm/outlookcaldavsynchronizer/issues/159
Hi,
I noticed this exception:
System.NullReferenceException: Object reference not set to an instance of an object.
at DDay.iCal.iCalTimeZoneInfo.<>c__DisplayClass2.b__0(IPeriod p)
at System.Linq.Enumerable.FirstOrDefault[TSource](IEnumerable
1 source, Func2 predicate)at DDay.iCal.iCalTimeZoneInfo.GetObservance(IDateTime dt)
at DDay.iCal.iCalTimeZone.GetTimeZoneObservance(IDateTime dt)
at DDay.iCal.iCalDateTime.GetTimeZoneObservance()
at DDay.iCal.iCalDateTime.get_UTC()
at CalDavSynchronizer.Implementation.Events.EventEntityMapper.<>c.b__32_0(IEvent e)
at System.Linq.Enumerable.WhereListIterator
1.MoveNext() at System.Linq.Buffer1..ctor(IEnumerable1 source) at System.Linq.OrderedEnumerable1.d__1.MoveNext()at CalDavSynchronizer.Implementation.Events.EventEntityMapper.MapRecurrenceExceptions2To1(IEnumerable
1 exceptions, AppointmentItemWrapper targetWrapper, RecurrencePattern targetRecurrencePattern, IEntityMappingLogger logger) at CalDavSynchronizer.Implementation.Events.EventEntityMapper.MapRecurrance2To1(IEvent source, IReadOnlyCollection1 exceptions, AppointmentItemWrapper targetWrapper, IEntityMappingLogger logger)at CalDavSynchronizer.Implementation.Events.EventEntityMapper.Map2To1(IEvent source, IReadOnlyCollection
1 recurrenceExceptionsOrNull, AppointmentItemWrapper targetWrapper, Boolean isRecurrenceException, IEntityMappingLogger logger) at CalDavSynchronizer.Implementation.Events.EventEntityMapper.Map2To1(IICalendar sourceCalendar, AppointmentItemWrapper target, IEntityMappingLogger logger) at GenSync.Synchronization.States.UpdateBToA6.UpdateEntity(TAtypeEntity entity, IEntitySynchronizationLogger logger)at GenSync.Synchronization.States.UpdateBToA
6.JobWrapper.UpdateEntity(TAtypeEntity entity) at CalDavSynchronizer.Implementation.Events.OutlookEventRepository.TryUpdate(String entityId, DateTime entityVersion, AppointmentItemWrapper entityToUpdate, Func2 entityModifier, IEventSynchronizationContext context)at GenSync.EntityRepositories.BatchEntityRepositoryAdapter`4.d__2.MoveNext()
after I moved one calender entry of a regular calender entry series. It was a regular weekly entry on Wed. where I shifted the entry of this week to Friday.
This is the iCal entry shown in the error dialog:
BEGIN:VCALENDAR
VERSION:2.0
PRODID:+//IDN bitfire.at//DAVdroid/1.2 ical4android ical4j/2.x
BEGIN:VEVENT
DTSTAMP:20160829T083950Z
UID:d6qm2qfp93oh7j6b46f7e4j4ik@google.com
SEQUENCE:1
DTSTART;TZID=Europe/Berlin:20121031T183000
DURATION:PT1H30M
RRULE:FREQ=WEEKLY;WKST=MO;INTERVAL=1;BYDAY=WE
SUMMARY:Reiten
STATUS:TENTATIVE
ORGANIZER:mailto:Familie
ATTENDEE;CN=Die Hilkens;CUTYPE=INDIVIDUAL;ROLE=REQ-PARTICIPANT;RSVP=TRUE;PA
RTSTAT=NEEDS-ACTION:mailto:bv38aled752rpcrl3hun6rh1ik@group.calendar.googl
e.com
BEGIN:VALARM
TRIGGER:-PT15M
ACTION:DISPLAY
DESCRIPTION:Reiten
END:VALARM
END:VEVENT
BEGIN:VEVENT
DTSTAMP:20160829T083950Z
UID:d6qm2qfp93oh7j6b46f7e4j4ik@google.com
RECURRENCE-ID:20151118T173000Z
SEQUENCE:2
DTSTART;TZID=Europe/Berlin:20151119T183000
DTEND;TZID=Europe/Berlin:20151119T200000
SUMMARY:Reiten
STATUS:TENTATIVE
BEGIN:VALARM
TRIGGER:-PT15M
ACTION:DISPLAY
DESCRIPTION:Reiten
END:VALARM
END:VEVENT
BEGIN:VEVENT
DTSTAMP:20160829T083950Z
UID:d6qm2qfp93oh7j6b46f7e4j4ik@google.com
RECURRENCE-ID:20160713T163000Z
SEQUENCE:2
DTSTART;TZID=Europe/Berlin:20160714T183000
DTEND;TZID=Europe/Berlin:20160714T200000
SUMMARY:Reiten
STATUS:TENTATIVE
ORGANIZER:mailto:Familie
ATTENDEE;CN=Die Hilkens;CUTYPE=INDIVIDUAL;ROLE=REQ-PARTICIPANT;RSVP=TRUE;PA
RTSTAT=NEEDS-ACTION:mailto:bv38aled752rpcrl3hun6rh1ik@group.calendar.googl
e.com
BEGIN:VALARM
TRIGGER:-PT15M
ACTION:DISPLAY
DESCRIPTION:Reiten
END:VALARM
END:VEVENT
BEGIN:VEVENT
DTSTAMP:20160829T083950Z
UID:d6qm2qfp93oh7j6b46f7e4j4ik@google.com
RECURRENCE-ID:20150304T173000Z
SEQUENCE:2
DTSTART;TZID=Europe/Berlin:20150305T183000
DTEND;TZID=Europe/Berlin:20150305T200000
SUMMARY:Reiten
STATUS:TENTATIVE
BEGIN:VALARM
TRIGGER:-PT15M
ACTION:DISPLAY
DESCRIPTION:Reiten
END:VALARM
END:VEVENT
BEGIN:VEVENT
DTSTAMP:20160829T083950Z
UID:d6qm2qfp93oh7j6b46f7e4j4ik@google.com
RECURRENCE-ID:20151111T173000Z
SEQUENCE:2
DTSTART;TZID=Europe/Berlin:20151112T183000
DTEND;TZID=Europe/Berlin:20151112T200000
SUMMARY:Reiten
STATUS:TENTATIVE
BEGIN:VALARM
TRIGGER:-PT15M
ACTION:DISPLAY
DESCRIPTION:Reiten
END:VALARM
END:VEVENT
BEGIN:VEVENT
DTSTAMP:20160829T083950Z
UID:d6qm2qfp93oh7j6b46f7e4j4ik@google.com
RECURRENCE-ID:20160831T163000Z
SEQUENCE:1
DTSTART;TZID=Europe/Berlin:20160902T183000
DTEND;TZID=Europe/Berlin:20160902T200000
SUMMARY:Reiten
STATUS:TENTATIVE
ORGANIZER:mailto:Familie
ATTENDEE;CN=Die Hilkens;CUTYPE=INDIVIDUAL;ROLE=REQ-PARTICIPANT;RSVP=TRUE;PA
RTSTAT=NEEDS-ACTION:mailto:bv38aled752rpcrl3hun6rh1ik@group.calendar.googl
e.com
BEGIN:VALARM
TRIGGER:-PT15M
ACTION:DISPLAY
DESCRIPTION:Reiten
END:VALARM
END:VEVENT
BEGIN:VTIMEZONE
TZID:Europe/Berlin
TZURL:http://tzurl.org/zoneinfo/Europe/Berlin
X-LIC-LOCATION:Europe/Berlin
BEGIN:DAYLIGHT
TZOFFSETFROM:+0100
TZOFFSETTO:+0200
TZNAME:CEST
DTSTART:19810329T020000
RRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETFROM:+0200
TZOFFSETTO:+0100
TZNAME:CET
DTSTART:19961027T030000
RRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU
END:STANDARD
BEGIN:STANDARD
TZOFFSETFROM:+005328
TZOFFSETTO:+0100
TZNAME:CET
DTSTART:18930401T000000
RDATE:18930401T000000
END:STANDARD
BEGIN:DAYLIGHT
TZOFFSETFROM:+0100
TZOFFSETTO:+0200
TZNAME:CEST
DTSTART:19160501T000000
RDATE:19160501T000000
RDATE:19170416T030000
RDATE:19180415T030000
RDATE:19400401T030000
RDATE:19430329T030000
RDATE:19440403T030000
RDATE:19450402T030000
RDATE:19460414T030000
RDATE:19470406T040000
RDATE:19480418T030000
RDATE:19490410T030000
RDATE:19800406T020000
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETFROM:+0200
TZOFFSETTO:+0100
TZNAME:CET
DTSTART:19161001T010000
RDATE:19161001T010000
RDATE:19170917T030000
RDATE:19180916T030000
RDATE:19421102T030000
RDATE:19431004T030000
RDATE:19441002T030000
RDATE:19451118T030000
RDATE:19461007T030000
RDATE:19471005T030000
RDATE:19481003T030000
RDATE:19491002T030000
RDATE:19800928T030000
RDATE:19810927T030000
RDATE:19820926T030000
RDATE:19830925T030000
RDATE:19840930T030000
RDATE:19850929T030000
RDATE:19860928T030000
RDATE:19870927T030000
RDATE:19880925T030000
RDATE:19890924T030000
RDATE:19900930T030000
RDATE:19910929T030000
RDATE:19920927T030000
RDATE:19930926T030000
RDATE:19940925T030000
RDATE:19950924T030000
END:STANDARD
BEGIN:DAYLIGHT
TZOFFSETFROM:+0200
TZOFFSETTO:+0300
TZNAME:CEMT
DTSTART:19450524T020000
RDATE:19450524T020000
RDATE:19470511T030000
END:DAYLIGHT
BEGIN:DAYLIGHT
TZOFFSETFROM:+0300
TZOFFSETTO:+0200
TZNAME:CEST
DTSTART:19450924T030000
RDATE:19450924T030000
RDATE:19470629T030000
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETFROM:+0100
TZOFFSETTO:+0100
TZNAME:CET
DTSTART:19460101T000000
RDATE:19460101T000000
RDATE:19800101T000000
END:STANDARD
END:VTIMEZONE
END:VCALENDAR
The aCal entry is drawn from an ownCloud 9.0 server.
Thanks for help!
Cheers, Lutz.
PS: The weekly entries of this series are shown in ownClound like this:
Die Wiederholungsregel dieses Termins wird noch nicht unterstützt. Unterstützung für fortgeschrittene Regeln wird mit späteren Updates hinzugefügt.
Maybe this could be the root cause?
@aluxnimm commented on GitHub (Aug 29, 2016):
Our used library DDay.iCal has problems with that VTIMEZONE. We will update to ical.net soon to avoid such issues hopefully. Meanwhile I implemented some workarounds already which should avoid that error but not for recurrence exceptions yet.
If you have access to the raw ics data you can also change the VTIMEZONE in the event to
http://tzurl.org/zoneinfo-outlook/Europe/Berlin.ics
@aluxnimm commented on GitHub (Aug 29, 2016):
can you provide the debug log.txt as well?
@big-chen commented on GitHub (Aug 30, 2016):
I changed my configuration... waiting for the next occurrence ;-)
@big-chen commented on GitHub (Aug 30, 2016):
Here it is:
INFO 2016-08-30 08:29:52,297 [ VSTA_Main] .Scheduling.SynchronizationProfileRunner . MoveNext - Starting 'Running synchronization profile 'ownCloud (Lutz)''
INFO 2016-08-30 08:29:52,297 [ VSTA_Main] GenSync.Synchronization.Synchronizer
7 . MoveNext - Entered. Syncstrategy 'TwoWayInitialSyncStateCreationStrategy6' with Atype='AppointmentItemWrapper' and Btype='IICalendar'INFO 2016-08-30 08:29:52,297 [ VSTA_Main] ementation.Events.OutlookEventRepository . GetAll - Using Outlook DASL filter: @SQL="http://schemas.microsoft.com/mapi/proptag/0x001A001E" = 'IPM.Appointment' And "urn:schemas:calendar:dtstart" < '27.02.2017 00:00' And "urn:schemas:calendar:dtend" > '01.07.2016 00:00'
INFO 2016-08-30 08:29:52,307 [ VSTA_Main] onizer.Implementation.CalDavRepository
1 . MoveNext - Starting 'CalDavRepository.GetVersions' INFO 2016-08-30 08:29:52,977 [ VSTA_Main] onizer.Implementation.CalDavRepository1 . MoveNext - Duration of 'CalDavRepository.GetVersions': 00:00:00.6768658INFO 2016-08-30 08:29:52,987 [ VSTA_Main] GenSync.Synchronization.Synchronizer
7 . MoveNext - Atype delta: Unchanged: 5 , Added: 0 , Deleted 0 , Changed 0 INFO 2016-08-30 08:29:52,987 [ VSTA_Main] GenSync.Synchronization.Synchronizer7 . MoveNext - Btype delta: Unchanged: 5 , Added: 0 , Deleted 0 , Changed 0DEBUG 2016-08-30 08:29:52,997 [ VSTA_Main] GenSync.Synchronization.Synchronizer
7 . MoveNext - Exiting. INFO 2016-08-30 08:29:53,007 [ VSTA_Main] .Scheduling.SynchronizationProfileRunner . MoveNext - Duration of 'Running synchronization profile 'ownCloud (Lutz)'': 00:00:00.7114748 INFO 2016-08-30 08:30:53,227 [ VSTA_Main] .Scheduling.SynchronizationProfileRunner . MoveNext - Starting 'Running synchronization profile 'ownCloud (Lutz Birthdays)'' INFO 2016-08-30 08:30:53,227 [ VSTA_Main] GenSync.Synchronization.Synchronizer7 . MoveNext - Entered. Syncstrategy 'OneWayInitialSyncStateCreationStrategy_BToA6' with Atype='AppointmentItemWrapper' and Btype='IICalendar' INFO 2016-08-30 08:30:53,237 [ VSTA_Main] ementation.Events.OutlookEventRepository . GetAll - Using Outlook DASL filter: @SQL="http://schemas.microsoft.com/mapi/proptag/0x001A001E" = 'IPM.Appointment' And "urn:schemas:calendar:dtstart" < '27.02.2017 00:00' And "urn:schemas:calendar:dtend" > '01.07.2016 00:00' INFO 2016-08-30 08:30:53,287 [ VSTA_Main] onizer.Implementation.CalDavRepository1 . MoveNext - Starting 'CalDavRepository.GetVersions'INFO 2016-08-30 08:30:54,077 [ VSTA_Main] onizer.Implementation.CalDavRepository
1 . MoveNext - Duration of 'CalDavRepository.GetVersions': 00:00:00.7905402 INFO 2016-08-30 08:30:54,077 [ VSTA_Main] GenSync.Synchronization.Synchronizer7 . MoveNext - Atype delta: Unchanged: 23 , Added: 0 , Deleted 0 , Changed 0INFO 2016-08-30 08:30:54,087 [ VSTA_Main] GenSync.Synchronization.Synchronizer
7 . MoveNext - Btype delta: Unchanged: 23 , Added: 0 , Deleted 0 , Changed 0 DEBUG 2016-08-30 08:30:54,097 [ VSTA_Main] GenSync.Synchronization.Synchronizer7 . MoveNext - Exiting.INFO 2016-08-30 08:30:54,097 [ VSTA_Main] .Scheduling.SynchronizationProfileRunner . MoveNext - Duration of 'Running synchronization profile 'ownCloud (Lutz Birthdays)'': 00:00:00.8635073
INFO 2016-08-30 08:31:54,307 [ VSTA_Main] .Scheduling.SynchronizationProfileRunner . MoveNext - Starting 'Running synchronization profile 'ownCloud (Hilkens Kalender)''
INFO 2016-08-30 08:31:54,307 [ VSTA_Main] GenSync.Synchronization.Synchronizer
7 . MoveNext - Entered. Syncstrategy 'TwoWayInitialSyncStateCreationStrategy6' with Atype='AppointmentItemWrapper' and Btype='IICalendar'INFO 2016-08-30 08:31:54,317 [ VSTA_Main] ementation.Events.OutlookEventRepository . GetAll - Using Outlook DASL filter: @SQL="http://schemas.microsoft.com/mapi/proptag/0x001A001E" = 'IPM.Appointment' And "urn:schemas:calendar:dtstart" < '27.02.2017 00:00' And "urn:schemas:calendar:dtend" > '01.07.2016 00:00'
INFO 2016-08-30 08:31:54,397 [ VSTA_Main] onizer.Implementation.CalDavRepository
1 . MoveNext - Starting 'CalDavRepository.GetVersions' INFO 2016-08-30 08:31:55,397 [ VSTA_Main] onizer.Implementation.CalDavRepository1 . MoveNext - Duration of 'CalDavRepository.GetVersions': 00:00:00.9997253INFO 2016-08-30 08:31:55,397 [ VSTA_Main] onizer.Implementation.CalDavRepository
1 . MoveNext - Starting 'CalDavRepository.Get (1 entitie(s))' INFO 2016-08-30 08:31:55,617 [ VSTA_Main] onizer.Implementation.CalDavRepository1 . MoveNext - Duration of 'CalDavRepository.Get (1 entitie(s))': 00:00:00.2213629INFO 2016-08-30 08:31:55,617 [ VSTA_Main] GenSync.Synchronization.Synchronizer
7 . MoveNext - Atype delta: Unchanged: 44 , Added: 0 , Deleted 0 , Changed 1 INFO 2016-08-30 08:31:55,617 [ VSTA_Main] GenSync.Synchronization.Synchronizer7 . MoveNext - Btype delta: Unchanged: 44 , Added: 0 , Deleted 0 , Changed 1ERROR 2016-08-30 08:31:56,467 [ VSTA_Main] nSync.Synchronization.States.StateBase
6 . LogException - System.NullReferenceException: Object reference not set to an instance of an object. at DDay.iCal.iCalTimeZoneInfo.<>c__DisplayClass2.<GetObservance>b__0(IPeriod p) at System.Linq.Enumerable.FirstOrDefault[TSource](IEnumerable1 source, Func2 predicate) at DDay.iCal.iCalTimeZoneInfo.GetObservance(IDateTime dt) at DDay.iCal.iCalTimeZone.GetTimeZoneObservance(IDateTime dt) at DDay.iCal.iCalDateTime.GetTimeZoneObservance() at DDay.iCal.iCalDateTime.get_UTC() at CalDavSynchronizer.Implementation.Events.EventEntityMapper.<>c.<MapRecurrance2To1>b__32_0(IEvent e) at System.Linq.Enumerable.WhereListIterator1.MoveNext()at System.Linq.Buffer
1..ctor(IEnumerable1 source)at System.Linq.OrderedEnumerable
1.<GetEnumerator>d__1.MoveNext() at CalDavSynchronizer.Implementation.Events.EventEntityMapper.MapRecurrenceExceptions2To1(IEnumerable1 exceptions, AppointmentItemWrapper targetWrapper, RecurrencePattern targetRecurrencePattern, IEntityMappingLogger logger)at CalDavSynchronizer.Implementation.Events.EventEntityMapper.MapRecurrance2To1(IEvent source, IReadOnlyCollection
1 exceptions, AppointmentItemWrapper targetWrapper, IEntityMappingLogger logger) at CalDavSynchronizer.Implementation.Events.EventEntityMapper.Map2To1(IEvent source, IReadOnlyCollection1 recurrenceExceptionsOrNull, AppointmentItemWrapper targetWrapper, Boolean isRecurrenceException, IEntityMappingLogger logger)at CalDavSynchronizer.Implementation.Events.EventEntityMapper.Map2To1(IICalendar sourceCalendar, AppointmentItemWrapper target, IEntityMappingLogger logger)
at GenSync.Synchronization.States.UpdateBToA
6.UpdateEntity(TAtypeEntity entity, IEntitySynchronizationLogger logger) at GenSync.Synchronization.States.UpdateBToA6.JobWrapper.UpdateEntity(TAtypeEntity entity)at CalDavSynchronizer.Implementation.Events.OutlookEventRepository.TryUpdate(String entityId, DateTime entityVersion, AppointmentItemWrapper entityToUpdate, Func
2 entityModifier, IEventSynchronizationContext context) at GenSync.EntityRepositories.BatchEntityRepositoryAdapter4.d__2.MoveNext()DEBUG 2016-08-30 08:31:56,477 [ VSTA_Main] GenSync.Synchronization.Synchronizer`7 . MoveNext - Exiting.
@aluxnimm commented on GitHub (Aug 30, 2016):
fixed in 2.5.0.
@big-chen commented on GitHub (Aug 30, 2016):
Thanks!