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 677266 - Memory leaks when synchronizing for offline
Memory leaks when synchronizing for offline
Status: RESOLVED FIXED
Product: evolution-mapi
Classification: Applications
Component: Mail
3.4.x
Other Linux
: Normal critical
: ---
Assigned To: evolution-mapi-maint
evolution-mapi-maint
Depends on:
Blocks:
 
 
Reported: 2012-06-01 12:27 UTC by Milan Crha
Modified: 2012-06-06 09:13 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
ema patch (8.98 KB, patch)
2012-06-06 09:06 UTC, Milan Crha
committed Details | Review

Description Milan Crha 2012-06-01 12:27:27 UTC
Moving this from a downstream bug report:
https://bugzilla.redhat.com/show_bug.cgi?id=827086

[abrt] evolution-3.4.1-2.fc17: get_additional_properties_cb: Process /usr/bin/evolution was killed by signal 11 (SIGSEGV)

libreport version: 2.0.10
abrt_version:   2.0.10
backtrace_rating: 4
cmdline:        evolution
crash_function: get_additional_properties_cb
executable:     /usr/bin/evolution
kernel:         3.3.7-1.fc17.i686
time:           Thu 31 May 2012 03:18:52 PM BST

comment:
:I used evolution-mapy connector to connect to our corporate MS Exchange 2010 server for the first time after installing Fedora 17 (from Desktop liveCD inside virtualbox guest on Windows 7 32bit host) and it leaked RAM and after about 20 or so minuted it crashed.
:
:Steps I did since booting off the liveCD:
:- install system (ext2 /boot, ext4 /, extra SWAP disk with fixed (not dynamic) size VDK image)
:- yum upgrade
:- install kernel-devel/headers, gcc etc. and dependencies, needed for virtualbox libraries
:- reboot, install virtualbox libraries (provided by the virtualbox hypervisor)
:- reboot, install evolution-mapy, evolution-owa, evolution-exchange (and dependencies)
:- start Evolution, use MAPI connector, clicked to automatically keep local copy of all e-mails; connected to server and started syncing
:- after about 10-15 secs Evolution started leaking RAM badly and made system mostly unresponsive (but still working, no full freeze or crash, didn't have influence on the host WIndows sytem)
:- after another about 20 minutes evolution crashed (I dind't check logs yet but I am sure they are attached in this report)
:
:I gave the system 512MiB RAM and 2GiB swap. at one moment I could see in TOP that Evolution had 309MiB allocated in RES and 2.8GiB in VIRT... But I can't tell which part of Evolution was source of the awful leak.

Core was generated by `evolution'.
Program terminated with signal 11, Segmentation fault.

Thread 1 (Thread 0xb4affb40 (LWP 2266))

  • #0 get_additional_properties_cb
    at e-mapi-connection.c line 2078
  • #1 process_parsed_object
    at e-mapi-fast-transfer.c line 99
  • #2 e_mapi_fast_transfer_internal
    at e-mapi-fast-transfer.c line 428
  • #3 e_mapi_fast_transfer_properties
    at e-mapi-fast-transfer.c line 533
  • #4 ensure_additional_properties_cb
    at e-mapi-connection.c line 2261
  • #5 process_parsed_object
    at e-mapi-fast-transfer.c line 99
  • #6 parse_marker_cb
    at e-mapi-fast-transfer.c line 142
  • #7 fxparser_parse
    at libmapi/fxparser.c line 615
  • #8 e_mapi_fast_transfer_internal
    at e-mapi-fast-transfer.c line 416
  • #9 e_mapi_fast_transfer_objects
    at e-mapi-fast-transfer.c line 457
  • #10 e_mapi_connection_transfer_objects
    at e-mapi-connection.c line 2836
  • #11 camel_mapi_folder_fetch_summary
    at camel-mapi-folder.c line 829
  • #12 mapi_refresh_folder
    at camel-mapi-folder.c line 939
  • #13 mapi_folder_refresh_info_sync
    at camel-mapi-folder.c line 1559
  • #14 camel_folder_refresh_info_sync
    at camel-folder.c line 3927
  • #15 refresh_folder_exec
    at mail-ops.c line 1310
  • #16 mail_msg_proxy
    at mail-mt.c line 423
  • #17 g_thread_pool_thread_proxy
    at gthreadpool.c line 309
  • #18 g_thread_proxy
    at gthread.c line 801
  • #19 start_thread
    at pthread_create.c line 309
  • #20 clone
    at ../sysdeps/unix/sysv/linux/i386/clone.S line 133

Comment 1 Milan Crha 2012-06-05 13:57:07 UTC
I cannot reproduce the crash myself, but I suppose, when it gets out of memory, that the leaking caused the crash.
Comment 2 Milan Crha 2012-06-06 09:06:15 UTC
Created attachment 215722 [details] [review]
ema patch

for evolution-mapi;

This patch cuts down memory leaks in ema significantly. I'm checking with downstream reporter whether it'll help with the crash too.
Comment 3 Milan Crha 2012-06-06 09:13:43 UTC
Created commit 60f5ffb in ema master (3.5.3+)
Created commit 1f8dcc5 in ema gnome-3-4 (3.4.3+)