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 536805 - Single event local iCalendar locks Evolution and uses 1GB of memory
Single event local iCalendar locks Evolution and uses 1GB of memory
Status: RESOLVED NOTGNOME
Product: evolution-data-server
Classification: Platform
Component: Calendar
2.28.x (obsolete)
Other All
: High critical
: ---
Assigned To: evolution-calendar-maintainers
Evolution QA team
: 606788 619557 622671 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2008-06-05 13:25 UTC by Ryan Shea
Modified: 2010-06-24 23:51 UTC
See Also:
GNOME target: ---
GNOME version: 2.27/2.28


Attachments
icalendar crash causer (1007 bytes, text/plain)
2008-06-05 13:27 UTC, Ryan Shea
Details

Description Ryan Shea 2008-06-05 13:25:51 UTC
Steps to reproduce:
1. Create a new local calendar in Evolution
2. Log out of Evolution and shutdown EDS
3. Copy my calendar.ics file into the correct ~/.evolution/calendar/local directory
4. Open Evolution and click on Calendar
5. Watch Evolution lock


Stack trace:
---------Ok, this doesn't crash crash - but it locks hard--------------

evolution-data-server-Message: Server up and running
in server_log_handler

(evolution-data-server-2.22:4953): GLib-GObject-WARNING **: value "((ECalSourceTypeEnum) 4)" of type `ECalSourceTypeEnum' is invalid or out of range for property `source-type' of type `ECalSourceTypeEnum'
in server_log_handler

(evolution-data-server-2.22:4953): libecalbackendfile-WARNING **: e-cal-backend-file.c:481: Tried to add an already existing recurrence
in server_log_handler

(evolution-data-server-2.22:4953): libecalbackendfile-WARNING **: e-cal-backend-file.c:481: Tried to add an already existing recurrence
in server_log_handler

(evolution-data-server-2.22:4953): libecalbackendfile-WARNING **: e-cal-backend-file.c:481: Tried to add an already existing recurrence
in server_log_handler

(evolution-data-server-2.22:4953): libecalbackendfile-WARNING **: e-cal-backend-file.c:481: Tried to add an already existing recurrence
in server_log_handler

(evolution-data-server-2.22:4953): libecalbackendfile-WARNING **: e-cal-backend-file.c:481: Tried to add an already existing recurrence
in server_log_handler

(evolution-data-server-2.22:4953): libecalbackendfile-WARNING **: e-cal-backend-file.c:481: Tried to add an already existing recurrence

(evolution-data-server-2.22:4953): libecalbackendhttp-WARNING **:  The component does not have the  mandatory property UID 

impl_GNOME_Evolution_Addressbook_BookFactory_getBook
 + file:///home/ryan/.evolution/addressbook/local/system
 => 0x807b750
impl_GNOME_Evolution_Addressbook_Book_open (0x807b750)

(evolution-data-server-2.22:4953): libedata-book-WARNING **: impl_GNOME_Evolution_Addressbook_Book_getBookView ((contains "x-evolution-any-field" ""))

e_data_book_respond_get_book_view
book_view file uref 

(evolution-data-server-2.22:4953): libecalbackendhttp-WARNING **:  The component does not have the  mandatory property UID 

-------------Here is running evolution on the command line------------
ryan@ultra24:~$ evolution --component calendar

(evolution:4975): libecal-WARNING **: time_t out of range

(evolution:4975): libecal-WARNING **: time_t out of range

(evolution:4975): libecal-WARNING **: time_t out of range

(evolution:4975): libecal-WARNING **: time_t out of range

(evolution:4975): libecal-WARNING **: time_t out of range

(evolution:4975): libecal-WARNING **: time_t out of range

(evolution:4975): libecal-WARNING **: time_t out of range

(evolution:4975): libecal-WARNING **: time_t out of range

(evolution:4975): libecal-WARNING **: time_t out of range

(evolution:4975): libecal-WARNING **: time_t out of range

(evolution:4975): libecal-WARNING **: time_t out of range

(evolution:4975): libecal-WARNING **: time_t out of range

(evolution:4975): calendar-gui-CRITICAL **: e_day_view_add_event: assertion `end > add_event_data->day_view->lower' failed

(evolution:4975): calendar-gui-CRITICAL **: e_day_view_add_event: assertion `end > add_event_data->day_view->lower' failed

(evolution:4975): calendar-gui-CRITICAL **: e_week_view_add_event: assertion `end > add_event_data->week_view->day_starts[0]' failed

(evolution:4975): calendar-gui-CRITICAL **: e_week_view_add_event: assertion `end > add_event_data->week_view->day_starts[0]' failed

(evolution:4975): calendar-gui-CRITICAL **: e_week_view_add_event: assertion `end > add_event_data->week_view->day_starts[0]' failed

(evolution:4975): libecal-WARNING **: time_t out of range



Other information:
I will attach the icalendar file that causes the crash
Comment 1 Ryan Shea 2008-06-05 13:27:13 UTC
Created attachment 112211 [details]
icalendar crash causer

Locally or remotely, a calendar with an event like this will cause Evolution to lock up.
Comment 2 Akhil Laddha 2009-08-25 10:41:38 UTC
ics file attached in comment#1 does the trick even in evolution 2.27.91 ... evolution cpu went high .. when i tried to navigate in different days, evolution crashed.

Memory status: size: 1170194432 vsize: 1170194432 resident: 450633728 share: 31248384 rss: 450633728 rss_rlim: 18446744073709551615
CPU usage: start_time: 1251185307 rtime: 29822 utime: 23527 stime: 6295 cutime:4 cstime: 10 timeout: 0 it_real_value: 0 frequency: 100

Backtrace was generated from '/usr/bin/evolution'

[?1034h[Thread debugging using libthread_db enabled]
[New Thread 0x7fc240bf9950 (LWP 13404)]
[New Thread 0x7fc24be63950 (LWP 13313)]
[New Thread 0x7fc2403f8950 (LWP 13288)]
[New Thread 0x7fc23f3c1950 (LWP 11660)]
[New Thread 0x7fc23fbc2950 (LWP 11659)]
[New Thread 0x7fc2497e5950 (LWP 11656)]
[New Thread 0x7fc24a279950 (LWP 11655)]
[New Thread 0x7fc24aa7a950 (LWP 11653)]
[New Thread 0x7fc24b488950 (LWP 11652)]
[New Thread 0x7fc24d8d4950 (LWP 11649)]
[New Thread 0x7fc24d0d3950 (LWP 11648)]
0x00007fc2659785af in waitpid () from /lib64/libpthread.so.0

Thread 1 (Thread 0x7fc2698267f0 (LWP 11617))

  • #0 waitpid
    from /lib64/libpthread.so.0
  • #1 IA__g_spawn_sync
    at gspawn.c line 382
  • #2 IA__g_spawn_command_line_sync
    at gspawn.c line 694
  • #3 ??
    from /usr/lib64/gtk-2.0/modules/libgnomebreakpad.so
  • #4 ??
    from /usr/lib64/gtk-2.0/modules/libgnomebreakpad.so
  • #5 <signal handler called>
  • #6 e_cal_menu_target_new_select
    at e-cal-menu.c line 144
  • #7 calendar_control_sensitize_calendar_commands
    at calendar-commands.c line 433
  • #8 gcal_calendar_focus_change_cb
    at calendar-commands.c line 534
  • #9 IA__g_closure_invoke
    at gclosure.c line 767
  • #10 signal_emit_unlocked_R
    at gsignal.c line 3247
  • #11 IA__g_signal_emit_valist
    at gsignal.c line 2980
  • #12 IA__g_signal_emit
    at gsignal.c line 3037
  • #13 calendar_focus_change_cb
    at gnome-cal.c line 1160
  • #14 _gtk_marshal_BOOLEAN__BOXED
    at gtkmarshalers.c line 84
  • #15 IA__g_closure_invoke
    at gclosure.c line 767
  • #16 signal_emit_unlocked_R
    at gsignal.c line 3317
  • #17 IA__g_signal_emit_valist
    at gsignal.c line 2990
  • #18 IA__g_signal_emit
    at gsignal.c line 3037
  • #19 gtk_widget_event_internal
    at gtkwidget.c line 4761
  • #20 do_focus_change
    at gtkwindow.c line 5254
  • #21 gtk_window_real_set_focus
    at gtkwindow.c line 5456
  • #22 IA__g_closure_invoke
    at gclosure.c line 767
  • #23 signal_emit_unlocked_R
    at gsignal.c line 3285
  • #24 IA__g_signal_emit_valist
    at gsignal.c line 2980
  • #25 IA__g_signal_emit
    at gsignal.c line 3037
  • #26 model_rows_inserted_cb
    at e-day-view.c line 619
  • #27 IA__g_closure_invoke
    at gclosure.c line 767
  • #28 signal_emit_unlocked_R
    at gsignal.c line 3247
  • #29 IA__g_signal_emit_valist
    at gsignal.c line 2980
  • #30 IA__g_signal_emit
    at gsignal.c line 3037
  • #31 process_added
    at e-cal-model.c line 1582
  • #32 process_event
    at e-cal-model.c line 1757
  • #33 e_cal_view_objects_added_cb
    at e-cal-model.c line 1785
  • #34 IA__g_closure_invoke
    at gclosure.c line 767
  • #35 signal_emit_unlocked_R
    at gsignal.c line 3247
  • #36 IA__g_signal_emit_valist
    at gsignal.c line 2980
  • #37 IA__g_signal_emit
    at gsignal.c line 3037
  • #38 objects_added_cb
    at e-cal-view.c line 79
  • #39 IA__g_closure_invoke
    at gclosure.c line 767
  • #40 signal_emit_unlocked_R
    at gsignal.c line 3247
  • #41 IA__g_signal_emit_valist
    at gsignal.c line 2980
  • #42 IA__g_signal_emit
    at gsignal.c line 3037
  • #43 impl_notifyObjectsAdded
    at e-cal-view-listener.c line 136
  • #44 ORBit_small_invoke_adaptor
    at orbit-small.c line 846
  • #45 ORBit_POAObject_handle_request
    at poa.c line 1357
  • #46 ORBit_POAObject_invoke_incoming_request
    at poa.c line 1427
  • #47 giop_thread_queue_process
    at giop.c line 792
  • #48 giop_recv_buffer_get
    at giop-recv-buffer.c line 713
  • #49 ORBit_small_invoke_stub
    at orbit-small.c line 660
  • #50 Bonobo_Unknown_unref
    from /usr/lib64/libbonobo-activation.so.4
  • #51 bonobo_object_release_unref
    from /usr/lib64/libbonobo-2.so.0
  • #52 e_cal_view_finalize
    at e-cal-view.c line 227
  • #53 IA__g_object_unref
    at gobject.c line 2421
  • #54 update_e_cal_view_for_client
    at e-cal-model.c line 1848
  • #55 redo_queries
    at e-cal-model.c line 2144
  • #56 update_view_times
    at gnome-cal.c line 2222
  • #57 gnome_calendar_on_date_navigator_selection_changed
    at gnome-cal.c line 3698
  • #58 IA__g_closure_invoke
    at gclosure.c line 767
  • #59 signal_emit_unlocked_R
    at gsignal.c line 3247
  • #60 IA__g_signal_emit_valist
    at gsignal.c line 2980
  • #61 IA__g_signal_emit
    at gsignal.c line 3037
  • #62 e_calendar_item_signal_emission_idle_cb
    at e-calendar-item.c line 3423
  • #63 IA__g_main_context_dispatch
    at gmain.c line 1814
  • #64 g_main_context_iterate
    at gmain.c line 2448
  • #65 IA__g_main_loop_run
    at gmain.c line 2656
  • #66 bonobo_main
    from /usr/lib64/libbonobo-2.so.0
  • #67 main
    at main.c line 732


----------- .xsession-errors (144 sec old) ---------------------
Window manager warning: Attempt to perform window operation 26 on window none when operation 26 on none already in effect
Window manager warning: Attempt to perform window operation 26 on window none when operation 26 on none already in effect
Window manager warning: Attempt to perform window operation 26 on window none when operation 26 on none already in effect
Window manager warning: Attempt to perform window operation 26 on window none when operation 26 on none already in effect
Window manager warning: Attempt to perform window operation 26 on window none when operation 26 on none already in effect
Window manager warning: Attempt to perform window operation 26 on window none when operation 26 on none already in effect
Window manager warning: Attempt to perform window operation 26 on window none when operation 26 on none already in effect
Window manager warning: Attempt to perform window operation 26 on window none when operation 26 on none already in effect
Window manager warning: Attempt to perform window operation 26 on window none when operation 26 on none already in effect
Window manager warning: Attempt to perform window operation 26 on window none when operation 26 on none already in effect
Window manager warning: Attempt to perform window operation 26 on window none when operation 26 on none already in effect
Window manager warning: Attempt to perform window operation 26 on window none when operation 26 on none already in effect
Window manager warning: Attempt to perform window operation 26 on window none when operation 26 on none already in effect
Window manager warning: Attempt to perform window operation 26 on window none when operation 26 on none already in effect
Window manager warning: Attempt to perform window operation 26 on window none when operation 26 on none already in effect
--------------------------------------------------
Comment 3 Milan Crha 2009-09-08 17:11:04 UTC
The issue is with
DTSTART;VALUE=X:20070122T000000
removing from it ";VALUE=X" will cause it working as expected.
Based on [1] the VALUE can be omitted, or if used, then either DATE or DATE-TIME
Though the fix should come to libical, which we do not have under control any more (not talking about the issue how and where to fix it).

[1] http://tools.ietf.org/html/rfc2445.html#section-4.8.2.4
Comment 4 Akhil Laddha 2010-01-13 04:47:27 UTC
*** Bug 606788 has been marked as a duplicate of this bug. ***
Comment 5 Akhil Laddha 2010-02-03 06:02:48 UTC
I just got same crash in 2.28.2. I was trying advance search in calendar month view, i cleared search when it didn't give any results and evolution crashed.
Comment 6 Milan Crha 2010-03-25 17:08:43 UTC
I guess the comment #5 is just a coincidence and seems to be unrelated to the original report about having one event causing memory allocation at 1GB and higher. Also note that this part changed heavily in 2.30, that can look differently there.

I sent an email [1] to libical developers [2], and because we cannot do more here, then I'm closing this as NotGnome.

[1] http://sourceforge.net/mailarchive/forum.php?thread_name=1269533853.25920.6.camel%40localhost&forum_name=freeassociation-devel

[2] http://sourceforge.net/mailarchive/forum.php?forum_name=freeassociation-devel
Comment 7 Akhil Laddha 2010-05-25 04:19:20 UTC
*** Bug 619557 has been marked as a duplicate of this bug. ***
Comment 8 Fabio Durán Verdugo 2010-06-24 23:51:18 UTC
*** Bug 622671 has been marked as a duplicate of this bug. ***