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 634084 - ECal reports loaded state too early
ECal reports loaded state too early
Status: RESOLVED FIXED
Product: evolution-data-server
Classification: Platform
Component: Calendar
2.32.x (obsolete)
Other Linux
: Normal critical
: ---
Assigned To: evolution-calendar-maintainers
Evolution QA team
Depends on:
Blocks:
 
 
Reported: 2010-11-05 14:49 UTC by Milan Crha
Modified: 2010-11-09 09:20 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
eds patch (5.34 KB, patch)
2010-11-08 12:46 UTC, Milan Crha
committed Details | Review

Description Milan Crha 2010-11-05 14:49:02 UTC
Moving this from a downstream bug report:
https://bugzilla.redhat.com/show_bug.cgi?id=650160

abrt version: 1.1.13
architecture: x86_64
Attached file: backtrace
cmdline: /usr/libexec/e-calendar-factory
component: evolution-data-server
crash_function: e_intervaltree_search
executable: /usr/libexec/e-calendar-factory
kernel: 2.6.35.6-48.fc14.x86_64
package: evolution-data-server-2.32.0-3.fc14
rating: 4
reason: Process /usr/libexec/e-calendar-factory was killed by signal 11
(SIGSEGV)
release: Fedora release 14 (Laughlin)
time: 1288960793
uid: 500

Core was generated by `/usr/libexec/e-calendar-factory'.
Program terminated with signal 11, Segmentation fault.

Thread 1 (Thread 10176)

  • #0 e_intervaltree_search
    at e-cal-backend-intervaltree.c line 526
  • #1 e_cal_backend_file_start_query
    at e-cal-backend-file.c line 1891
  • #2 impl_DataCalView_start
    at e-data-cal-view.c line 309
  • #3 _e_gdbus_gdbus_cclosure_marshaller_BOOLEAN__OBJECT
    at e-gdbus-marshallers.c line 202
  • #4 g_closure_invoke
    at gclosure.c line 766
  • #5 signal_emit_unlocked_R
    at gsignal.c line 3252
  • #6 g_signal_emit_valist
    at gsignal.c line 2993
  • #7 g_signal_emit
    at gsignal.c line 3040
  • #8 handle_method_call
    at e-gdbus-egdbuscalview.c line 1078
  • #9 call_in_idle_cb
    at gdbusconnection.c line 4397
  • #10 g_main_dispatch
    at gmain.c line 2149
  • #11 g_main_context_dispatch
    at gmain.c line 2702
  • #12 g_main_context_iterate
    at gmain.c line 2780
  • #13 g_main_loop_run
    at gmain.c line 2988
  • #14 main
    at e-data-cal-factory.c line 922

Comment 1 Milan Crha 2010-11-08 12:46:14 UTC
Created attachment 174053 [details] [review]
eds patch

for evolution-data-server;

I cannot reproduce this myself, but I see what's going on:
a) when opening calendar asynchronously, the ECal reported the load state
   as 'loaded', though it wasn't yet, which caused b)
b) the EIntervalTree has some checking on non-NULL 'tree', but the first thing
   in the public functions was to access its 'priv' member, which lead to
   the crash

This patch is fixing both things.
Comment 2 Milan Crha 2010-11-08 12:48:55 UTC
Created commit 3e433f5 in eds master (2.91.3+)
Created commit c6d844f in eds gnome-2-32 (2.32.1+)