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 264403 - evolution-exchange-storange hangs evolution and has huge memory leak
evolution-exchange-storange hangs evolution and has huge memory leak
Status: VERIFIED FIXED
Product: Evolution Exchange
Classification: Deprecated
Component: Connector
2.0.3
Other other
: Normal blocker
: 2.0.4
Assigned To: Connector Maintainer
Ximian Connector QA
Depends on:
Blocks: 270414
 
 
Reported: 2004-08-27 18:11 UTC by Raul Acevedo
Modified: 2005-03-08 17:54 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Screen shot of evolution-exhange-storage consuming large amounts of memory (102.13 KB, image/png)
2004-10-08 21:49 UTC, Bryan Christ
Details
Repeating Appt that causes large memory problem and large cache (124.92 KB, application/octet-stream)
2004-10-22 22:00 UTC, Jon Hammond
Details

Description Raul Acevedo 2004-08-27 18:11:07 UTC
Please fill in this template when reporting a bug, unless you know what you
are doing.
Description of Problem:
I get a meeting request, and I click on the message.  Evolution freezes,
and my whole system slows down.  When I look at top, sorted by memory,
evolution-exchange-storage is in a loop consuming more and more memory.

This hasn't happened on every meeting request... but on this one message,
it happens every time.  I had to accept it by going to Outlook.  (On
Codeweavers Crossover of course.  :)

Steps to reproduce the problem:
1. Get a meeting request.
2. Click on the message.
3. Watch exchange-storage spin out of control.

Additional Information:
Evolution/connector 1.5.93, built from GARNOME 2.6.2.1 tarball, talking to
Exchange via SSL (gnutls-1.0.13, libgcrypt-1.2.0,
evo-ldap-2.0.27-1.ximian.8.1).
Comment 1 Sarfraaz Ahmed 2004-08-31 08:56:47 UTC
I am lowering the priority of this bug as this happens only with one
particular appointment.

Is it possible for you to send that appointment to my email-id
<asarfraaz@novell.com> ? I would need that to reproduce this bug.
Also, on your machine, when you get a hang, please attach gdb to the
evolution-exchange process [ using gdb -p <evolution-exchange pid> ]
and do a "thread apply all bt". Please attach the output of that to
this bug report.
Comment 2 Raul Acevedo 2004-09-07 07:46:49 UTC
Ok, after playing around some more with evolution/exchange, I have
seen this happen on other occasions that have nothing to do with
accepting a meeting.  In fact, connector is unusuble to me when it
comes to the Calendar component because it triggers this bug (memory
hog look that freezes my machine until I can kill the process).

Right now I can reproduce it by just clicking on the Calendar and
selecting the exchange account calendar.  What can I do to help you
debug this?
Comment 3 Raul Acevedo 2004-09-07 07:54:09 UTC
Right now I can reproduce it 100% of the time.  I have my exchange
calendar be the default view when I start evolution, and if I do:

# killall evolution-data-server-1.0 evolution-alarm-notify
evolution-1.5 evolution-exchange-storage
# evolution-1.5 &

It will happen just by starting up evolution, before I even do anything.
Comment 4 Raul Acevedo 2004-09-07 08:07:16 UTC
Oops, forgot you already told me what I could do to help.  I thought
it might be useful to see the output, three times a few seconds apart,
Here is the gdb output for the first thread dump, about 5-10 seconds
after starting evolution, with top showing evolution-exchange-storage
already climbing in memory to 600m virtual/540m resident/21m shared
memory:

(gdb) thread apply all bt
 

Thread 4 (Thread 126716848 (LWP 4182))

  • #0 _dl_sysinfo_int80
    from /lib/ld-linux.so.2
  • #1 poll
    from /lib/tls/libc.so.6
  • #2 g_main_context_poll
    from /home/garnome/2.6.2.1/lib/libglib-2.0.so.0
  • #3 g_main_context_iterate
    from /home/garnome/2.6.2.1/lib/libglib-2.0.so.0
  • #4 g_main_loop_run
    from /home/garnome/2.6.2.1/lib/libglib-2.0.so.0
  • #5 link_io_thread_fn
    from /home/garnome/2.6.2.1/lib/libORBit-2.so.0
  • #6 g_thread_create_proxy
    from /home/garnome/2.6.2.1/lib/libglib-2.0.so.0
  • #7 start_thread
    from /lib/tls/libpthread.so.0
  • #8 clone
    from /lib/tls/libc.so.6

Thread 3 (Thread 31624112 (LWP 4185))

  • #0 icalcomponent_kind_is_valid
    from /home/garnome/2.6.2.1/lib/libecal.so.6
  • #1 icalcomponent_new_impl
    from /home/garnome/2.6.2.1/lib/libecal.so.6
  • #2 icalcomponent_new_clone
    from /home/garnome/2.6.2.1/lib/libecal.so.6
  • #3 icalcomponent_new_clone
    from /home/garnome/2.6.2.1/lib/libecal.so.6
  • #4 e_cal_backend_exchange_add_object
  • #5 load_cache
  • #6 open_calendar
  • #7 open_calendar
  • #8 e_cal_backend_sync_open
    from /home/garnome/2.6.2.1/lib/libedata-cal.so.5
  • #9 _e_cal_backend_open
    from /home/garnome/2.6.2.1/lib/libedata-cal.so.5
  • #10 e_cal_backend_open
    from /home/garnome/2.6.2.1/lib/libedata-cal.so.5
  • #11 impl_Cal_open
    from /home/garnome/2.6.2.1/lib/libedata-cal.so.5
  • #12 _ORBIT_skel_small_GNOME_Evolution_Calendar_Cal_open
    from /home/garnome/2.6.2.1/lib/libedata-cal.so.5
  • #13 ORBit_POAObject_invoke
    from /home/garnome/2.6.2.1/lib/libORBit-2.so.0
  • #14 ORBit_OAObject_invoke
    from /home/garnome/2.6.2.1/lib/libORBit-2.so.0
  • #15 ORBit_small_invoke_adaptor
    from /home/garnome/2.6.2.1/lib/libORBit-2.so.0
  • #16 ORBit_POAObject_handle_request
    from /home/garnome/2.6.2.1/lib/libORBit-2.so.0
  • #17 ORBit_POAObject_invoke_incoming_request
    from /home/garnome/2.6.2.1/lib/libORBit-2.so.0
  • #18 giop_thread_queue_process
    from /home/garnome/2.6.2.1/lib/libORBit-2.so.0
  • #19 giop_request_handler_thread
    from /home/garnome/2.6.2.1/lib/libORBit-2.so.0
  • #20 g_thread_pool_thread_proxy
    from /home/garnome/2.6.2.1/lib/libglib-2.0.so.0
  • #21 g_thread_create_proxy
    from /home/garnome/2.6.2.1/lib/libglib-2.0.so.0
  • #22 start_thread
    from /lib/tls/libpthread.so.0
  • #23 clone
    from /lib/tls/libc.so.6

Thread 2 (Thread 42113968 (LWP 4199))

  • #0 _dl_sysinfo_int80
    from /lib/ld-linux.so.2
  • #1 __lll_mutex_lock_wait
    from /lib/tls/libpthread.so.0
  • #2 _L_mutex_lock_29
    from /lib/tls/libpthread.so.0
  • #3 ??
  • #6 ??
  • #7 xmlMalloc
  • #8 ??
  • #9 e_cal_backend_sync_open
    from /home/garnome/2.6.2.1/lib/libedata-cal.so.5
  • #0 _dl_sysinfo_int80
    from /lib/ld-linux.so.2

Comment 5 Raul Acevedo 2004-09-07 08:08:36 UTC
5 seconds later:

Thread 4 (Thread 126716848 (LWP 4182))

  • #0 _dl_sysinfo_int80
    from /lib/ld-linux.so.2
  • #1 poll
    from /lib/tls/libc.so.6
  • #2 g_main_context_poll
    from /home/garnome/2.6.2.1/lib/libglib-2.0.so.0
  • #3 g_main_context_iterate
    from /home/garnome/2.6.2.1/lib/libglib-2.0.so.0
  • #4 g_main_loop_run
    from /home/garnome/2.6.2.1/lib/libglib-2.0.so.0
  • #5 link_io_thread_fn
    from /home/garnome/2.6.2.1/lib/libORBit-2.so.0
  • #6 g_thread_create_proxy
    from /home/garnome/2.6.2.1/lib/libglib-2.0.so.0
  • #7 start_thread
    from /lib/tls/libpthread.so.0
  • #8 clone
    from /lib/tls/libc.so.6

Thread 2 (Thread 42113968 (LWP 4199))

  • #0 icalvalue_set_text
    from /home/garnome/2.6.2.1/lib/libecal.so.6
  • #1 icalvalue_new_text
    from /home/garnome/2.6.2.1/lib/libecal.so.6
  • #2 icalvalue_new_from_string_with_error
    from /home/garnome/2.6.2.1/lib/libecal.so.6
  • #3 icalvalue_new_from_string
    from /home/garnome/2.6.2.1/lib/libecal.so.6
  • #4 icalparser_add_line
    from /home/garnome/2.6.2.1/lib/libecal.so.6
  • #5 icalparser_parse
    from /home/garnome/2.6.2.1/lib/libecal.so.6
  • #6 e_cal_util_parse_ics_file
    from /home/garnome/2.6.2.1/lib/libecal.so.6
  • #7 load_cache
  • #8 open_calendar
  • #9 open_calendar
  • #10 e_cal_backend_sync_open
    from /home/garnome/2.6.2.1/lib/libedata-cal.so.5
  • #11 _e_cal_backend_open
    from /home/garnome/2.6.2.1/lib/libedata-cal.so.5
  • #12 e_cal_backend_open
    from /home/garnome/2.6.2.1/lib/libedata-cal.so.5
  • #13 impl_Cal_open
    from /home/garnome/2.6.2.1/lib/libedata-cal.so.5
  • #14 _ORBIT_skel_small_GNOME_Evolution_Calendar_Cal_open
    from /home/garnome/2.6.2.1/lib/libedata-cal.so.5
  • #15 ORBit_POAObject_invoke
    from /home/garnome/2.6.2.1/lib/libORBit-2.so.0
  • #16 ORBit_OAObject_invoke
    from /home/garnome/2.6.2.1/lib/libORBit-2.so.0
  • #17 ORBit_small_invoke_adaptor
    from /home/garnome/2.6.2.1/lib/libORBit-2.so.0
  • #18 ORBit_POAObject_handle_request
    from /home/garnome/2.6.2.1/lib/libORBit-2.so.0
  • #19 ORBit_POAObject_invoke_incoming_request
    from /home/garnome/2.6.2.1/lib/libORBit-2.so.0
  • #20 giop_thread_queue_process
    from /home/garnome/2.6.2.1/lib/libORBit-2.so.0
  • #21 giop_request_handler_thread
    from /home/garnome/2.6.2.1/lib/libORBit-2.so.0
  • #22 g_thread_pool_thread_proxy
    from /home/garnome/2.6.2.1/lib/libglib-2.0.so.0
  • #23 g_thread_create_proxy
    from /home/garnome/2.6.2.1/lib/libglib-2.0.so.0
  • #24 start_thread
    from /lib/tls/libpthread.so.0
  • #25 clone
    from /lib/tls/libc.so.6

Thread 1 (Thread -151166848 (LWP 4180))

  • #0 _dl_sysinfo_int80
    from /lib/ld-linux.so.2
  • #1 poll
    from /lib/tls/libc.so.6
  • #2 g_main_context_poll
    from /home/garnome/2.6.2.1/lib/libglib-2.0.so.0
  • #3 g_main_context_iterate
    from /home/garnome/2.6.2.1/lib/libglib-2.0.so.0
  • #4 g_main_loop_run
    from /home/garnome/2.6.2.1/lib/libglib-2.0.so.0
  • #5 bonobo_main
    from /home/garnome/2.6.2.1/lib/libbonobo-2.so.0
  • #6 main

Comment 6 Raul Acevedo 2004-09-07 08:15:23 UTC
Another 5 seconds later:

Thread 4 (Thread 126716848 (LWP 4182))

  • #0 _dl_sysinfo_int80
    from /lib/ld-linux.so.2
  • #1 poll
    from /lib/tls/libc.so.6
  • #2 g_main_context_poll
    from /home/garnome/2.6.2.1/lib/libglib-2.0.so.0
  • #3 g_main_context_iterate
    from /home/garnome/2.6.2.1/lib/libglib-2.0.so.0
  • #4 g_main_loop_run
    from /home/garnome/2.6.2.1/lib/libglib-2.0.so.0
  • #5 link_io_thread_fn
    from /home/garnome/2.6.2.1/lib/libORBit-2.so.0
  • #6 g_thread_create_proxy
    from /home/garnome/2.6.2.1/lib/libglib-2.0.so.0
  • #7 start_thread
    from /lib/tls/libpthread.so.0
  • #8 clone
    from /lib/tls/libc.so.6

Thread 2 (Thread 42113968 (LWP 4199))

  • #0 icalproperty_isa
    from /home/garnome/2.6.2.1/lib/libecal.so.6
  • #1 icalcomponent_get_first_property
    from /home/garnome/2.6.2.1/lib/libecal.so.6
  • #2 load_cache
  • #3 open_calendar
  • #4 open_calendar
  • #5 e_cal_backend_sync_open
    from /home/garnome/2.6.2.1/lib/libedata-cal.so.5
  • #6 _e_cal_backend_open
    from /home/garnome/2.6.2.1/lib/libedata-cal.so.5
  • #7 e_cal_backend_open
    from /home/garnome/2.6.2.1/lib/libedata-cal.so.5
  • #8 impl_Cal_open
    from /home/garnome/2.6.2.1/lib/libedata-cal.so.5
  • #9 _ORBIT_skel_small_GNOME_Evolution_Calendar_Cal_open
    from /home/garnome/2.6.2.1/lib/libedata-cal.so.5
  • #10 ORBit_POAObject_invoke
    from /home/garnome/2.6.2.1/lib/libORBit-2.so.0
  • #11 ORBit_OAObject_invoke
    from /home/garnome/2.6.2.1/lib/libORBit-2.so.0
  • #12 ORBit_small_invoke_adaptor
    from /home/garnome/2.6.2.1/lib/libORBit-2.so.0
  • #13 ORBit_POAObject_handle_request
    from /home/garnome/2.6.2.1/lib/libORBit-2.so.0
  • #14 ORBit_POAObject_invoke_incoming_request
    from /home/garnome/2.6.2.1/lib/libORBit-2.so.0
  • #15 giop_thread_queue_process
    from /home/garnome/2.6.2.1/lib/libORBit-2.so.0
  • #16 giop_request_handler_thread
    from /home/garnome/2.6.2.1/lib/libORBit-2.so.0
  • #17 g_thread_pool_thread_proxy
    from /home/garnome/2.6.2.1/lib/libglib-2.0.so.0
  • #18 g_thread_create_proxy
    from /home/garnome/2.6.2.1/lib/libglib-2.0.so.0
  • #19 start_thread
    from /lib/tls/libpthread.so.0
  • #20 clone
    from /lib/tls/libc.so.6

Thread 1 (Thread -151166848 (LWP 4180))

  • #0 _int_malloc
    from /lib/tls/libc.so.6
  • #1 malloc
    from /lib/tls/libc.so.6
  • #2 icalmemory_new_buffer
    from /home/garnome/2.6.2.1/lib/libecal.so.6
  • #3 fold_property_line
    from /home/garnome/2.6.2.1/lib/libecal.so.6
  • #4 icalproperty_as_ical_string
    from /home/garnome/2.6.2.1/lib/libecal.so.6
  • #5 icalcomponent_as_ical_string
    from /home/garnome/2.6.2.1/lib/libecal.so.6
  • #6 icalcomponent_as_ical_string
    from /home/garnome/2.6.2.1/lib/libecal.so.6
  • #7 timeout_save_cache
  • #8 g_timeout_dispatch
    from /home/garnome/2.6.2.1/lib/libglib-2.0.so.0
  • #9 g_main_dispatch
    from /home/garnome/2.6.2.1/lib/libglib-2.0.so.0
  • #10 g_main_context_dispatch
    from /home/garnome/2.6.2.1/lib/libglib-2.0.so.0
  • #11 g_main_context_iterate
    from /home/garnome/2.6.2.1/lib/libglib-2.0.so.0
  • #12 g_main_loop_run
    from /home/garnome/2.6.2.1/lib/libglib-2.0.so.0
  • #13 bonobo_main
    from /home/garnome/2.6.2.1/lib/libbonobo-2.so.0
  • #14 main

Comment 7 Raul Acevedo 2004-09-07 08:17:48 UTC
5 more seconds.  At this point my machine starts to freeze up, and top
shows the process at 1057m virt/817m resident/21m shared.

Thread 4 (Thread 126716848 (LWP 4182))

  • #0 _dl_sysinfo_int80
    from /lib/ld-linux.so.2
  • #1 poll
    from /lib/tls/libc.so.6
  • #2 g_main_context_poll
    from /home/garnome/2.6.2.1/lib/libglib-2.0.so.0
  • #3 g_main_context_iterate
    from /home/garnome/2.6.2.1/lib/libglib-2.0.so.0
  • #4 g_main_loop_run
    from /home/garnome/2.6.2.1/lib/libglib-2.0.so.0
  • #5 link_io_thread_fn
    from /home/garnome/2.6.2.1/lib/libORBit-2.so.0
  • #6 g_thread_create_proxy
    from /home/garnome/2.6.2.1/lib/libglib-2.0.so.0
  • #7 start_thread
    from /lib/tls/libpthread.so.0
  • #8 clone
    from /lib/tls/libc.so.6

Thread 2 (Thread 42113968 (LWP 4199))

  • #0 pvl_data
    from /home/garnome/2.6.2.1/lib/libecal.so.6
  • #1 icalcomponent_get_first_property
    from /home/garnome/2.6.2.1/lib/libecal.so.6
  • #2 load_cache
  • #3 open_calendar
  • #4 open_calendar
  • #5 e_cal_backend_sync_open
    from /home/garnome/2.6.2.1/lib/libedata-cal.so.5
  • #6 _e_cal_backend_open
    from /home/garnome/2.6.2.1/lib/libedata-cal.so.5
  • #7 e_cal_backend_open
    from /home/garnome/2.6.2.1/lib/libedata-cal.so.5
  • #8 impl_Cal_open
    from /home/garnome/2.6.2.1/lib/libedata-cal.so.5
  • #9 _ORBIT_skel_small_GNOME_Evolution_Calendar_Cal_open
    from /home/garnome/2.6.2.1/lib/libedata-cal.so.5
  • #10 ORBit_POAObject_invoke
    from /home/garnome/2.6.2.1/lib/libORBit-2.so.0
  • #11 ORBit_OAObject_invoke
    from /home/garnome/2.6.2.1/lib/libORBit-2.so.0
  • #12 ORBit_small_invoke_adaptor
    from /home/garnome/2.6.2.1/lib/libORBit-2.so.0
  • #13 ORBit_POAObject_handle_request
    from /home/garnome/2.6.2.1/lib/libORBit-2.so.0
  • #14 ORBit_POAObject_invoke_incoming_request
    from /home/garnome/2.6.2.1/lib/libORBit-2.so.0
  • #15 giop_thread_queue_process
    from /home/garnome/2.6.2.1/lib/libORBit-2.so.0
  • #16 giop_request_handler_thread
    from /home/garnome/2.6.2.1/lib/libORBit-2.so.0
  • #17 g_thread_pool_thread_proxy
    from /home/garnome/2.6.2.1/lib/libglib-2.0.so.0
  • #18 g_thread_create_proxy
    from /home/garnome/2.6.2.1/lib/libglib-2.0.so.0
  • #19 start_thread
    from /lib/tls/libpthread.so.0
  • #20 clone
    from /lib/tls/libc.so.6

Thread 1 (Thread -151166848 (LWP 4180))

  • #0 pvl_remove
    from /home/garnome/2.6.2.1/lib/libecal.so.6
  • #1 icalcomponent_remove_component
    from /home/garnome/2.6.2.1/lib/libecal.so.6
  • #2 icalcomponent_free
    from /home/garnome/2.6.2.1/lib/libecal.so.6
  • #3 timeout_save_cache
  • #4 g_timeout_dispatch
    from /home/garnome/2.6.2.1/lib/libglib-2.0.so.0
  • #5 g_main_dispatch
    from /home/garnome/2.6.2.1/lib/libglib-2.0.so.0
  • #6 g_main_context_dispatch
    from /home/garnome/2.6.2.1/lib/libglib-2.0.so.0
  • #7 g_main_context_iterate
    from /home/garnome/2.6.2.1/lib/libglib-2.0.so.0
  • #8 g_main_loop_run
    from /home/garnome/2.6.2.1/lib/libglib-2.0.so.0
  • #9 bonobo_main
    from /home/garnome/2.6.2.1/lib/libbonobo-2.so.0
  • #10 main

Comment 8 Raul Acevedo 2004-09-07 08:38:12 UTC
Ok, so it's clearly stuck loading something from some cache.  Poking
around I found this:

(993) ~/.evolution/exchange/racevedo@sfmbx01.ad.hotwirebiz.com: ls -l
personal/subfolders/Calendar/
total 44260
-rw-rw-r--  1 raul raul 45268443 Sep  7 00:59 cache.ics
-rw-rw-r--  1 raul raul      494 Sep  7 00:43 connector-metadata.xml

That doesn't look good.  :)  I removed the file, restarted all
evolution processes, and it's fine.  I will now try to poke around and
reproduce what happened that caused that cache file to get so huge in
the first place.  It probably won't take long...
Comment 9 Sarfraaz Ahmed 2004-09-09 13:37:48 UTC
Please get back with any info you get on why the cache file was so huge.
Comment 10 Raul Acevedo 2004-09-09 18:00:26 UTC
I'm working on it.  It's weird... I've spent many, many hours first
trying to build connector, then trying to make it work, and I was
running into so many problems making it work I thought it would be
hopeless.  But since deleting that cache file, it's running quite
smoothly.  Please keep this open for a bit longer, as given my prior
problems I'm sure I'll be able to reproduce it... 
Comment 11 Raul Acevedo 2004-09-09 22:22:14 UTC
Ok, it happened again.

I went to create a meeting.  I clicked Add to add a meeting
partcipant.  I typed in the first few letters of the person's name in
the "Attendees" list, and clicked Enter.

Evolution hung.  For a long time... but no memory leak on
exchange-storage.  I then went through a series of restarts, hangs,
and crashes/memory leaks of evolution-exchange-storage.   I removed
the cache.ics file, which had grown to 33meg, and even then it took a
series of restarts before it went back to normal. 

Now I can setup the meeting normally, but I can't reproduce it.  My
cache.ics file is 1.5meg... I guess I'll just keep monitoring it and
see when it grows again.

What is this file caching?
Comment 12 Sarfraaz Ahmed 2004-09-10 05:35:18 UTC
The cache is the local copy of the icalendar objects retrieved from
the server. Looks like you have quite a lot of appointments, or
exchange is going on a nasty loop creating something wrong in the
cache. Its a text file, so you can view it in an editor. See the file
when exchange works fine and also when it misbehaves, and see if you
can find out something suspicious. If i can ftp that cache file once
it grows large would also help. 

I am not closing this bug. But, for now, i am moving this to 2.1 [
Also, as you mentioned in your other bug, you were using 1.5.93
version of connector, try using the latest one 1.5.94 ]
Comment 13 Gerardo Marin 2004-10-06 03:49:54 UTC
Reopening so we don't loose track of this one.
Comment 14 Bryan Christ 2004-10-08 21:49:30 UTC
Created attachment 44306 [details]
Screen shot of evolution-exhange-storage consuming large amounts of memory
Comment 15 Bryan Christ 2004-10-08 21:57:06 UTC
I am experience a similar problem after upgrading to Evolution 2.0.1
on Fedora Core 2 using the packages from the yum repository at:

[evolution2]
name=Evolution 2.0 for Fedora Core 2
baseurl=http://petrix.se/evolution2

The packages now installed are:

evolution-2.0.1-0.mozer.2
evolution-connector-debuginfo-1.4.7-5
evolution-data-server-1.0.1-0.mozer.1
evolution-connector-2.0.0-0.mozer.2

The comment above shows this problem in action.

In my case this behavior began after I accepted a meeting request. 
Within a matter of seconds the service began to consume hundreds of MB
or RAM until there was no more resources.  The service eventually
crashes.  However, I cannot open Evolution anymore because as soon as
I do the rampage immediately starts. 
Comment 16 Raul Acevedo 2004-10-08 22:02:50 UTC
Hmmmm.... dunno if it has an impact, but you have 2.0.0 of connector,
not 2.0.1.

How big is your cache.ics file?  Do:

# cd ~/.evolution
# ls -l `find . -name cache.ics`

Also, do something similar to what I did in the bug report: start
evolution like this:

# gdb evolution-2.0
(gdb) run

then once the process starts to consume lots of memory, in gdb stop it
with Ctrl-c, and do "thread apply all bt" to get a stack trace, and
include it in this bug report.

I'm sure the developers will want some other info too. 
Comment 17 Jon Hammond 2004-10-21 00:59:15 UTC
I am also having this problem on FC2.  I am running these versions of 
evolution from fedora:
evolution-2.0.2-1
evolution-connector-2.0.2-1
evolution-data-server-1.0.2-3
evolution-data-server-devel-1.0.2-3
evolution-webcal-1.0.10-1

The first time the memory problem happened I noticed my cache file 
size was 140m.  I deleted it and then it ran for a few days, but then 
I accepted another meeting (that had the same time period) and it 
started eating memory again.  The cache file got to 89meg after I let 
it run until the evolution-exhange-storage stopped using CPU.  The 
evolution-exhange-storage process had 873meg resident with 1461meg 
vitrual.  

After deleting the cache.ics again, it recreated to 176k initially.  
It then grew to 640k over the next 1/2 hour and has stopped for the 
time being.  I did have recurring appointments with no end date 
before this restart - but I deleted them just in case they were the 
problem.

My exchange calendar size was 641k befoer deleting the recurring 
appointments and 571k after(from outlook folder size).

Comment 18 Raul Acevedo 2004-10-21 17:51:49 UTC
This bug stopped happening for a while ago.  I have no idea why it
started or why it stopped.

BTW, where did you get the FC2 packages for evolution?
Comment 19 Jon Hammond 2004-10-22 22:00:41 UTC
Created attachment 44351 [details]
Repeating Appt that causes large memory problem and large cache
Comment 20 Jon Hammond 2004-10-22 22:01:04 UTC
Got the FC2 packages from the development branch.
(http://mirrors.kernel.org/fedora/core/development/i386/Fedora/RPMS/)

I know this is considered unstable, but I reported it anyway since it
seemed to be happening to others (bug 268246 as well).  BTW.  My cache
has grown to 22meg over the last couple of days (process at 361m
virtual, 305m res, 22m shr)  I have only added 4 appointments since
the last post.  

I am looking into the cache file and finding that one appt in
particular is repeating.  It says there are 9305 appts in there -
based on counting the SUMMARY: or BEGIN:VEVENT lines - 9216 of them
are the one that repeated.  That particular one was an update to a
recurring meeting.  I am going to take the easy way out delete it from
outlook.  Attached is the original appt and its 9216 updates.
(person/email info has been changed)

Comment 21 Bryan Christ 2004-10-27 16:29:07 UTC
Okay the size of my cache.ics for my Exchange calendar is 43,542,175.
 The size for my cache.ics associated with my Exchange "tasks" is 1156.

I have already upgraded to Evolution 2.0.2 and am still seeing the
same problem.  Now I will run it with gdb and try to get a stack trace.

Comment 22 Bryan Christ 2004-10-27 16:48:37 UTC
Backtrace as requested:

Program received signal SIGINT, Interrupt.
[Switching to Thread -151137632 (LWP 27690)]
0x0028b7a2 in _dl_sysinfo_int80 () from /lib/ld-linux.so.2
(gdb) thread apply all bt
 

Thread 12 (Thread -165680208 (LWP 27731))

  • #0 _dl_sysinfo_int80
    from /lib/ld-linux.so.2
  • #1 pthread_cond_wait
    from /lib/tls/libpthread.so.0
  • #2 e_msgport_wait
    from /usr/lib/evolution/2.0/libeutil.so.0
  • #3 e_thread_busy
    from /usr/lib/evolution/2.0/libeutil.so.0
  • #4 start_thread
    from /lib/tls/libpthread.so.0
  • #5 clone
    from /lib/tls/libc.so.6

Thread 11 (Thread -155190352 (LWP 27730))

  • #0 _dl_sysinfo_int80
    from /lib/ld-linux.so.2
  • #1 pthread_cond_wait
    from /lib/tls/libpthread.so.0
  • #2 e_msgport_wait
    from /usr/lib/evolution/2.0/libeutil.so.0
  • #3 e_thread_busy
    from /usr/lib/evolution/2.0/libeutil.so.0
  • #4 start_thread
    from /lib/tls/libpthread.so.0
  • #5 clone
    from /lib/tls/libc.so.6

Thread 10 (Thread 130366384 (LWP 27729))

  • #0 _dl_sysinfo_int80
    from /lib/ld-linux.so.2
  • #1 pthread_cond_wait
    from /lib/tls/libpthread.so.0
  • #2 e_msgport_wait
    from /usr/lib/evolution/2.0/libeutil.so.0
  • #3 e_thread_busy
    from /usr/lib/evolution/2.0/libeutil.so.0
  • #4 start_thread
    from /lib/tls/libpthread.so.0
  • #5 clone
    from /lib/tls/libc.so.6

Thread 9 (Thread 107543472 (LWP 27728))

  • #0 _dl_sysinfo_int80
    from /lib/ld-linux.so.2
  • #1 __read_nocancel
    from /lib/tls/libpthread.so.0
  • #2 do_read
    at camel-stub-marshal.c line 75
  • #3 marshal_read
    at camel-stub-marshal.c line 102
  • #4 marshal_getc
    at camel-stub-marshal.c line 134
  • #5 decode_uint32
    at camel-stub-marshal.c line 162
  • #6 camel_stub_marshal_decode_uint32
    at camel-stub-marshal.c line 231
  • #7 status_main
    at camel-stub.c line 108
  • #8 start_thread
    from /lib/tls/libpthread.so.0
  • #9 clone
    from /lib/tls/libc.so.6

Thread 8 (Thread 86412208 (LWP 27727))

  • #0 _dl_sysinfo_int80
    from /lib/ld-linux.so.2
  • #1 pthread_cond_wait
    from /lib/tls/libpthread.so.0
  • #2 e_msgport_wait
    from /usr/lib/evolution/2.0/libeutil.so.0
  • #3 e_thread_busy
    from /usr/lib/evolution/2.0/libeutil.so.0
  • #4 start_thread
    from /lib/tls/libpthread.so.0
  • #5 clone
    from /lib/tls/libc.so.6

Thread 7 (Thread 28330928 (LWP 27726))

  • #0 _dl_sysinfo_int80
    from /lib/ld-linux.so.2
  • #1 pthread_cond_wait
    from /lib/tls/libpthread.so.0
  • #2 e_msgport_wait
    from /usr/lib/evolution/2.0/libeutil.so.0
  • #3 e_thread_busy
    from /usr/lib/evolution/2.0/libeutil.so.0
  • #4 start_thread
    from /lib/tls/libpthread.so.0
  • #5 clone
    from /lib/tls/libc.so.6

Thread 4 (Thread 58670000 (LWP 27704))

  • #0 _dl_sysinfo_int80
    from /lib/ld-linux.so.2
  • #1 pthread_cond_wait
    from /lib/tls/libpthread.so.0
  • #2 e_cal_set_auth_func
    from /usr/lib/libecal.so.6
  • #3 e_cal_open
    from /usr/lib/libecal.so.6
  • #4 g_static_private_free
    from /usr/lib/libglib-2.0.so.0
  • #5 start_thread
    from /lib/tls/libpthread.so.0
  • #6 clone
    from /lib/tls/libc.so.6

Thread 2 (Thread 119876528 (LWP 27701))

  • #0 _dl_sysinfo_int80
    from /lib/ld-linux.so.2
  • #1 poll
    from /lib/tls/libc.so.6
  • #2 g_main_loop_get_context
    from /usr/lib/libglib-2.0.so.0
  • #3 g_main_context_dispatch
    from /usr/lib/libglib-2.0.so.0
  • #4 g_main_loop_run
    from /usr/lib/libglib-2.0.so.0
  • #5 link_thread_io_context
    from /usr/lib/libORBit-2.so.0
  • #6 g_static_private_free
    from /usr/lib/libglib-2.0.so.0
  • #7 start_thread
    from /lib/tls/libpthread.so.0
  • #8 clone
    from /lib/tls/libc.so.6

Thread 1 (Thread -151137632 (LWP 27690))

  • #0 _dl_sysinfo_int80
    from /lib/ld-linux.so.2
  • #1 _xstat
    from /lib/tls/libc.so.6
  • #2 gal_view_collection_load_view_from_file
    from /usr/lib/libgal-2.2.so.1
  • #3 gal_view_collection_load
    from /usr/lib/libgal-2.2.so.1
  • #4 em_folder_view_open_selected
    from /usr/lib/evolution/2.0/components/libevolution-mail.so
  • #5 em_folder_view_open_selected
    from /usr/lib/evolution/2.0/components/libevolution-mail.so
  • #6 em_folder_browser_show_preview
    from /usr/lib/evolution/2.0/components/libevolution-mail.so
  • #7 em_folder_view_open_selected
    from /usr/lib/evolution/2.0/components/libevolution-mail.so
  • #8 mail_build_attachment
    from /usr/lib/evolution/2.0/components/libevolution-mail.so
  • #9 mail_cancel_all
    from /usr/lib/evolution/2.0/components/libevolution-mail.so
  • #10 g_vasprintf
    from /usr/lib/libglib-2.0.so.0
  • #11 g_main_depth
    from /usr/lib/libglib-2.0.so.0
  • #12 g_main_context_dispatch
    from /usr/lib/libglib-2.0.so.0
  • #13 g_main_context_dispatch
    from /usr/lib/libglib-2.0.so.0
  • #14 g_main_loop_run
    from /usr/lib/libglib-2.0.so.0
  • #15 bonobo_main
    from /usr/lib/libbonobo-2.so.0
  • #16 main

Comment 23 Jon Hammond 2004-10-30 03:37:10 UTC
I have not had the problem since I removed the updates to any
repeating appointments from the outlook side and then deleted the
cache.ics file.  It was simple to identify problem appt in the
cache.ics file by grepping out the summaries (SUMMARY:) that repeat
and looking at the details of any one of them.  Once the appt is
removed, the problem seems to go away.  I am not sure that it won't
come back, but at least there is a workaround.
Comment 24 Dave Malcolm 2004-11-17 03:34:23 UTC
Bryan Christ: is it possible for you to gzip up the massively large
cache.ics and make it available to me for further analysis?  (and this
applies to anyone else seeing this bug who hasn't yet deleted the file
- or took a backup copy).
Comment 25 Steven Ihde 2005-01-11 19:00:56 UTC
I saved my cache file (about 43M) and can make it available to you if
this is still an issue.  I'm running 2.0.3 so I guess this hasn't been
fixed yet.  

I have been experiencing this problem since December when I started
using evolution 2.x.  My cache.ics file has grown to 43M, and caused
evolution-exchange-storage to reach around 600M virtual size before I
killed it (my poor laptop has only 512M).  

After moving the cache file out of the way, it seems to have quiesced
with the cache file size rebuilt at about 3M, and
evolution-exchange-storage at about 44M virtual size.
Comment 26 Steven Ihde 2005-01-11 19:03:45 UTC
I just saw bug 270414 which claims this was fixed in 2.0.3.  It may be
that my corrupted cache file was lying around from before I was
running 2.0.3 and was continuing to cause problems even though the
root cause was fixed.  If I experience the problem I'll update this
bug.  If I don't I'll try to remember to report that too so this bug
can be closed.

If you still want my cache file anyway, contact me.
Comment 27 Steven Ihde 2005-01-12 17:22:52 UTC
OK, I'm an idiot.  I'm still experiencing the problem, but now I see
that bug 270414 does not claim the problem was fixed in 2.0.3 but
rather has a patch that applies to 2.0.3 dated 20 Dec -- since 2.0.3
was released on 7 Dec obviously it isn't fixed in 2.0.3.  I'll try the
patch and stop filling up this bug report with my ramblings.
Comment 28 Poornima 2005-01-25 11:12:17 UTC
Changing state of bug to verified as this memory build up bug has been
fixed in 2.0.3
Comment 29 Bryan Christ 2005-03-08 17:54:54 UTC
I am using Evolution/Connector version 2.1.5 and the bug does indeed
appear to be fixed.