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 629836 - Crash on an event fetching
Crash on an event fetching
Status: RESOLVED FIXED
Product: evolution-mapi
Classification: Applications
Component: Calendar
0.31.x
Other Linux
: Normal critical
: ---
Assigned To: evolution-mapi-maint
evolution-mapi-maint
: 641032 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2010-09-16 10:47 UTC by Milan Crha
Modified: 2011-02-07 11:23 UTC
See Also:
GNOME target: ---
GNOME version: 2.29/2.30


Attachments
ema patch (2.65 KB, patch)
2010-09-16 11:01 UTC, Milan Crha
committed Details | Review

Description Milan Crha 2010-09-16 10:47:37 UTC
I have an event with attachment on an exchange 2003 server, which is crashing e-calendar-factory with a message as described in openchange tracker [1]. Even it is fixed in openchange it would be better to workaround the issue for older openchange-s too, thus this bug report.

[1] http://tracker.openchange.org/issues/298

The backtrace is:

[Thread 0xb3bfcb70 (LWP 17389) exited]
unhandled conversion case in cast_SPropValue(): 0x1048
e-calendar-factory: libmapi/property.c:732: cast_SPropValue: Assertion `0' failed.

Program received signal SIGABRT, Aborted.

(gdb) bt
  • #0 __kernel_vsyscall
  • #1 raise
    at ../nptl/sysdeps/unix/sysv/linux/raise.c line 64
  • #2 abort
    at abort.c line 92
  • #3 __assert_fail
    at assert.c line 81
  • #4 cast_SPropValue
    at libmapi/property.c line 732
  • #5 exchange_mapi_util_get_attachments
    at exchange-mapi-connection.c line 1001
  • #6 exchange_mapi_connection_fetch_items
    at exchange-mapi-connection.c line 1647
  • #7 get_deltas
    at e-cal-backend-mapi.c line 779
  • #8 delta_thread
    at e-cal-backend-mapi.c line 1107
  • #9 g_thread_create_proxy
    at gthread.c line 1897
  • #10 start_thread
    at pthread_create.c line 301
  • #11 clone
    at ../sysdeps/unix/sysv/linux/i386/clone.S line 133
  • #5 exchange_mapi_util_get_attachments
    at exchange-mapi-connection.c line 1001
996	
997			attachment = g_new0 (ExchangeMAPIAttachment, 1);
998			attachment->cValues = properties.cValues;
999			attachment->lpProps = g_new0 (struct SPropValue, attachment->cValues + 1);
1000			for (z=0; z < properties.cValues; z++) {
1001				cast_SPropValue (
1002					#ifdef HAVE_MEMCTX_ON_CAST_SPROPVALUE
1003					mem_ctx,
1004					#endif
1005					&properties.lpProps[z], &(attachment->lpProps[z]));
(gdb) p *properties.lpProps[z]
Structure has no component named operator*.
(gdb) p properties.lpProps[z]
$1 = {ulPropTag = 241045576, value = {i = 1, l = 1, dbl = -3.1524887813182776e-50, err = 1, b = 1 '\001', d = -5357147239837859839, 
    lpszA = 0x1 <Address 0x1 out of bounds>, lpszW = 0x1 <Address 0x1 out of bounds>, ft = {dwLowDateTime = 1, dwHighDateTime = 3047659256}, lpguid = {
      time_low = 1, time_mid = 38648, time_hi_and_version = 46503, clock_seq = "\000", node = "\000\000\000\000\000"}, Restrictions = {
      wrap = "\001\000\000\000\370\226\247\265", '\000' <repeats 32759 times>}, RuleAction = {count = 1, ActionBlock = 0xb5a796f8}, bin = {cb = 1, 
      lpb = 0xb5a796f8 "\270\335҅%b\322\021\275", <incomplete sequence \361>}, MVl = {cValues = 1, lpl = 0xb5a796f8}, MVszA = {cValues = 1, 
      strings = 0xb5a796f8}, MVszW = {cValues = 1, strings = 0xb5a796f8}, MVguid = {cValues = 1, lpguid = 0xb5a796f8}, MVbin = {cValues = 1, 
      bin = 0xb5a796f8}}}
(gdb) printf "%x", properties.lpProps[z].ulPropTag
e5e1048
Comment 1 Milan Crha 2010-09-16 11:01:43 UTC
Created attachment 170406 [details] [review]
ema patch

for evolution-mapi;

This is skipping most of those "strange" properties when fetching attachment properties.
Comment 2 Milan Crha 2010-09-29 10:19:51 UTC
Created commit 7de2ac9 in ema master (0.33.1+)
Created commit 33989be in ema gnome-2-32 (0.32.1+)
Comment 3 Milan Crha 2011-02-07 11:23:19 UTC
*** Bug 641032 has been marked as a duplicate of this bug. ***