Bug 4086 - VCalendar invitation presented as "Error - Unknown calendar component type."
Summary: VCalendar invitation presented as "Error - Unknown calendar component type."
Status: RESOLVED INVALID
Alias: None
Product: Claws Mail
Classification: Unclassified
Component: Plugins/vCalendar (show other bugs)
Version: 3.17.0
Hardware: PC Linux
: P3 normal
Assignee: users
URL:
Depends on:
Blocks:
 
Reported: 2018-09-03 11:23 CEST by Paul Rolland
Modified: 2018-09-03 12:34 CEST (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Paul Rolland 2018-09-03 11:23:55 CEST
Claws 3.17.0, using libical 2.0.0, is presenting the invitations I received as empty except for the Event: line that contaiins "Error - Unknown calendar component type.".

I've started Claws in --debug mode. It displays:

procheader.c:155:generic_get_one_field: empty line
    message/rfc822 (offset:0 length:7377 encoding: 6)
        multipart/alternative (offset:2212 length:5165 encoding: 6)
            text/plain (offset:2353 length:1 encoding: 3)
            text/html (offset:2495 length:2356 encoding: 3)
            text/calendar (offset:4997 length:2327 encoding: 4)
procheader.c:155:generic_get_one_field: empty line
mimeview.c:828:text/calendar
messageview.c:1289:found part 6/alternative
mimeview.c:828:text/calendar
mimeview.c:828:text/calendar
vcalendar.c:246:vcal_viewer_get_widget
vcalendar.c:852:vcal_viewer_show_mimepart : /home2/rol/Mail/Dossiers personnels/Boite de reception/444542
vcalendar.c:255:vcal_viewer_clear_viewer
vcalendar.c:229:creating /home2/rol/.claws-mail/mimetmp/0000009e.mimetmp
vcal_folder.c:2184:Converting DTSTART to UTC.
vcal_folder.c:2200:Converting DTEND to UTC.
vcalendar.c:881:TIMING vcal_viewer_show_mimepart : 0s002ms
summaryview.c:3773:TIMING summary_display_msg_full : 0s006ms

and the file /home2/rol/.claws-mail/mimetmp/0000009e.mimetmp contains:

BEGIN:VCALENDAR
METHOD:REQUEST
PRODID:Microsoft Exchange Server 2010
VERSION:2.0
BEGIN:VTIMEZONE
TZID:Romance Standard Time
BEGIN:STANDARD
DTSTART:16010101T030000
TZOFFSETFROM:+0200
TZOFFSETTO:+0100
RRULE:FREQ=YEARLY;INTERVAL=1;BYDAY=-1SU;BYMONTH=10
END:STANDARD
BEGIN:DAYLIGHT
DTSTART:16010101T020000
TZOFFSETFROM:+0100
TZOFFSETTO:+0200
RRULE:FREQ=YEARLY;INTERVAL=1;BYDAY=-1SU;BYMONTH=3
END:DAYLIGHT
END:VTIMEZONE
BEGIN:VEVENT
ORGANIZER;CN=My Colleague:MAILTO:My.Colleague@xxxx.net
ATTENDEE;ROLE=REQ-PARTICIPANT;PARTSTAT=NEEDS-ACTION;RSVP=TRUE;CN=Paul Rolla
 nd:MAILTO:rol@xxxx.net
DESCRIPTION;LANGUAGE=en-US:\n
UID:040000008200E00074C5B7101A82E00800000000A0D0F5287543D401000000000000000
 010000000D29004CD1B9C5F4A97702C6FF336B1A5
SUMMARY;LANGUAGE=en-US:Points projets EU
DTSTART;TZID=Romance Standard Time:20180903T140000
DTEND;TZID=Romance Standard Time:20180903T153000
CLASS:PUBLIC
PRIORITY:5
DTSTAMP:20180903T085943Z
TRANSP:OPAQUE
STATUS:CONFIRMED
SEQUENCE:0
LOCATION;LANGUAGE=en-US:JP office
X-MICROSOFT-CDO-APPT-SEQUENCE:0
X-MICROSOFT-CDO-OWNERAPPTID:-1100769310
X-MICROSOFT-CDO-BUSYSTATUS:TENTATIVE
X-MICROSOFT-CDO-INTENDEDSTATUS:BUSY
X-MICROSOFT-CDO-ALLDAYEVENT:FALSE
X-MICROSOFT-CDO-IMPORTANCE:1
X-MICROSOFT-CDO-INSTTYPE:0
X-MICROSOFT-DONOTFORWARDMEETING:FALSE
X-MICROSOFT-DISALLOW-COUNTER:FALSE
BEGIN:VALARM
DESCRIPTION:REMINDER
TRIGGER;RELATED=START:-PT15M
ACTION:DISPLAY
END:VALARM
END:VEVENT
END:VCALENDAR
Comment 1 wwp 2018-09-03 11:49:10 CEST
I saved your sample to a test.vcal file and could subscribe to it w/o issue (libical 2.0.0 here too).
Could you try saving to a local file and subscribe to it ? (file:///tmp/test.vcal for instance)
Comment 2 Paul Rolland 2018-09-03 12:01:41 CEST
Can you explain how to do the subscription to a local file using Claws ?
Comment 3 wwp 2018-09-03 12:15:26 CEST
Create a text file named /tmp/test.vcal, containing the VCALENDAR data (from BEGIN:VCALENDAR to END:VCALENDAR). Once the file is created, right-click the vCalendar node in CM, "Subscribe to Webcal..." and type this Webcal URL: file:///tmp/test.vcal .
Comment 4 Paul Rolland 2018-09-03 12:34:32 CEST
OK,did that. I now have a new item in my "vCalendar" item named: rol.vcal (the name of the file I subscribed to).
Now, if I click on that item, Claws goes Segfault :(

mh.c:236:MH scan not required: /home2/rol/Mail/Dossiers personnels/Claws (1535970488 <= 1535970488)
folder.c:2761:Save cache for folder #mh/Mailbox/Dossiers personnels/Claws
msgcache.c:1189:        Writing message cache to (null) and (null)...
msgcache.c:1270:done.
msgcache.c:1271:TIMING msgcache_write : 0s000ms
mh.c:1474:MH: forced mtime of Claws to 1535970488
folder.c:1239:Counting total number of messages...
main.c:908:The name com.google.code.Awn was not provided by any .service files
mh.c:236:MH scan not required: /home2/rol/Mail/Dossiers personnels/Claws (1535970488 <= 1535970488)
msgcache.c:277:TIMING msgcache_get_msg_list : 0s000ms
mh.c:1409:wrote unseen sequence: 'unseen: 45-101 117-122 124-127 129-216'
mh.c:1442:TIMING mh_write_sequences : 0s000ms
mh.c:1474:MH: forced mtime of Claws to 1535970625
folderview.c:2309:Folder .rol.vcal is selected
folderview.c:2325:Opening folder .rol.vcal...
folder.c:2179:Scanning folder .rol.vcal for cache changes.
vcal_folder.c:849: num for file:///tmp/rol.vcal
vcal_folder.c:501:fetching
[New Thread 0x7fffd338d700 (LWP 27853)]
[Thread 0x7fffd338d700 (LWP 27853) exited]
vcal_folder.c:2184:Converting DTSTART to UTC.
vcal_folder.c:2200:Converting DTEND to UTC.
vcal_folder.c:573:add 1 : 040000008200E00074C5B7101A82E00800000000A0D0F5287543D401000000000000000010000000D29004CD1B9C5F4A97702C6FF336B1A5
vcal_folder.c:679:return 3
folder.c:2265:Remembered message 1 for fetching
folder.c:2265:Remembered message 2 for fetching
vcal_folder.c:926:get_msginfo
vcal_folder.c:1010: fetch for file:///tmp/rol.vcal 2
codeconv.c:1520:current locale: en_US.UTF-8
vcal_folder.c:1000:feed item dump to /home2/rol/.claws-mail/tmp/evt-1000-today-events@vcal
vcal_folder.c:909:parse_msg
procheader.c:155:generic_get_one_field: empty line
vcal_folder.c:945:  adding 2
vcal_folder.c:950:  got msginfo 0xf03e80
vcal_folder.c:926:get_msginfo
vcal_folder.c:1010: fetch for file:///tmp/rol.vcal 1

Program received signal SIGSEGV, Segmentation fault.

but I think I understand now why:
(gdb) where
#0  0x00007ffff2511c8a in strlen () at /lib64/libc.so.6
#1  0x00007ffff25119ae in strdup () at /lib64/libc.so.6
#2  0x00007fffd52f3d79 in icalvalue_as_ical_string_r () at /lib64/libical.so.1
#3  0x00007fffd52e874b in icalproperty_as_ical_string_r ()
    at /lib64/libical.so.1
....

and it seems that this is using libical.so.1 instead of libical.so.2 :(

Back to my compilation to understand and fix... 
really sorry for the noise !!!