After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 675283 - Fails to parse recurring blob
Fails to parse recurring blob
Status: RESOLVED FIXED
Product: evolution-mapi
Classification: Applications
Component: Calendar
3.4.x
Other Linux
: Normal critical
: ---
Assigned To: evolution-mapi-maint
evolution-mapi-maint
Depends on:
Blocks:
 
 
Reported: 2012-05-02 09:06 UTC by Milan Crha
Modified: 2012-05-03 08:37 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
ema patch (867 bytes, patch)
2012-05-02 14:55 UTC, Milan Crha
committed Details | Review

Description Milan Crha 2012-05-02 09:06:06 UTC
Moving this from a downstream bug report:
https://bugzilla.redhat.com/show_bug.cgi?id=817242

[abrt] evolution-data-server-3.4.1-2.fc17: g_malloc: Process /usr/libexec/evolution-calendar-factory was killed by signal 5 (SIGTRAP)

libreport version: 2.0.10
abrt_version:   2.0.10
backtrace_rating: 4
cmdline:        /usr/libexec/evolution-calendar-factory
comment:        Connecting to an exchange server using EWS and mapi.
core_backtrace: 
crash_function: g_malloc
executable:     /usr/libexec/evolution-calendar-factory
kernel:         3.3.2-8.fc17.i686.PAE
time:           Sat 28 Apr 2012 09:56:04 BST

Thread 1 (Thread 0xb5e96b40 (LWP 7358))

  • #0 g_logv
    at gmessages.c line 765
  • #1 g_log
    at gmessages.c line 792
  • #2 g_malloc
    at gmem.c line 164
  • #3 gba_to_arp
    at e-mapi-cal-recur-utils.c line 484
  • #4 e_mapi_cal_util_bin_to_rrule
    at e-mapi-cal-recur-utils.c line 725

Comment 1 Milan Crha 2012-05-02 09:18:54 UTC
I just received two blobs which evo-mapi fails to parse, but they do not break on memory allocation, but with:
> libexchangemapi-CRITICAL **: gba_to_arp: assertion `(*off >= 0 &&
> gba->len - *off >= arp->ReservedBlock1Size)' failed

The first:
    04 30 04 30 0B 20 01 00   00 00 C0 21 00 00 01 00   .0.0.... ...!....
    00 00 00 00 00 00 08 00   00 00 23 20 00 00 0A 00   ........ ..#.....
    00 00 00 00 00 00 02 00   00 00 40 EE E2 0C 20 B3   ........ ..@.....
    E3 0C 02 00 00 00 40 EE   E2 0C 20 B3 E3 0C 80 9F   ......@. ........
    E2 0C DF 80 E9 5A 06 30   00 00 09 30 00 00 0C 03   .....Z.0 ...0....
    00 00 48 03 00 00 02 00   4C F1 E2 0C 88 F1 E2 0C   ..H..... L.......
    4C F1 E2 0C 08 00 00 00   00 00 2C B6 E3 0C 68 B6   L....... ..,...h.
    E3 0C 2C B6 E3 0C BA 02   00 00 00 00 00 00 00 00   ..,..... ........
    18 00 17 00 61 61 61 61   20 31 31 20 28 54 4C 29   ....aaaa .11.(TL)
    2C 20 61 61 61 61 20 43   33 30 33 02 00 00 00 00   ,.aaaa.C 303.....
    00 00 00 00 00 00 00 04   00 00 00 00 00 00 00 00   ........ ........
    00 00 00 04 00 00 00 00   00 00 00 00 00 00 00 2C   ........ .......,
    B6 E3 0C 68 B6 E3 0C 2C   B6 E3 0C 17 00 61 00 61   ...h..., .....a.a
    00 61 00 61 00 20 00 31   00 31 00 20 00 28 00 54   .a.a...1 .1...(.T
    00 4C 00 29 00 2C 00 20   00 61 00 61 00 61 00 61   .L.).,.. .a.a.a.a
    00 20 00 43 00 33 00 30   00 33 00 00 00 00 00 00   ...C.3.0 .3......
    00 00 00                                            ...

The second:
    04 30 04 30 0B 20 01 00   00 00 C0 21 00 00 01 00   .0.0.... ...!....
    00 00 00 00 00 00 36 00   00 00 23 20 00 00 0A 00   ......6. ..#.....
    00 00 00 00 00 00 04 00   00 00 60 91 E3 0C 00 97   ........ ..`.....
    E3 0C A0 AA E4 0C 80 BB   E4 0C 04 00 00 00 60 91   ........ ......`.
    E3 0C 00 97 E3 0C A0 AA   E4 0C 80 BB E4 0C 40 1B   ........ ......@.
    E3 0C DF 80 E9 5A 06 30   00 00 09 30 00 00 57 03   .....Z.0 ...0..W.
    00 00 61 03 00 00 04 00   B7 94 E3 0C C1 94 E3 0C   ..a..... ........
    B7 94 E3 0C 91 00 0C 00   0B 00 61 61 61 61 61 20   ........ ..aaaaa.
    61 61 61 61 61 13 00 12   00 61 61 61 20 61 61 61   aaaaa... .aaa.aaa
    61 61 61 61 20 23 31 34   3A 31 35 00 00 00 00 57   aaaa.#14 :15....W
    9A E3 0C 61 9A E3 0C 57   9A E3 0C 91 00 0C 00 0B   ...a...W ........
    00 61 61 61 61 61 20 61   61 61 61 61 13 00 12 00   .aaaaa.a aaaa....
    61 61 61 20 61 61 61 61   61 61 61 20 23 31 34 3A   aaa.aaa aaa.#14:
    31 35 00 00 00 00 F7 AD   E4 0C 01 AE E4 0C F7 AD   15...... ........
    E4 0C BA 02 00 00 00 00   00 00 00 00 13 00 12 00   ........ ........
    61 61 61 20 61 61 61 61   61 61 61 20 23 31 34 3A   aaa.aaaa aaa.#14:
    31 35 02 00 00 00 00 00   00 00 D7 BE E4 0C E1 BE   15...... ........
    E4 0C D7 BE E4 0C 28 00   00 00 00 00 02 00 00 00   ......(. ........
    00 00 00 00 04 00 00 00   00 00 00 00 00 00 00 00   ........ ........
    B7 94 E3 0C C1 94 E3 0C   B7 94 E3 0C 0B 00 61 00   ........ ......a.
    61 00 61 00 61 00 61 00   20 00 61 00 61 00 61 00   a.a.a.a. ..a.a.a.
    61 00 61 00 12 00 61 00   61 00 61 00 20 00 61 00   a.a...a. a.a...a.
    61 00 61 00 61 00 61 00   61 00 61 00 20 00 23 00   a.a.a.a. a.a...#.
    31 00 34 00 3A 00 31 00   35 00 00 00 00 00 04 00   1.4.:.1. 5.......
    00 00 00 00 00 00 00 00   00 00 57 9A E3 0C 61 9A   ........ ..W...a.
    E3 0C 57 9A E3 0C 0B 00   61 00 61 00 61 00 61 00   ..W..... a.a.a.a.
    61 00 20 00 61 00 61 00   61 00 61 00 61 00 12 00   a...a.a. a.a.a...
    61 00 61 00 61 00 20 00   61 00 61 00 61 00 61 00   a.a.a... a.a.a.a.
    61 00 61 00 61 00 20 00   23 00 31 00 34 00 3A 00   a.a.a... #.1.4.:.
    31 00 35 00 00 00 00 00   04 00 00 00 00 00 00 00   1.5..... ........
    00 00 00 00 F7 AD E4 0C   01 AE E4 0C F7 AD E4 0C   ........ ........
    12 00 61 00 61 00 61 00   20 00 61 00 61 00 61 00   ..a.a.a. ..a.a.a.
    61 00 61 00 61 00 61 00   20 00 23 00 31 00 34 00   a.a.a.a. ..#.1.4.
    3A 00 31 00 35 00 00 00   00 00 04 00 00 00 00 00   :.1.5... ........
    00 00 00 00 00 00 00 00   00 00                     ........ ..
Comment 2 Milan Crha 2012-05-02 14:55:56 UTC
Created attachment 213297 [details] [review]
ema patch

for evolution-mapi;

The blobs led me to a mistake in recurrence blob parsing, with ARO_REMINDER.

I'm committing this, but here is a Fedora 17 test build with the patch included:
   http://koji.fedoraproject.org/koji/taskinfo?taskID=4044955
just for an early testing. Please let me know if it will not help you. Thanks in advance.
Comment 3 Milan Crha 2012-05-02 15:00:46 UTC
I forgot to mention, there is required to reload event from the server, thus they will be regenerated and their recurrence blobs will be re-parsed. The local cache for mapi calendars is stored at
   ~/.cache/evolution/calendar/mapi___*
and removing these folders while evolution-calendar-factory is not running will let the MAPI calendars start from scratch.
Comment 4 Milan Crha 2012-05-02 15:01:21 UTC
Created commit 02fd6d0 in ema master (3.5.2+)
Created commit febe8e2 in ema gnome-3-4 (3.4.2+)
Comment 5 Marko Myllynen 2012-05-03 08:37:42 UTC
(In reply to comment #2)
> I'm committing this, but here is a Fedora 17 test build with the patch
> included:
>    http://koji.fedoraproject.org/koji/taskinfo?taskID=4044955
> just for an early testing. Please let me know if it will not help you. Thanks
> in advance.

Thanks, I'm happy to confirm that this build fixed the issue for me.