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 669108 - Deadlock in offline/online
Deadlock in offline/online
Status: RESOLVED FIXED
Product: evolution-data-server
Classification: Platform
Component: Mailer
3.4.x (obsolete)
Other Linux
: Normal major
: ---
Assigned To: evolution-mail-maintainers
Evolution QA team
evolution[imapx]
Depends on:
Blocks:
 
 
Reported: 2012-01-31 11:52 UTC by Akhil Laddha
Modified: 2013-09-14 16:55 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Akhil Laddha 2012-01-31 11:52:47 UTC
Evolution 3.3.5

1. clicked on send/receive
2. network went down, evolution showed message about network outage
3. network came back, evolution didn't remove network outage message though it was trying to fetch messages and status bar showed that evolution is online

gdb trace of evolution

Thread 193 (Thread 0xa59a0b70 (LWP 13735))

  • #0 pthread_cond_wait
    at ../nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S line 170
  • #1 g_static_rw_lock_wait
    at gthread.c line 2330
  • #2 g_static_rw_lock_wait
    at gthread.c line 2359
  • #3 g_static_rw_lock_reader_lock
    at gthread.c line 2369
  • #4 imapx_conn_manager_lookup_info
    at camel-imapx-conn-manager.c line 245
  • #5 imapx_conn_shutdown
    at camel-imapx-conn-manager.c line 418
  • #6 g_cclosure_marshal_VOID__VOID
    at gmarshal.c line 85
  • #7 g_closure_invoke
    at gclosure.c line 774
  • #8 signal_emit_unlocked_R
    at gsignal.c line 3272
  • #9 g_signal_emit_valist
    at gsignal.c line 3003
  • #10 g_signal_emit
    at gsignal.c line 3060
  • #11 imapx_parser_thread
    at camel-imapx-server.c line 4898
  • #12 g_thread_create_proxy
    at gthread.c line 1962
  • #13 start_thread
    at pthread_create.c line 301
  • #14 clone
    at ../sysdeps/unix/sysv/linux/i386/clone.S line 133

Thread 2 (Thread 0xb5e42b70 (LWP 13512))

  • #0 read
    at ../sysdeps/unix/syscall-template.S line 82
  • #1 read
    at /usr/include/bits/unistd.h line 45
  • #2 unix_signal_helper_thread
    at gmain.c line 4551
  • #3 g_thread_create_proxy
    at gthread.c line 1962
  • #4 start_thread
    at pthread_create.c line 301
  • #5 clone
    at ../sysdeps/unix/sysv/linux/i386/clone.S line 133

Comment 1 Milan Crha 2012-02-03 13:52:26 UTC
Thread 209 (Thread 0xa51a0b70 (LWP 13848)): is waiting for a finish of Thread 193, which is waiting for a conn-manager lock or something.

I heard from Matthew about some issues with IMAPX, which he is addressing. This one sounds like one of them.
Comment 2 Matthew Barnes 2012-02-03 16:33:46 UTC
Yeah, CamelIMAPXConnManager was using One Big Lock for everything and constantly getting deadlocked with CamelIMAPXServer.

Since this bug was filed I've changed CamelIMAPXConnManager to use much finer grained locking, so it's worth a retest with the latest code.
Comment 3 Akhil Laddha 2012-02-06 09:34:17 UTC
Cann't reproduce with Evolution 3.3.90. Thanks for the fix.