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 688146 - [abrt] Crash in Contacts calendar backend
[abrt] Crash in Contacts calendar backend
Status: RESOLVED FIXED
Product: evolution-data-server
Classification: Platform
Component: Calendar
3.6.x (obsolete)
Other Linux
: Normal critical
: ---
Assigned To: evolution-calendar-maintainers
Evolution QA team
Depends on:
Blocks:
 
 
Reported: 2012-11-12 08:43 UTC by Milan Crha
Modified: 2012-11-13 16:00 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
eds patch (4.61 KB, patch)
2012-11-13 15:56 UTC, Milan Crha
committed Details | Review

Description Milan Crha 2012-11-12 08:43:28 UTC
Moving this from a downstream bug report:
https://bugzilla.redhat.com/show_bug.cgi?id=875325

Description of problem:
I rebooted after the latest yum update, then this happened without any interaction from me.

I'm not sure if it's related, but in User Menu -> System Settings -> Online accounts, it says that the login credentials for my google account have expired. Logging in again still shows that message.


Version-Release number of selected component:
evolution-data-server-3.6.1-1.fc18

Additional info:
libreport version: 2.0.18
abrt_version:   2.0.18
backtrace_rating: 4
cmdline:        /usr/libexec/evolution-calendar-factory
crash_function: g_mutex_get_impl
kernel:         3.6.6-3.fc18.x86_64

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

Thread 1 (Thread 0x7f207187f800 (LWP 1821))

  • #0 g_mutex_get_impl
    at gthread-posix.c line 119
  • #1 g_mutex_lock
    at gthread-posix.c line 208
  • #2 book_record_set_book_view
    at e-cal-backend-contacts.c line 195
  • #3 book_client_opened_cb
    at e-cal-backend-contacts.c line 353
  • #4 g_cclosure_marshal_VOID__BOXEDv
    at gmarshal.c line 1160
  • #5 _g_closure_invoke_va
    at gclosure.c line 840
  • #6 g_signal_emit_valist
    at gsignal.c line 3211
  • #7 g_signal_emit
    at gsignal.c line 3356
  • #8 e_client_emit_opened
    at e-client.c line 869
  • #9 opened_cb
    at e-book-client.c line 406
  • #10 g_closure_invoke
    at gclosure.c line 777
  • #11 signal_emit_unlocked_R
    at gsignal.c line 3551
  • #12 g_signal_emit_valist
    at gsignal.c line 3300
  • #13 g_signal_emit
    at gsignal.c line 3356
  • #14 e_gdbus_proxy_emit_signal
    at e-gdbus-templates.c line 642
  • #15 ffi_call_unix64
    at ../src/x86/unix64.S line 75
  • #16 ffi_call
    at ../src/x86/ffi64.c line 486
  • #17 g_cclosure_marshal_generic
    at gclosure.c line 1454
  • #18 g_closure_invoke
    at gclosure.c line 777
  • #19 signal_emit_unlocked_R
    at gsignal.c line 3589
  • #20 g_signal_emit_valist
    at gsignal.c line 3300
  • #21 g_signal_emit
    at gsignal.c line 3356
  • #22 on_signal_received
    at gdbusproxy.c line 927
  • #23 emit_signal_instance_in_idle_cb
    at gdbusconnection.c line 3715
  • #24 g_main_dispatch
    at gmain.c line 2715
  • #25 g_main_context_dispatch
    at gmain.c line 3219
  • #26 g_main_context_iterate
    at gmain.c line 3290
  • #27 g_main_loop_run
    at gmain.c line 3484
  • #28 dbus_server_run_server
    at e-dbus-server.c line 222
  • #29 ffi_call_unix64
    at ../src/x86/unix64.S line 75
  • #30 ffi_call
    at ../src/x86/ffi64.c line 486
  • #31 g_cclosure_marshal_generic_va
    at gclosure.c line 1550
  • #32 _g_closure_invoke_va
    at gclosure.c line 840
  • #33 g_signal_emit_valist
    at gsignal.c line 3211
  • #34 g_signal_emit
    at gsignal.c line 3356
  • #35 e_dbus_server_run
    at e-dbus-server.c line 396
  • #36 main
    at evolution-calendar-factory.c line 137

Comment 1 Milan Crha 2012-11-13 15:56:25 UTC
Created attachment 228906 [details] [review]
eds patch

for evolution-data-server;

I was able to reproduce this too, the required this is to have the GOA book enabled for Birthdays&Anniversaries calendar and to remove password for it from keyring. Then the opening of the book claims an error and the Contacts backend crashes, because the BookRecord is freed before it's done with it, all that due to a sync call of e_book_client_get_view_sync() being done on the main thread, which is a problem for two reasons:
a) it blocks factory's main thread
b) it leads to this crash
Comment 2 Milan Crha 2012-11-13 16:00:33 UTC
Created commit 2dbc529 in eds master (3.7.2+)
Created commit afe70b3 in eds gnome-3-6 (3.6.3+)