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 (GTK 2)
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 UTC by Paul Rolland
Modified: 2018-09-03 12:34 UTC (History)
0 users

See Also:


Attachments

Description Paul Rolland 2018-09-03 11:23:55 UTC
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 UTC
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 UTC
Can you explain how to do the subscription to a local file using Claws ?
Comment 3 wwp 2018-09-03 12:15:26 UTC
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 UTC
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 !!!

Note You need to log in before you can comment on or make changes to this bug.