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 702276 - Deadlock when connecting to a server
Deadlock when connecting to a server
Status: RESOLVED FIXED
Product: evolution-mapi
Classification: Applications
Component: Mail
3.8.x
Other Linux
: Normal critical
: ---
Assigned To: evolution-mapi-maint
evolution-mapi-maint
Depends on:
Blocks:
 
 
Reported: 2013-06-14 16:03 UTC by Milan Crha
Modified: 2013-06-14 18:35 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
ema patch (716 bytes, patch)
2013-06-14 16:05 UTC, Milan Crha
committed Details | Review

Description Milan Crha 2013-06-14 16:03:48 UTC
Part of downstream bug report:
https://bugzilla.redhat.com/show_bug.cgi?id=969905

The below shows a deadlock when connecting to a server. Despite missing debug info, the Thread 9 is waiting for a lock held by Thread 8.

Thread 9 (Thread 0x7f261c623700 (LWP 1881))

  • #0 __lll_lock_wait
    from /lib64/libpthread.so.0
  • #1 _L_lock_839
    from /lib64/libpthread.so.0
  • #2 pthread_mutex_lock
    from /lib64/libpthread.so.0
  • #3 mapi_authenticate_sync
    from /usr/lib64/evolution-data-server/camel-providers/libcamelmapi.so
  • #4 camel_service_authenticate_sync
    from /lib64/libcamel-1.2.so.43
  • #5 mail_authenticator_try_password_sync
    from /usr/lib64/evolution/3.8/libemail-engine.so
  • #6 source_registry_authenticate_authenticate_cb
    from /lib64/libedataserver-1.2.so.17
  • #7 ffi_call_unix64
    from /lib64/libffi.so.6
  • #8 ffi_call
    from /lib64/libffi.so.6
  • #9 g_cclosure_marshal_generic
    from /lib64/libgobject-2.0.so.0
  • #10 g_closure_invoke
    from /lib64/libgobject-2.0.so.0
  • #11 signal_emit_unlocked_R
    from /lib64/libgobject-2.0.so.0
  • #12 g_signal_emitv
    from /lib64/libgobject-2.0.so.0
  • #13 e_dbus_authenticator_proxy_g_signal
    from /lib64/libebackend-1.2.so.6
  • #14 ffi_call_unix64
    from /lib64/libffi.so.6
  • #15 ffi_call
    from /lib64/libffi.so.6
  • #16 g_cclosure_marshal_generic
    from /lib64/libgobject-2.0.so.0
  • #17 g_closure_invoke
    from /lib64/libgobject-2.0.so.0
  • #18 signal_emit_unlocked_R
    from /lib64/libgobject-2.0.so.0
  • #19 g_signal_emit_valist
    from /lib64/libgobject-2.0.so.0
  • #20 g_signal_emit
    from /lib64/libgobject-2.0.so.0
  • #21 on_signal_received
    from /lib64/libgio-2.0.so.0
  • #22 emit_signal_instance_in_idle_cb
    from /lib64/libgio-2.0.so.0
  • #23 g_main_context_dispatch
    from /lib64/libglib-2.0.so.0
  • #24 g_main_context_iterate.isra.22
    from /lib64/libglib-2.0.so.0
  • #25 g_main_loop_run
    from /lib64/libglib-2.0.so.0
  • #26 e_source_registry_authenticate_sync
    from /lib64/libedataserver-1.2.so.17
  • #27 mail_session_authenticate_sync
    from /usr/lib64/evolution/3.8/libemail-engine.so
  • #28 camel_session_authenticate_sync
    from /lib64/libcamel-1.2.so.43
  • #29 mapi_connect_sync
    from /usr/lib64/evolution-data-server/camel-providers/libcamelmapi.so
  • #30 service_connect_thread
    from /lib64/libcamel-1.2.so.43
  • #31 run_in_thread
    from /lib64/libgio-2.0.so.0
  • #32 io_job_thread
    from /lib64/libgio-2.0.so.0
  • #33 g_task_thread_pool_thread
    from /lib64/libgio-2.0.so.0
  • #34 g_thread_pool_thread_proxy
    from /lib64/libglib-2.0.so.0
  • #35 g_thread_proxy
    from /lib64/libglib-2.0.so.0
  • #36 start_thread
    from /lib64/libpthread.so.0
  • #37 clone
    from /lib64/libc.so.6

Comment 1 Milan Crha 2013-06-14 16:05:33 UTC
Created attachment 246822 [details] [review]
ema patch

for evolution-mapi;

Patch to avoid deadlock.
Comment 2 Milan Crha 2013-06-14 18:35:38 UTC
Created commit 4cf0578 in ema master (3.9.3+)
Created commit fdc7aea in ema gnome-3-8 (3.8.4+)