View Issue Details

IDProjectCategoryView StatusLast Update
0005942SOGoBackend Calendarpublic2024-04-09 07:49
Reporterjdime Assigned Tosebastien  
PrioritynormalSeverityminorReproducibilityalways
Status resolvedResolutionfixed 
Product Version5.10.0 
Fixed in Version5.10.1 
Summary0005942: Calendar fails to load due to c_cycleinfo data on certain events
Description

Running version 5.10.0.20240313-1 and newer, there appears to be an issue with some recurring events causing the calendar to not load and show the following error in the sogo log file:
EXCEPTION: <NSException: 0x55dcd7ffddd0> NAME:NSGenericException REASON:Parse failed - as property list {Parse failed at line 2 (char 18) - extra data after parsed string}, and as strings file {Parse failed at line 2 (char 18) - unexpected character (wanted '=' or ';')} INFO:(null)

Setting c_cycleinfo blank for the event that causes the error seems to allow the calendar to load but these events haven't been modified in quite some time.

It looks to me that this may be correlated with the recent fix for 0005940

Additional Information

0 -[NSException raise] (self=0x5555565be4b0, _cmd=0x7ffff7329fe0 <_OBJC_SELECTOR_TABLE+480>) at ./Source/NSException.m:1595
0000001 0x00007ffff6fe593a in +[NSException raise:format:arguments:] (self=<optimized out>, _cmd=<optimized out>, name=0x7ffff732a9d0 <_OBJC_INSTANCE_3>,
format=<optimized out>, argList=0x7fffffffb450) at ./Source/NSException.m:1487
0000002 0x00007ffff6fe6639 in +[NSException raise:format:] (self=0x7ffff732a320 <_OBJC_Class_NSException>, _cmd=<optimized out>,
name=0x7ffff732a9d0 <_OBJC_INSTANCE_3>, format=0x7ffff73829a0 <_OBJC_INSTANCE_43.31>) at ./Source/NSException.m:1472
0000003 0x00007ffff7083d3e in GSPropertyListFromStringsFormat (string=string@entry=0x55555658b430) at ./Source/NSPropertyList.m:1476
0000004 0x00007ffff70b1ac8 in -[NSString propertyList] (self=0x55555658b430, _cmd=<optimized out>) at ./Source/NSString.m:6191
0000005 0x00007ffff2c48f09 in -[SOGoAppointmentFolder flattenCycleRecord:forRange:intoArray:withCalendar:] (self=0x5555567a27f0,
_cmd=0x7ffff2c94ed0 <_OBJC_SELECTOR_TABLE+2512>, theRecord=0x55555678f130, theRange=0x55555678cdd0, theRecords=0x55555678ca60, calendar=0x0)
at SOGoAppointmentFolder.m:1292
0000006 0x00007ffff2c49d92 in -[SOGoAppointmentFolder _flattenCycleRecords:fetchRange:] (self=0x5555567a27f0, _cmd=0x7ffff2c94f90 <_OBJC_SELECTOR_TABLE+2704>,
_records=0x55555678cf80, _r=0x55555678cdd0) at SOGoAppointmentFolder.m:1445
0000007 0x00007ffff2c4af23 in -[SOGoAppointmentFolder fetchFields:from:to:title:component:additionalFilters:includeProtectedInformation:] (self=0x5555567a27f0,
_cmd=0x7ffff2c95800 <_OBJC_SELECTOR_TABLE+4864>, _fields=0x5555561588d0, _startDate=0x55555657d3c0, _endDate=0x555556160910, title=0x0,
_component=0x7ffff271e220 <_OBJC_INSTANCE_74.52>, filters=0x0, _includeProtectedInformation=0 '\000') at SOGoAppointmentFolder.m:1671
0000008 0x00007ffff2c5155c in -[SOGoAppointmentFolder fetchCoreInfosFrom:to:title:component:additionalFilters:] (self=0x5555567a27f0,
_cmd=0x7ffff2c95810 <_OBJC_SELECTOR_TABLE+4880>, _startDate=0x55555657d3c0, _endDate=0x555556160910, title=0x0,
_component=0x7ffff271e220 <_OBJC_INSTANCE_74.52>, filters=0x0) at SOGoAppointmentFolder.m:3013
0000009 0x00007ffff2c513ac in -[SOGoAppointmentFolder fetchCoreInfosFrom:to:title:component:] (self=0x5555567a27f0,
_cmd=0x7ffff271f530 <_OBJC_SELECTOR_TABLE+880>, _startDate=0x55555657d3c0, _endDate=0x555556160910, title=0x0,
_component=0x7ffff271e220 <_OBJC_INSTANCE_74.52>) at SOGoAppointmentFolder.m:2989
0000010 0x00007ffff26f47d7 in -[UIxCalListingActions _fetchFields:forComponentOfType:] (self=0x5555559a3e00, _cmd=0x7ffff271f7e0 <_OBJC_SELECTOR_TABLE+1568>,
fields=0x5555563e7fe0, component=0x7ffff271e220 <_OBJC_INSTANCE_74.52>) at UIxCalListingActions.m:507
0000011 0x00007ffff26f8e70 in -[UIxCalListingActions eventsBlocksAction] (self=0x5555559a3e00, _cmd=0x5555563eb4c0) at UIxCalListingActions.m:1462
0000012 0x00007ffff7955d2c in ?? () from /lib/libNGObjWeb.so.4.9
0000013 0x00007ffff27c2bda in -[SOGoDirectAction performActionNamed:] (self=0x5555559a3e00, _cmd=0x7ffff7b34960, _actionName=0x5555558f3570)
at SOGoDirectAction.m:271

TagsNo tags attached.

Relationships

duplicate of 0005948 resolvedsebastien Proxy Error 

Activities

jdime

jdime

2024-03-18 21:55

reporter   ~0017660

For the first event with the issue, the following were set:
c_iscycle = 1
c_cycleinfo = {exDates = (20190108T180000Z); rules = ("FREQ=MONTHLY;INTERVAL=1;BYDAY=2TU"); }
c_cycleenddate = 2147483647

Setting c_cycleinfo to a blank value bypassed the error.

I found another event that caused this issue to occur. For the 2nd event, the following were set:
c_iscycle = 1
c_cycleinfo = NULL
c_cycleenddate = NULL

Setting c_iscycle to 0 or changing c_cycleinfo to a blank value bypassed the error on this event.

sebastien

sebastien

2024-03-19 09:29

administrator   ~0017661

Can you provide the ics ?

Sebastien

jdime

jdime

2024-03-19 13:39

reporter   ~0017662

Attached is the ICS with names redacted. Verified that importing this causes the issue to occur.

testevent.ics (1,450 bytes)   
BEGIN:VCALENDAR
PRODID:-//Apple Inc.//Mac OS X 10.14.2//EN
VERSION:2.0
CALSCALE:GREGORIAN
BEGIN:VTIMEZONE
TZID:America/New_York
BEGIN:DAYLIGHT
TZOFFSETFROM:-0500
RRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU
DTSTART:20070311T020000
TZNAME:EDT
TZOFFSETTO:-0400
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETFROM:-0400
RRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU
DTSTART:20071104T020000
TZNAME:EST
TZOFFSETTO:-0500
END:STANDARD
END:VTIMEZONE
BEGIN:VEVENT
DTEND;TZID=America/New_York:20190306T140000
TRANSP:OPAQUE
UID:30D2-5C093E80-33-3225A080
DTSTAMP:20190227T185045Z
LOCATION:Large Conf
X-APPLE-TRAVEL-ADVISORY-BEHAVIOR:AUTOMATIC
SEQUENCE:2
CLASS:PUBLIC
SUMMARY:Marketing meeting
LAST-MODIFIED:20190306T164143Z
DTSTART;TZID=America/New_York:20190306T120000
CREATED:20190227T185045Z
RECURRENCE-ID:20190306T190000Z
ATTENDEE;PARTSTAT=ACCEPTED;ROLE=REQ-PARTICIPANT;CN=Large Conferen
 ce Room;CUTYPE=INDIVIDUAL;RSVP=TRUE:mailto:redacted@gmail.com
ATTENDEE;PARTSTAT=NEEDS-ACTION;ROLE=REQ-PARTICIPANT;CN=First Last;CUTYPE=I
 NDIVIDUAL;RSVP=TRUE:mailto:redacted@gmail.com
ATTENDEE;PARTSTAT=ACCEPTED;ROLE=REQ-PARTICIPANT;CN=First Last;CUTYPE=INDIV
 IDUAL:mailto:redacted@gmail.com
ATTENDEE;PARTSTAT=NEEDS-ACTION;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;RSVP=
 TRUE;CN=First Last:mailto:redacted@gmail.com
ATTENDEE;PARTSTAT=NEEDS-ACTION;ROLE=REQ-PARTICIPANT;RSVP=TRUE;CN=Gregory Bu
 pp:mailto:redacted@gmail.com
ORGANIZER;CN=First Last:mailto:redacted@gmail.com
END:VEVENT
END:VCALENDAR
testevent.ics (1,450 bytes)   
dttsou

dttsou

2024-03-23 07:08

reporter   ~0017666

I have this exact issue, and my entire calendar is crashing.

Is there a workaround for this issue while the bug is being fixed?

jdime

jdime

2024-03-25 17:28

reporter   ~0017667

In order to workaround the issue currently, you need to enable SQL debugging and find the query that is causing the issue. You'll then need to modify the quick calendar that is referenced in that query and either set c_iscycle to 0 or c_cycleinfo to a blank value for the events that are causing the issue.

atsawin

atsawin

2024-04-01 09:21

reporter   ~0017673

I have this issue too. But error message is not the same. Setting c_iscycle to 0 can avoid the problem but it make event not repeated.

I can access calendar using Thunderbird or other CalDav client.

Here's my error on version 5.10.0.20240331-1
2024-04-01 16:06:37.643 sogod[66356:66356] <MySQL4Channel[0x0x57f2bef04e30] connection=0x0x57f2bf1515d0> SQL: SELECT b.c_name,b.c_content,b.c_creationdate,b.c_lastmodified,b.c_version,a.c_component,a.c_title,a.c_location,a.c_orgmail,a.c_status,a.c_category,a.c_classification,a.c_isallday,a.c_isopaque,a.c_participants,a.c_partmails,a.c_partstates,a.c_sequence,a.c_priority,a.c_cycleinfo,a.c_iscycle,a.c_nextalarm,a.c_description,a.c_uid,a.c_startdate,a.c_enddate FROM sogo_quick_appointment a, sogo_store b WHERE (a.c_folder_id = 1 AND b.c_folder_id = 1) AND ((c_component = 'vevent') AND ((c_startdate IS NULL) OR (c_startdate <= 1712422799)) AND ((c_cycleenddate IS NULL) OR (c_cycleenddate >= 1708794000)) AND (c_iscycle = 1)) AND a.c_name = b.c_name AND (c_deleted != 1 OR c_deleted IS NULL);
2024-04-01 16:06:37.643 sogod[66356:66356] <MySQL4Channel[0x0x57f2bef04e30] connection=0x0x57f2bf1515d0> query has results, entering fetch-mode.
2024-04-01 16:06:37.644 sogod[66356:66356] EXCEPTION: <NSException: 0x57f2bf6ee720> NAME:NSInvalidArgumentException REASON:NSAutoreleasePool(class) does not recognize propertyList INFO:(null)
Apr 01 16:06:37 sogod [66356]: 125.25.28.117 "GET /SOGo/so/xxx@xxx.xxx/Calendar/eventsblocks?ed=20240406&sd=20240225&view=monthview HTTP/1.0" 501 0/0 0.012 - - 0 - 13

jdime

jdime

2024-04-05 17:00

reporter   ~0017686

I've noticed that when this is happening, it seems to mostly be on events where c_cycleinfo is NULL in the database.

sebastien

sebastien

2024-04-08 11:58

administrator   ~0017690

Last edited: 2024-04-09 07:08

Fixed in https://github.com/Alinto/sogo/commit/d4046673eebf21180f494e516a39a7b04243f669 and https://github.com/Alinto/sogo/commit/49e9988b82b206ae751feb10979f5e0859d2ec77 (NB 20240409)

Sebastien

Issue History

Date Modified Username Field Change
2024-03-18 20:56 jdime New Issue
2024-03-18 21:55 jdime Note Added: 0017660
2024-03-19 09:29 sebastien Note Added: 0017661
2024-03-19 13:39 jdime Note Added: 0017662
2024-03-19 13:39 jdime File Added: testevent.ics
2024-03-23 07:08 dttsou Note Added: 0017666
2024-03-25 17:28 jdime Note Added: 0017667
2024-04-01 09:21 atsawin Note Added: 0017673
2024-04-05 17:00 jdime Note Added: 0017686
2024-04-08 11:58 sebastien Note Added: 0017690
2024-04-08 11:58 sebastien Assigned To => sebastien
2024-04-08 11:58 sebastien Status new => resolved
2024-04-08 11:58 sebastien Resolution open => fixed
2024-04-08 11:58 sebastien Fixed in Version => 5.10.1
2024-04-09 07:08 sebastien Note Edited: 0017690
2024-04-09 07:49 sebastien Relationship added duplicate of 0005948